Какую информацию содержит пустой каталог
Перейти к содержимому

Какую информацию содержит пустой каталог

Ответы на контрольные вопросы по лабам 2-4 и 7 / Лабораторная работа 2 (ответы на КР)

bin – утилиты оболочки. Этот каталог содержит в основном готовые к исполнению программы, большинство из которых необходимы во время старта системы (или в однопользовательском системном режиме, используемом для отладки). Здесь хранится значительное количество общеупотребительных команд Linux;

mail – файлы электронной почты;

dev – специальные файлы или файлы устройств; tmp-адреса рабочих пространств памяти пользователей, выделяемых супервизором памяти ОС по запросам системных вызовов из программ пользователей;

etc – файлы администратора; этот каталог и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы;

home – данные головных каталогов всех пользователей системы.

Каким образом можно построить отдельный каталог или це­почку каталогов?

mkdir [-ключи] имя_нового_каталога1 [имя-кат2] — создание каталогов. Ключ -p – создает промежуточные подкаталоги, до этого не существовавшие (можно создавать сразу цепочку каталогов).

Для чего и каким образом переопределяются текущие катало­ги?

Для исключения набора длинных маршрутных имен файлов любой каталог может быть сделан текущим с помощью команды: cd [полное_имя_каталога] – смена текущего каталога на указанный.

Как обратиться к файлам параллельных ветвей дерева катало­гов? К вышележащему каталогу?

С использованием полного маршрутного имени или относительного, точками.

Какие условия поиска файлов Вы знаете? Как комбинируются условия поиска? Как осуществить поиск по дереву каталогов?

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 ‘что_ищем’ /путь

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Большая Энциклопедия Нефти и Газа

Удалить пустые каталоги ) — если этот режим включен, то после удаления всех файлов из отмеченных каталогов удаляются и сами каталоги. Если режим выключен, удаляются только файлы, а структура каталогов на диске остается.  [2]

Может быть удален только пустой каталог .  [3]

Отметим, что удалить можно только пустой каталог , т.е. каталог, не содержащий файлов и подкаталогов.  [4]

Отметим, что с помощью команды rd можно удалить только пустой каталог , т.е. каталог, не содержащий файлов и подкаталогов. А для удаления каталога со всеми содержащимися в нем файлами и / или подкаталогами можно использовать команду OelTree, как это описано ниже.  [5]

Отметим, что с помощью команды rd можно удалить только пустой каталог , т.е. каталог, не содержащий файлов и подкаталогов. А для удаления каталога со всеми содержащимися в нем файлами и / или подкаталогами можно использовать команду DelTree, как это описано ниже.  [6]

При инициализации новой информационной базы, то есть в том случае, когда в качестве рабочего каталога ИБ предполагается использовать вновь созданный или пустой каталог , имеется возможность задания кодовой страницы и порядка сортировки символьных строк для таблиц базы данных. При первом запуске Конфигуратора с указанием в качестве рабочего каталога, в котором отсутствуют файлы информационной базы системы 1С: Предприятие, на экран будет выведено диалоговое окно, в котором можно выбрать желаемую кодовую страницу и порядок сортировки.  [7]

Для совместимости с предыдущими версиями программы при удалении текущего ( указанного курсором) каталога даже при выключенном режиме Include sub directories ( Включая подкаталога) каталог может быть удален, если он пуст ( не содержит файлов и подкаталогов) и если режим Delete empty directories ( Удалить пустые каталоги ) включен.  [8]

Для совместимости с предыдущими версиями программы при удалении текущего ( указанного курсором) каталога даже при выключенном режиме Include sub directories ( Включая подкаталоги) каталог может быть удален, если он пуст ( не содержит файлов и подкаталогов) и если режим Delete empty directories ( Удалить пустые каталоги ) включен.  [9]

В этом разделе мы рассмотрим некоторые системные вызовы, относящиеся скорее к каталогам и файловой системе в целом, нежели просто к определенному файлу, как в предыдущем разделе. Первые два вызова, mkdir и rmdir, соответственно создают и удаляют пустые каталоги . Он разрешает одному файлу появляться под двумя или более именами, часто в разных каталогах. Этот вызов обычно используется, когда несколько программистов, работающих в одной команде, должны совместно использовать один общий файл. Тогда этот файл может появиться в каталоге у каждого из программистов, возможно, под другим именем.  [10]

В этом разделе мы рассмотрим некоторые системные вызовы, относящиеся скорее к каталогам и файловой системе в целом, нежели просто к определенному файлу, как в предыдущем разделе. Первые два вызова, mkdi г и rmdi г, соответственно создают и удаляют пустые каталоги . Он разрешает одному файлу появляться под двумя или более именами, часто в разных каталогах. Этот вызов обычно используется, когда несколько программистов, работающих в одной команде, должны совместно использовать один общий файл. Тогда этот файл может появиться в каталоге у каждого из программистов, возможно, под другим именем.  [11]

Однако файлы на гибком диске нельзя использовать, потому что для них невозможно определить путь. UNIX не позволяет присоединять к началу пути название диска или его номер, так как это привело бы к жесткой зависимости от устройств, которой операционная система должна избегать. Вместо этого системный вызов mount позволяет присоединять файловую систему на гибком диске к корневой файловой системе в том месте, где этого захочет программа. Если каталог b содержал какие-либо файлы, они будут недоступны, пока смонтирован гибкий диск, так как теперь / Ь ссылается на корневой каталог гибкого диска. Невозможность доступа к этим файлам не так страшна, как кажется с первого взгляда: файловые системы почти всегда устанавливаются в пустые каталоги . Если система содержит несколько жестких дисков, они все могут быть встроены в одно дерево таким же образом.  [13]

Однако файлы на гибком диске нельзя использовать, потому что для них невозможно определить путь. UNIX не позволяет присоединять к началу пути название диска или его номер, так как это привело бы к жесткой зависимости от устройств, которой операционная система должна избегать. Вместо этого системный вызов mount позволяет присоединять файловую систему на гибком диске к корневой файловой системе в том месте, где этого захочет программа. На рис. 1.15, б файловая система гибкого диска была установлена в каталог Ъ, таким образом, обеспечен доступ к файлам по путям / b / x / н / Ь / у. Если каталог b содержал какие-либо файлы, они будут недоступны, пока смонтирован гибкий диск, так как теперь / Ь ссылается на корневой каталог гибкого диска. Невозможность доступа к этим файлам не так страшна, как кажется с первого взгляда: файловые системы почти всегда устанавливаются в пустые каталоги . Если система содержит несколько жестких дисков, они все могут быть встроены в одно дерево таким же образом.  [15]

Информация о каталоге

Чтобы иметь возможность ориентироваться в файловой системе, нужно знать, что содержится в каждом каталоге. Запомнить всю структуру файловой системы невозможно и не нужно: в любой момент можно просмотреть содержимое любого каталога при помощи утилиты ls (сокращение от англ. «list» — «список»):

Пример 4. Команда ls

Поданная без параметров, команда ls выводит список файлов и каталогов, содержащихся в текущем каталоге.

Вот пример утилиты, которая по умолчанию работает с файлами в текущем каталоге.

При помощи этой утилиты Мефодий обнаружил, что в его домашнем каталоге (который в данный момент является текущим) содержатся два файла, созданные на прошлой лекции: « -filename-with- » и « text ».

Утилита ls принимает один параметр: имя каталога, содержимое которого нужно вывести. Имя может быть задано любым доступным способом: в виде полного или относительного пути. Например, чтобы получить список в файлов в своём домашнем каталоге, Мефодий мог бы использовать команды « ls /home/methody » и « ls . » — результат был бы аналогичным.

Кроме параметра, утилита ls «понимает» множество ключей, которые нужны главным образом для того, чтобы выводить дополнительную информацию о файлах в каталоге или выводить список файлов выборочно. Чтобы узнать обо всех возможностях ls , нужно, конечно же, прочесть руководство по этой утилите (« man ls »). Почитав руководство по ls , Мефодий решил изучить содержимое своей файловой системы и начал с начала — с корневого каталога.

Пример 5. Команда ls -F

Мефодий использовал ключ -F , чтобы отличать файлы от каталогов. При наличии этого ключа ls в конце имени каждого каталога ставит символ « / », чтобы показать, что в нём может содержаться что-то ещё. В выведенном списке нет ни одного файла — в корневом каталоге содержатся только подкаталоги.

Кроме того, Мефодий решил получить более подробную информацию о содержимом своего домашнего каталога:

Пример 6. Команда ls -aF

Внезапно он обнаружил, что файлов в его домашнем каталоге не два, а гораздо больше. Дело в том, что утилита ls по умолчанию не выводит информацию об объектах, чьё имя начинается с « . » — в том числе о « . » и « .. ». Для того, чтобы посмотреть полный список содержимого каталога, и используется ключ « -a » (all).

Такое поведение ls напоминает принцип работы файловых менеджеров со скрытыми файлами в системах MS-DOS/Windows. Разница в том, что в MS-DOS/Windows скрытые файлы предусмотрены файловой системой — файл может иметь атрибут «скрытый» и при этом называться как угодно. В Linux скрытые файлы — это не свойство файловой системы, а только соглашение по наименованию файлов.

Как правило, с « . » начинаются имена конфигурационных файлов и конфигурационных каталогов (вроде .bashrc , описанного в лекции Возможности командной оболочки), работа с которыми (т. е. настройка окружения, «рабочего места») не пересекается с работой над какой-нибудь прикладной задачей (хотя, конечно, эффективность работы зависит от хорошо настроенного окружения). Кроме того, подобных файлов в домашнем каталоге активно работающего пользователя со временем заводится немало (по одному на каждую приличную утилиту) и их присутствие в выдаче ls сильно загромождает её.

Разберёмся подробно в списке файлов в домашнем каталоге Мефодия. Начинём с весьма лаконичных имён « . » и « .. ». Мефодий уже знает, что « . » — это имя текущего каталога. Следующее имя в списке, « .. » — это ссылка на родительский каталог. Родительский каталог — это тот каталог, в котором находится данный. Родительским каталогом для « /home/methody » будет каталог « /home »: он получается просто отбрасыванием последнего имени каталога в полном пути. Иначе можно сказать, что родительский каталог — это один шаг по дереву каталогов по направлению к корню. « .. » — это сокращённый способ сослаться на родительский каталог: пока текущим каталогом является « /home/methody », относительный путь « .. » (или, что то же самое, « ./.. ») будет эквивалентен « /home ». С использованием « .. » можно строить сколь угодно длинные пути, такие как « ../../usr/../var/log/../run/../../home »,

Не сразу понятно, что приводит этот путь всё туда же, в « /home ».

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

родительский каталог Каталог, в котором содержится данный. Для корневого каталога родительским является он сам.

Ссылки на текущий и на родительский каталог обязательно присутствуют в каждом каталоге в Linux. Даже если каталог пуст, т. е. не содержит ни одного файла или подкаталога, команда « ls -a » выведет список из двух имён: « . » и « .. ».

За ссылками на текущий и родительский каталоги следуют несколько файлов и каталогов, имена которых начинаются на «.». В них содержатся настройки командной оболочки (файлы, начинающиеся с « .bash ») и других программ. В домашнем каталоге каждого пользователя Linux всегда присутствует несколько таких файлов. Использование этих файлов позволяет пользователям независимо друг от друга настраивать поведение командной оболочки и других программ — организовывать своё «рабочее место» в системе. Подробнее речь об этом пойдёт в лекции Конфигурационные файлы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *