
Ответы на контрольные вопросы по лабам 2-4 и 7 / Лабораторная работа 2 (ответы на КР)
.docЛабораторная работа 2
УПРАВЛЕНИЕ КАТАЛОГАМИ
Контрольные вопросы
-
Какие системные имена каталогов Вам известны?
vmunix – ядро ОС;
bin – утилиты оболочки. Этот каталог содержит в основном готовые к исполнению программы, большинство из которых необходимы во время старта системы (или в однопользовательском системном режиме, используемом для отладки). Здесь хранится значительное количество общеупотребительных команд Linux;
mail – файлы электронной почты;
dev – специальные файлы или файлы устройств; tmp-адреса рабочих пространств памяти пользователей, выделяемых супервизором памяти ОС по запросам системных вызовов из программ пользователей;
etc – файлы администратора; этот каталог и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы;
home – данные головных каталогов всех пользователей системы.
-
Каким образом можно построить отдельный каталог или цепочку каталогов?
mkdir [-ключи] имя_нового_каталога1 [имя-кат2] - создание каталогов. Ключ -p – создает промежуточные подкаталоги, до этого не существовавшие (можно создавать сразу цепочку каталогов).
-
Для чего и каким образом переопределяются текущие каталоги?
Для исключения набора длинных маршрутных имен файлов любой каталог может быть сделан текущим с помощью команды: cd [полное_имя_каталога] – смена текущего каталога на указанный.
-
Как обратиться к файлам параллельных ветвей дерева каталогов? К вышележащему каталогу?
С использованием полного маршрутного имени или относительного, точками.
-
Какие условия поиска файлов Вы знаете? Как комбинируются условия поиска? Как осуществить поиск по дереву каталогов?
find <список_каталогов> <условия_поиска> – определение полных имен файлов в поддереве каталогов, удовлетворяющих заданным условиям поиска.
Ключи find:
-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.
-type — тип искомого: f=файл, d=каталог, l=ссылка (link).
-user — владелец: имя пользователя или UID.
-group — владелец: группа пользователя или GID.
-perm — указываются права доступа.
-
Какова последовательность действий при удалении одного каталога? Цепочки каталогов?
rmdir список_каталогов – удалить пустой подкаталог; rm –r список_каталогов – удалить поддерево каталогов.
-
Объясните назначение и содержание каждого поля каталога.
drwxr-xr-x 2 darkvova darkvova 4096 2011-03-31 13:29 p3/
Элементы каталога слева направо:
-
тип файла (“-” – обычный, d – каталог , b – блочный файл, p – файл программного канала, c – файл символьного (байториентированного) внешнего устройства – принтеры, графические устройства и т.д.)
Блочное устройство (block device) — вид файла устройств в UNIX/Linux-системах, обеспечивающий интерфейс к устройству, реальному или воображаемому, в виде файла в файловой системе. Типичные примеры блочных устройств: жёсткий диск, CD-ROM, флоппи-дисковод. Файл устройства /dev/fd0 флоппи-дисковода:
brw-rw---- 1 root floppy 2, 0 Jan 1 11:17 /dev/fd0
Первый символ в расширенном выводе ls -l для блочных устройств — буква b (block). Вместо размера файла в пятом поле таблицы показывается два числа — мажорный и минорный номер устройства (major and minor numbers). Первый номер отражает тип устройства, а второй — номер устройства в системе или режим его работы.
Символьное устройство — (character device) — вид файла устройства в UNIX/Linux-системах, обеспечивающий интерфейс к устройству, реальному или воображаемому, с возможностью посимвольного обмена информацией. Типичные примеры символьных устройств: стриммер, модем, телетайп или терминал. Файл устройства /dev/ttyS0 последовательного порта:
crw-rw---- 1 root dialout 4, 64 Jan 2 09:02 /dev/ttyS0
Первый символ в расширенном выводе ls -l для символьных устройств — буква c (character). Вместо размера файла в пятом поле таблицы показывается два числа — мажорный и минорный номер устройства (major and minor numbers). Первый номер отражает тип устройства, а второй — номер устройства в системе или режим его работы.
К символьным устройствам обращение происходит последовательно (символ за символом). Примером символьного устройства может служить терминал.
Считывать и записывать информацию на блочные устройства можно в произвольном порядке, причем блоками определенного размера. Пример: жесткий диск.
Еще один тип специальных файлов — именованные каналы, или буферы FIFO (First In — First Out). Файлы этого типа служат в основном для того, чтобы организовать обмен данными между разными приложениями (pipe переводится с английского как труба).
Канал — это очень удобное и широко применяемое средство обмена информацией между процессами. Все, что один процесс помещает в канал, другой может оттуда прочитать. Если два процесса, обменивающиеся информацией, порождены одним и тем же родительским процессом (а так чаще всего и происходит), канал может быть неименованным. В противном случае требуется создать именованный канал, что можно сделать с помощью программы mkfifo. При этом собственно файл именованного канала участвует только в инициации обмена данными.
-
символьные коды прав доступа к файлам (r,w,x). Первые три символа – права владельца файла, вторые три символа – права члена группы, третьи три символа – права остальных символов.
-
число ссылок на файл (число связей): минимум 1 – для файла, 2 – для каталога. Для «.» - минимум 2, а так – по количеству всех директорий (с типом d) в текущем каталоге; для «..» - минимум 2, а так – по количеству всех директорий (с типом d) в каталоге выше текущего;
-
владелец файла;
-
символьный идентификатор группы пользователя;
-
размер файла в байтах;
-
время и дата последней модификации файла;
-
собственное имя файла.
-
Как отличить по содержимому каталога типы файлов, содержащихся в Ваших каталогах?
Набрать ls -l и первый символ – это тип файла: “-” – обычный, d – каталог , g – сетевой, p – файл программного канала; c – файл символьного (байториентированного) внешнего устройства – принтеры, графические устройства и т.д.).
-
Какую информацию содержит «пустой» вновь созданный каталог?
Содержит два элемента с символьными именами "." и "..":
" . " – системное имя текущего каталога (скрытый файл);
" .. " – системное имя вышележащего каталога (скрытый файл).
-
Как осуществить поиск файлов в системе каталогов по фрагментам текста файлов?
grep [-ключи] 'шаблон' <список_файлов> – поиск в файлах из списка_файлов строк, содержащих указанный шаблон (подстрока символов). Ключи:
-с — выдавать только количество успешно сопоставленных строк;
-i — при сопоставлении не различать большие и малые буквы;
-l — выдавать только имена файлов, в которых есть успешно сопоставленные строки, разделяя имена переводами строк;
-n — перед каждой строкой ставить ее номер в файле (строки нумеруются с 1);
-s — подавить выдачу диагностических сообщений о несуществующих и недоступных для чтения файлах;
-v — выдавать только строки, не удовлетворяющие шаблону.
Пример: поиск текста в файле: grep -rl 'что_ищем' /путь