ТОП 10:

ЛАБОРАТОРНАЯ РАБОТА № 5 2011



ЛАБОРАТОРНАЯ РАБОТА № 5 2011

ОРГАНИЗАЦИЯ ФАЙЛОВОЙ СИСТЕМЫ ОС LINUX

Цель работы – практическое знакомство с организацией данных основной файловой системы ОС Linux и используемыми утилитами.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Файл

Данные, хранящиеся на любом носителе, образуют файл Linux. Более того, многие устройства, подключенные к компьютеру (начиная с клавиатуры и заканчивая любыми внешними устройствами), Linux представляет как файлы (так называемые специальные файлы). В Linux определено несколько различных типов файлов. В основном пользователь имеет дело с файлами трех типов: обычными файлами, предназначенными для хранения данных, каталогами и файлами-ссылками.

Система файлов: каталоги

Файловая система имеет иерархическую структуру. Linux может работать с различными типами файловых систем. В этой работе будут описаны возможности файловых систем Ext2/Ext3. В файловой системeExt2 каждый каталог - это отдельный файл особого типа ("d", от англ. "directory"), отличающийся от обычного файлас данными: в нем могут содержаться только ссылки на другие файлыикаталоги.

Допустимые имена файлов и каталогов

Linux всегда различает заглавные и строчные буквы в именах файлов и каталогов, поэтому "student", "Student" и "STUDENT" будут тремя разными именами.

Есть несколько символов, допустимых в именах файлов и каталогов, которые нужно использовать с осторожностью. Это спецсимволы "*", "\", "&", "<", ">", ";", "(", ")", "|", а также символы пробела и табуляции.

 

Кодировки и раcширения

В Linux в именах файлов и каталогов допустимо использовать не только символы латинского алфавита, но и любые символы любого языка.

В файловой системеLinux нет никаких предписаний по поводу расширения: в имени файла может быть любое количество точек (в том числе ни одной), а после последней точки может стоять любое количество символов. Хотя расширения не обязательны, они широко используются: расширение позволяет программе, не открывая файл, только по его имени определить, какого типа данные в нем содержатся. Определить тип содержимого файла можно и на основании самих данных (сигнатур). Многие форматы предусматривают указание в начале файла, как следует интерпретировать дальнейшую информацию.

В Linux есть утилита file, которая предназначена для определения типа содержащихся в файле данных. Эта утилита никогда не доверяет расширению файла (если оно присутствует), а анализирует сами данные. file различает не только разные данные, но и разные типы файлов.

Дерево каталогов

В большинстве современных файловых систем используется иерархическая модель организации данных: существует один каталог, объединяющий все данные в файловой системе - это "корень" всей файловой системы, корневой каталог. Корневой каталог может содержать любые объекты файловой системы, и в частности, подкаталоги. Подкаталоги также могут содержать любые объекты файловой системы и подкаталоги и т. д. Таким образом, все, что записано на диске - файлы, каталоги и специальные файлы - обязательно "принадлежит" корневому каталогу: либо непосредственно (содержится в нем), либо на некотором уровне вложенности.

Структуру файловой системы можно представить наглядно в виде дерева, "корнем" которого является корневой каталог, а в вершинах расположены все остальные каталоги. На рис. 1 изображено дерево каталогов, курсивом обозначены имена файлов, прямым начертанием - имена каталогов.

Рис. 1. Дерево каталогов в Linux

В любой файловой системе Linux всегда есть только один корневой каталог, который называется "/". Пользователь Linux всегда работает с единым деревом каталогов, даже если разные данные расположены на разных носителях: жестких или сетевых дисках, съемных дисках, CD-ROM и т. п. Такое представление отличается от технологии, применяемой в Windows, где для каждого устройства, на котором есть файловая система, используется свой корневой каталог, обозначенный литерой, например "a", "c", "d" и т. д. Для того чтобы отключать и подключать файловые системы на разных устройствах в состав одного общего дерева, используются процедуры монтирования и размонтирования. После того, как файловые системы на разных носителях подключены к общему дереву, содержащиеся на них данные доступны так, как если бы все они составляли единую файловую систему: пользователь может даже не знать, на каком устройстве какие файлы хранятся.

Положение любого каталога в дереве каталогов описывается при помощи полного пути. Полный путь всегда начинается от корневого каталога и состоит из перечисления всех вершин, встретившихся при движении по ветвям дерева до искомого каталога включительно. Названия соседних вершин разделяются символом "/" ("слэш"). В Linux полный путь, например, до каталога "methody" в файловой системе, приведенной на рис. 1, записывается следующим образом /home/methody.

 

Текущий каталог

Каждая выполняемая программа "работает" в строго определенном каталоге файловой системы. Такой каталог называется текущим каталогом. Можно представлять, что программа во время работы "находится" именно в этом каталоге, это ее "рабочее место". В зависимости от текущего каталога поведение программы может меняться: зачастую программа будет по умолчанию работать с файлами, расположенными именно в текущем каталоге - до них она "дотянется" в первую очередь. Текущий каталог есть у любой программы, в том числе и у командной оболочки (shell) пользователя. Поскольку пользователь взаимодействует с системой через командную оболочку, можно говорить о том, что пользователь "находится" в том каталоге, который в данный момент является текущим каталогом его команднойоболочки.

Все команды, выполняемые пользователем при помощи shell, наследуют текущий каталог shell, т. е. "работают" в том же каталоге. По этой причине пользователю важно знать текущий каталог shell. Для этого служит утилита pwd:

Команда pwd (print working directory) возвращает полный путь текущего каталога командной оболочки - естественно, именно той командной оболочки, при помощи которой была выполнена команда pwd.

Почти все утилиты по умолчанию читают и создают файлы в текущем каталоге. Например, утилита cat (concatenation – конкатенация) - выводит на экран содержимое файла "text":

[student@localhost student]$ cat text

 

В действительности, командная оболочка, прежде чем передавать параметр "text" (имя файла) утилите cat, подставляет значение текущего каталога - получается полный путь к этому файлу в файловой системе: "/home/student/text". Содержимое данного файла утилита cat выведет на экран.

Относительный путь(relative path) - путь к объекту файловой системы, не начинающийся в корневом каталоге. Для каждого процесса Linux определен текущий каталог, с которого система начинает относительный путь при выполнении файловых операций.

Относительный путь строится точно так же, как и полный - перечислением через "/" всех названий каталогов, встретившихся при движении к искомому каталогу или файлу. Между полным и относительным путем есть только одно существенное различие: относительный путь начинается от текущего каталога, в то время как полный путь всегда начинается от корневого каталога. Относительный путь любого файла или каталога в файловой системе может иметь любую конфигурацию - чтобы добраться до искомого файла, можно двигаться как по направлению к корневому каталогу, так и от него. Linux различает полный и oтносительный пути очень просто: если имя объекта начинается на "/" - это полный путь, в любом другом случае - относительный.

Отделить путь к файлу от его имени можно с помощью команд dirname и basename соответственно.

Домашний каталог

В Linux у каждого пользователя обязательно есть собственный каталог, который и становится текущим сразу после регистрации в системе - домашний каталог.

Домашний каталог (home directory) - это каталог, предназначенный для хранения собственных данных пользователя Linux. Как правило, является текущим непосредственно после регистрации пользователя в системе. Полный путь к домашнему каталогу хранится в переменной окружения HOME. Имя домашнего каталога ~

Поскольку каждый пользователь располагает собственным каталогом и по умолчанию работает в нем, решается задача разделения файлов разных пользователей. Обычно доступ других пользователей к чужому домашнему каталогу ограничен: наиболее типична ситуация, когда пользователи могут читать содержимое файлов друг друга, но не имеют права их изменять или удалять.

 

Файл и его имена: ссылки

Жесткие ссылки – утилита ln

Каждый файл представляет собой область данных на жестком диске компьютера или на другом носителе информации, которую можно найти по имени. В файловой системе Linux содержимое файла связывается с его именем при помощи жестких ссылок. Создание файла с помощью любой программы означает, что будет создана жесткая ссылка - имя файла, и открыта новая область данных на диске. Причем количество ссылок на одну и ту же область данных (файл) не ограничено, то есть у файла может быть несколько имен.

Пользователь Linux может добавить файлу еще одно имя (создать еще одну жесткую ссылку на файл) при помощи утилиты ln (от англ. "link" - "соединять, связывать"). Первый параметр - это имя файла, на который нужно создать ссылку, второй - имя новой ссылки. По умолчанию ссылка будет создана в текущем каталоге:

Пример 2. Создание жестких ссылок

[student@localhost ~]$ ln text text-hardlink

 

В примере 2 в домашнем каталоге пользователя student создана жесткая ссылка с именем "text-hardlink" на файл "text". Если вывести подробный список файлов текущего каталога и его подкаталогов ("ls -lR"), то у файлов "text" и "text-hardlink" совпадут и размер, и время создания. Теперь "text-hardlink" и "text" - это два имени одного и того же файла.

Доступ к одному и тому же файлу при помощи нескольких имен может понадобиться в следующих случаях:

  1. Одна и та же программа известна под несколькими именами.
  2. Доступ пользователей к некоторым каталогам в системе может быть ограничен из соображений безопасности. Однако если все же нужно организовать доступ пользователей к файлу, который находится в таком каталоге, можно создать жесткую ссылку на этот файл в другом каталоге.
  3. Современные файловые системы даже на домашних персональных компьютерах могут насчитывать до нескольких десятков тысяч файлов и тысячи каталогов. Обычно у таких файловых систем сложная многоуровневая иерархическая организация - в результате пути ко многим файлам становятся очень длинными. Чтобы организовать более удобный доступ к файлу, который находится очень "глубоко" в иерархии каталогов, также можно использовать жесткую ссылку в более доступном каталоге.
  4. Полное имя некоторых программ может быть весьма длинным (например, i586-alt-linux-gcc-3.3), к таким программам удобнее обращаться при помощи сокращенного имени (жесткой ссылки) - gcc-3.3.

Индексные дескрипторы

 

Поскольку благодаря жестким ссылкам у файла может быть несколько имен, понятно, что вся существенная информация о файле в файловой системе привязана не к имени. В файловых системах Linux вся информация, необходимая для работы с файлом, хранится в индексном дескрипторе. Для каждого файла существует индексный дескриптор: не только для обычных файлов, но и для каталогов, файлов-дырок и т. д. Каждому файлу соответствует один индексный дескриптор.

Индексный дескриптор - это описание файла, в котором содержится:

· тип файла (обычный файл, каталог, специальный файл и т. д.);

· права доступа к файлу;

· информация о том, кому принадлежит файл;

· отметки о времени создания, модификации, последнего доступа к файлу;

· размер файла;

· указатели на физические блоки на диске, принадлежащие этому файлу - в этих блоках хранится "содержимое" файла.

Все индексные дескрипторы пронумерованы, поэтому номер индексного дескриптора - это уникальный идентификатор файла в файловой системе - в отличие от имени файла (жесткой ссылки на него), которых может быть несколько. Узнать номер индексного дескриптора любого файла можно при помощи утилиты ls с ключом –i

Если вывести номера индексных дескрипторов файла "text" и жесткой ссылки на него "text-hardlink" – можно увидеть, что эти номера совпадают, то есть этим двум именам соответствует один индексный дескриптор, т. е. один и тот же файл.

Все операции с файловой системой - создание, удаление и перемещение файлов - производятся на самом деле над индексными дескрипторами, а имена нужны только для того, чтобы пользователь мог легко ориентироваться в файловой системе. Более того, имя (или имена) файла в его индексном дескрипторе не указаны. В файловой системе Ext2 имена файлов хранятся в каталогах: каждый каталог представляет собой список имен файлов и номеров их индексных дескрипторов. Жесткую ссылку (имя файла, хранящееся в каталоге) можно представлять как каталожную карточку, на которой указан номер индексного дескриптора - идентификатор файла.

Жесткая ссылка (hard link) - запись вида имя файла+номер индексного дескриптора в каталоге. Жесткие ссылки в Linux - основной способ обратиться к файлу по имени.

Символьные ссылки

У жестких ссылок есть два существенных ограничения:

1. Жесткая ссылка может указывать только на файл, но не на каталог, потому что в противном случае в файловой системе могут возникнуть циклы - бесконечные пути.

2. Жесткая ссылка не может указывать на файл в другой файловой системе. Например, невозможно создать на жестком диске жесткую ссылку на файл, расположенный на дискете. Чтобы избежать этих ограничений, были разработаны символьные ссылки. Cимвольная ссылка - это просто файл, в котором содержится имя другого файла. Cимвольные ссылки, как и жесткие, предоставляют возможность обращаться к одному и тому же файлу по разным именам. Кроме того, символьные ссылки могут указывать и на каталог, чего не позволяют жесткие ссылки. Символьные ссылки называются так потому, что содержат символы - путь к файлу или каталогу.

Cимвольная ссылка (symbolic link, файл-ссылка) - это файл особого типа ("l"), в котором содержится путь к другому файлу. Если на пути к файлу встречается cимвольная ссылка, система выполняет подстановку: исходный путь заменяется тем, что содержится в ссылке.

Cимвольную ссылку можно создать при помощи команды ln с ключом "-s" (сокращение от "symbolic").

Если выполнить команду cat имя_файла-ссылки, то на экран будет выведено содержимое файла, на который указывает ссылка.

Символьная ссылка вполне может содержать имя несуществующего файла. В этом случае ссылка будет существовать, но не будет "работать": например, если попробовать вывести содержимое такой "битой" ссылки при помощи команды cat, будет выдано сообщение об ошибке. Узнать, куда указывает символьная ссылка, можно при помощи утилиты realpath.

Идентификатор пользователя

Говоря о правах доступа пользователя к файлам, заметим, что в действительности манипулирует файлами не сам пользователь, а запущенный им процесс (например, утилита rm или cat). Поскольку и файл, и процесс создаются и управляются системой, ей нетрудно организовать какую угодно политику доступа одних к другим, основываясь на любых свойствах процессов как субъектов и файлов как объектов системы.

В Linux, однако, используются не какие угодно свойства, а результат идентификации пользователя – его UID. Каждый процесс системы обязательно принадлежит какому-нибудь пользователю, и идентификатор пользователя (UID) – обязательное свойство любого процесса Linux. Когда программа login запускает стартовый командный интерпретатор, она приписывает ему UID, полученный в результате диалога. Обычный запуск программы (exec()) или порождение нового процесса (fork()) не изменяют UIDпроцесса, поэтому все процессы, запущенные пользователем во время терминальной сессии, будут иметь его идентификатор.

Поскольку UID однозначно определяется входным именем, оно нередко используется вместо идентификатора – для наглядности. Например, вместо выражения "идентификатор пользователя, соответствующий входному имени student", говорят "UID student" (в приведенном ниже примере этот идентификатор равен 500):

Пример 3. Как узнать идентификаторы пользователя и членство в группах

[student@localhost student]$ id uid=500 (student) gid=500(student) группы=500 (student)

 

Утилита id выводит входное имя пользователя и соответствующий ему UID, а также группу по умолчанию и полный список групп, членом которых он является.


Идентификатор группы

 

Пользователь может быть членом нескольких групп, равно как и несколько пользователей могут быть членами одной и той же группы. Исторически сложилось так, что одна из групп – группа по умолчанию – является для пользователя основной - когда говорят о "GID пользователя", имеют в виду именно идентификатор группы по умолчанию. GID пользователя вписан в учетную запись и хранится в /etc/passwd, а информация о соответствии имен групп их идентификаторам, равно как и о том, в какие еще группы входит пользователь – в файле /etc/group. Из этого следует, что пользователь не может не быть членом как минимум одной группы.

Иерархия прав доступа

Рассмотрим более подробно, чему соответствуют девять символов в строке атрибутов, выдаваемой ls. Эти девять символов имеют вид "rwxrwxrwx", где некоторые "r", "w" и "x" могут заменяться на "-". Очевидно, буквы отражают принятые в Linux три вида доступа – чтение, запись и использование – однако в ярлыке они присутствуют в трех экземплярах!

Дело в том, что любой пользователь (процесс) Linux по отношению к любому файлу может выступать в трех ролях: как хозяин (user), как член группы, которой принадлежит файл (group), и как посторонний (other), никаких отношений собственности на этот файл не имеющий. Строка атрибутов – это три тройки "rwx", описывающие права доступа к файлу хозяина этого файла (первая тройка, "u"), группы, которой принадлежит файл (вторая тройка, "g") и посторонних (третья тройка, "o"). Если в какой-либо тройке не хватает буквы, а вместо нее стоит "-", значит, пользователю в соответствующей роли будет в соответствующем виде доступа отказано.

При выяснении отношений между файлом и пользователем, запустившим процесс, роль определяется так:

1. Если UID файла совпадает с UID процесса, пользователь – хозяин файла

2. Если GID файла совпадает с GID любой группы, в которую входит пользователь, он – член группы, которой принадлежит файл.

3. Если ни UID, ни GID файла не пересекаются с UID процесса и списком групп, в которые входит запустивший его пользователь, этот пользователь – посторонний.

Именно в роли хозяина пользователь (процесс) может изменять ярлык файла. Единственное, чего не может делать хозяин со своим файлом – менять ему хозяина.

Права доступа изменяются с помощью трех команд: chown (change owner, сменить владельца), chgrp (change group, сменить группу) и chmod с расширенным форматом параметра: перед частью, определяющей доступ (перед знаком "+" или "-"), могут быть перечислены роли "u", "g", "o" и "a" (all, что соответствует "ugo"), доступ для которых изменяется. Кроме того, при задании доступа можно вместо "+" и "-" использовать "=", тогда для заданных ролей указанные способы доступа разрешаются, а неуказанные – запрещаются. Вместо пары команд chown хозяин файл; chgrp группа файл можно применять одну: chown хозяин:группа файл, которая изменяет одновременно и UID, и GID файла (каталога, ссылки и т. п.).

Определение прав доступа процесса к объекту файловой системы (например, файла) происходит так. Используя UID процесса, список групп, в которые входит пользователь, запустивший этот процесс, UID файла и GID файла, система определяет роль процесса по отношению к файлу, а затем обращается к соответствующей тройке атрибутов файла. Процесс не может выступать сразу в нескольких ролях.

 

Использование групп

В Linux определено несколько системных групп, задача которых – обеспечивать доступ членов этих групп к разнообразным ресурсам системы. Часто такие группы носят говорящие названия: "disk", "audio", "cdwriter" и т. п. Если обычным пользователям доступ к некоторому файлу, каталогу или специальному файлу Linux закрыт, он открыт членам группы, которой этот объект принадлежит.

Например, в Linux почти всегда используется виртуальная файловая система /proc – каталог, в котором в виде подкаталогов и файлов представлена информация из таблицы процессов. Имя подкаталога /proc совпадает с PID соответствующего процесса, а содержимое этого подкаталога отражает свойства процесса. Хозяином такого подкаталога будет хозяин процесса (с правами на чтение и использование), поэтому любой пользователь сможет посмотреть информацию о своих процессах. Именно каталогом /proc пользуется утилита ps. Использование утилиты ps для просмотра выполняющихся процессов Linux рассматривается в работе “Процессы ОС Linux“.

Биты setuid и setgid

Биты, которым в коде доступа соответствуют восьмеричные значения 4000 и 2000, - это биты смены идентификатора пользователя (setuid) и смены идентификатора группы (setgid). Будучи установленными для исполняемых файлов, они позволяют программам получать доступ к файлам и процессам, которые при прочих обстоятельствах недоступны пользователю, выполняющему эти программы. Если запускается исполняемый файл, у которого установлен один из этих битов, то эффективными идентификаторами создаваемого процесса становятся идентификаторы владельца файла. Смена полномочий действительна только на время работы программы.

Бит setuid позволяет обычным пользователям выполнять программы, выполняющие жестко регламентированные административные действия. Например, команда passwd изменения пароля обращается к файлу /etc/shadow, принадлежащему суперпользователю, вследствие чего у нее установлен бит setuid.

Суперпользователь

Суперпользователь - единственный пользователь в Linux, на которого не распространяются ограничения прав доступа. Имеет нулевой идентификатор пользователя.

Суперпользователь в Linux – это выделенный пользователь системы, на которого не распространяются ограничения прав доступа. UID суперпользовательских процессов равен 0: так система отличает их от процессов других пользователей. Именно суперпользователь имеет возможность произвольно изменять владельца и группу файла. Ему открыт доступ на чтение и запись к любому файлу системы и доступ на чтение, запись и использование к любому каталогу. Наконец, суперпользовательский процесс может на время сменить свой собственный UID с нулевого на любой другой. Именно так и поступает программа login, когда, проведя процедуру идентификации пользователя, запускает стартовый командный интерпретатор.

Среди учетных записей Linux всегда есть запись по имени root ("корень"), соответствующая нулевому идентификатору, поэтому вместо "суперпользователь" часто говорят "root". Множество системных файлов принадлежат root, множество файлов только ему доступны на чтение или запись. Пароль этой учетной записи – одна из самых больших драгоценностей системы. Именно с ее помощью системные администраторы выполняют самую ответственную работу. Свойство root иметь доступ ко всем ресурсам системы накладывает очень высокие требования на человека, знающего пароль root. Суперпользователь может все – в том числе и все поломать, поэтому любую работу стоит вести с правами обычного пользователя, а к правам root прибегать только по необходимости.

Существует два различных способа получить права суперпользователя. Первый – это зарегистрироваться в системе под этим именем, ввести пароль и получить стартовую оболочку, имеющую нулевой UID. Это – самый неправильный способ, пользоваться которым стоит, только если нельзя применить другие. Что в этом случае выдаст команда last? Что тогда-то с такой-то консоли в систему вошел неизвестно кто с правами суперпользователя и что-то там такое делал. С точки зрения системного администратора, это очень подозрительное событие, особенно если сам он в это время к указанной консоли не подходил... Сами администраторы такого способа избегают.

Второй способ —воспользоваться специальной утилитой su (shell of user), которая позволяет выполнить одну или несколько команд от лица другого пользователя. По умолчанию эта утилита выполняет команду sh от лица пользователя root, то есть запускает командный интерпретатор с нулевым UID. Отличие от предыдущего способа – в том, что всегда известно, кто именно запускал su, а значит, ясно, с кого спрашивать за последствия. Утилита su запускается без аргументов и запрашивает пароль администратора. Если пароль введен правильно, пользователь получает права администратора.

Для возврата к режиму пользователя следует использовать команду su имя_пользователя. Пароль пользователя не требуется.

 

Поиск файлов

Для поиска файла по имени или его части используется утилита locate. Параметр задает имя файла. Для поиска без учета регистра служит ключ –i.

Для ограничения объема выводимой информации используется ключ –n число. Построчный вывод получается, если результаты поиска направить по конвейеру в программу less, например

locate mp3 | less

Утилита locate ведет поиск в базе данных, которая должна периодически обновляться утилитой updatedb, выполняемой с правами администратора.

Другой способ найти файл предоставляет утилита find.Ее ключи приведены в таблице 1.

Таблица 1.Ключи утилиты find

 

Ключ Назначение
-name Задает имя файла или его часть
-size Задает размер файла, например 12k
-type Задает тип объекта для поиска: f-обычный файл d-каталог l-символьная ссылка
-a Логическая связка and
-o Логическая связка or
-user Задает имя пользователя

 

 

Достоинствами утилиты find являются независимость от базы данных и широкие функциональные возможности, недостаток – меньшая скорость поиска по сравнению с locate.

 


 

2. МЕТОДИКА ВЫПОЛНЕНИЯ

1. Ознакомиться с теоретическими сведениями.

2. Запустить виртуальную машину.

3. Выбрать виртуальную машину и запустить ее

4. После загрузки ОС Linux и запроса имени ввести имя и пароль пользователя. Имя и пароль суперпользователя при запуске ОС Linux использовать не рекомендуется (см. теоретические сведения).

5. По окончании загрузки ОС запустить терминал.

 

Для освобождения курсора и перехода в окно Windows используйте правый Alt

 

Все задания работы желательно выполнить в режиме командной строки с помощью терминала. Допустимо использовать и графические утилиты и менеджер файлов mc.

 

Рисунок 2 Вид менеджера файлов midnight commander, запущенного командой консоли mc.

Правая панель отображает содержимое корневого каталога /

 

 

Задания

 

1. Создать в домашнем каталоге следующую структуру подкаталогов (существующие каталоги не удалять!):

2. Скопировать файл /etc/group в каталоги 1, 2, 3 и 4 используя абсолютные имена копируемого файла и каталога назначения.

3.С помощью утилиты file вывести на экран сведения о 3 - 4 различных файлах (в том числе из каталогов /bin и /dev).

4.Выполнить команду ls –l /dev

Используя таблицу 2 обозначений типов файлов

 

Таблица 2. Обозначения типов файлов

Символ Тип файла
d Каталог
l Символьная ссылка
s Сокет
b Блочное устройство
c Символьное устройство
p Именованный канал

перечислить типы файлов, хранящихся в каталоге /dev

5.Используя справочную систему, ознакомиться с ключами утилиты ls

-R, -1 (единица), -m, --color, ключи, определяющие порядок вывода на экран

6. Создать жесткую и символическую ссылки для одного из созданных в п.2 файлов.

 

Рекомендуемые индивидуальные задания для бригад

Таблица 3

Номер бригады Задание
1.Вывести список имен файлов из /var, используя ключ –l Список упорядочить по размерам файлов. 2. Найти файлы, имена которых оканчиваются на pdf
1.Вывести список имен файлов из /bin, используя ключ –l Список упорядочить по датам создания 2. Найти файлы, имена которых оканчиваются на jpg
1.Вывести список имен файлов из /sbin, используя ключ –l Список упорядочить по именам 2. Найти файлы, размеры которых превышают 25к (запись +25k)
1.Вывести список имен файлов из /tmp, используя ключ –l Список упорядочить по именам 2. Найти файлы, имена которых оканчиваются на text
1.Вывести список имен файлов из /usr, используя ключ –l Список упорядочить по размерам файлов. 2. Найти файлы, имена которых оканчиваются на jpg и размеры более 1к
1. Вывести список имен файлов из /bin, используя ключ –l Список упорядочить по датам создания 2. Найти файлы, размеры которых превышают 15к (запись +15k)
1.Вывести список имен файлов из /usr, используя ключ –l Список упорядочить по размерам файлов. 2. Найти файлы, размеры которых превышают 25к (запись +25k) и имена начинаются на s
1. Вывести список имен файлов из /var, используя ключ –l Список упорядочить по датам создания 2. Найти файлы, размеры которых превышают 25к (запись +25k) и имена начинаются на s, а заканчиваются на jpg
1. Вывести список имен файлов из /sbin, используя ключ –l Список упорядочить по размерам файлов 2. Найти файлы, размеры которых превышают 1М (запись +1m)
1. Вывести список имен файлов из /bin, используя ключ –l Список упорядочить по именам 2. Найти файлы, размеры которых превышают 5к (запись +5k)

 

7. Закрыть окно терминала и выключить виртуальный компьютер.

Дождаться завершения работы виртуальной машины.

8. Выключить реальный компьютер.

 

3. ОТЧЕТ О РАБОТЕ

 

Готовится в письменном виде один на бригаду. Содержание отчета:

1. построенное в задании 1 дерево каталогов.

2. описания назначений ключей команды ls.

3. результаты выполнения заданий.

 

4. КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1. Типы файлов ОС Linux

2. Назначение утилиты file.

3. Структура дерева каталогов ОС Linux.

4. Отличия структуры файловых систем ОС Windows и Linux.

5. В чем отличие каталогов /var и /tmp.

6. Назначение утилиты pwd.

7. Назначение утилиты cat.

8. Назначение утилиты ls. Использование ключей –F, -a.

9. Утилита mkdir.

10. Утилиты копирования и перемещения файлов.

11. Жесткие ссылки: назначение и создание.

12. Cоздание файлов.

13. Символьные ссылки.

14. Удаление файлов и каталогов. Как восстановить ошибочно удаленный файл?

15. Назначение утилиты id.

16. Ярлыки объектов файловой системы.

17. Права доступа к файлу.

18. Команды, изменяющие права доступа к файлу.

19. Суперпользователь и его права.

20. Назначение утилиты su.

21. Утилиты поиска файлов locate и find, их достоинства и недостатки.

 

ЛАБОРАТОРНАЯ РАБОТА № 5 2011







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.92.74.105 (0.045 с.)