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

от admin

Ответы на контрольные вопросы по лабам 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 — подавить выдачу диагностических сообщений о несуществующих и недоступных для чтения файлах;

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

Удалить пустые каталоги ) — если этот режим включен, то после удаления всех файлов из отмеченных каталогов удаляются и сами каталоги. Если режим выключен, удаляются только файлы, а структура каталогов на диске остается.  [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]

Читать:
Wer dll что это

Почему размер пустого каталога в Linux равен 4KB? [закрытый]

Я использую Ubuntu 14.04, и я сделал пустой каталог на / tmp с командой mkdir:

и затем я проверил его размер, используя ls:

и результат показывает, что размер каталога 4KB, хотя он ничего не имеет внутри!

затем я создал пустой файл с touch:

и затем я проверил его размер:

результат показывает, что пустой файл имеет значение 0B, которое отличается от пустого справочник.

Я читал о некоторых Q&A, говоря, что 4KB-это метаданные каталога. Но если это метаданные, то какая информация хранится внутри и почему она такая огромная, и почему пустой файл не имеет таких метаданных? Если это не метаданные, что означает 4KB?

2 ответов

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

Часть 1: Почему не пустой размер каталога 0?

потому что он содержит . и .. Так что это не совсем пустые.

Часть 2: Почему 4К минимум?

потому что это файловая система блок размере. Вы можете установить его меньше при создании файловой системы, но есть накладные расходы. Файловая система должна помнить флаг free-or-in-use для каждый блок, поэтому меньшие блоки = больше блоков = больше накладных расходов. (В первые дни ext2 размер блока по умолчанию составлял 1K. Диски были достаточно малы, чтобы пространство, сохраненное без выделения кратного 4K для каждого файла, было более важным, чем пространство, используемое для свободной блочной карты.)

размеры блоков более 4K невозможны, потому что 4K-это размер страницы (наименьшая единица виртуальной памяти) на большинстве процессоров, а Linux не предназначен для работы с блоками файловой системы больше, чем страницы памяти.

Часть 3: Когда вы ls -l обычный файл, вы получите фактическое количество используемых байтов, но когда вы ls -ld каталог, вы получаете количество выделенных байтов. Почему?

эту часть я не знаю. Для обычных файлов существует размер распределения, который вы можете просмотреть с помощью ls -s , и два размера на самом деле говорят вам разные вещи. Но по каталогам, то -l размер похож на резервную копию -s размер. Предположительно ядро мог бы сообщите размер, который указывает, сколько блока 4K фактически используется, но это не так. Не знаю почему.

метаданные каталог содержит серия записи каталог. Он не пуст при создании, потому что сразу создаются два потока: один для этого каталога, называемый «.», и один для своего родительского каталога, называется»..».

Cтруктура файловой системы Linux

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

В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?

Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе. В этой статье будет полностью рассмотрена структура файловой системы Linux, после ее прочтения вы сможете понять смысл использования большинства папок в корневом каталоге Linux.

/ — корень

Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.

Только пользователь root имеет право читать и изменять файлы в этом каталоге. Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.

/bin — (binaries) бинарные файлы пользователя

Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.

/sbin — (system binaries) системные исполняемые файлы

Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.

/etc — (etcetera) конфигурационные файлы

В этой папке содержатся конфигурационные файлы всех программ, установленных в системе. Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их — настройка и конфигурация.

/dev — (devices) файлы устройств

В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры — это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.

/proc — (proccess) информация о процессах

Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.

/var (variable) — Переменные файлы

Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.

/var/log — Файлы логов

Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache — логи веб-сервера, /var/log/squid — файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь.

/var/lib — базы данных

Еще один тип изменяемых файлов — это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.

/var/mail — почта

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

/var/spool — очереди

Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cups.

/var/lock — файлы блокировок

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

/var/run — PID процессов

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

/tmp (temp) — Временные файлы

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

Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка Windows\Temp, здесь тоже хранятся все временные файлы.

/usr — (user applications) Программы пользователя

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

/usr/bin/ — Исполняемые файлы

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

/usr/sbin/

Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.

/usr/lib/ — Библиотеки

Содержит библиотеки для программ из /usr/bin или /usr/sbin.

/usr/local — Файлы пользователя

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

/home — Домашняя папка

В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.

/boot — Файлы загрузчика

Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.

/lib (library) — Системные библиотеки

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

Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndows\system32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.

/opt (Optional applications) — Дополнительные программы

В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.

/mnt (mount) — Монтирование

В этот каталог системные администраторы могут монтировать внешние или дополнительные файловые системы.

/media — Съемные носители

В этот каталог система монтирует все подключаемые внешние накопители — USB флешки, оптические диски и другие носители информации.

/srv (server) — Сервер

В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.

/run — процессы

Еще один каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются.

/sys (system) — Информация о системе

Назначение каталогов Linux из этой папки — получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.

Выводы

Теперь структура файловой системы Linux не кажется вам темным лесом. Конечно еще есть с чем разбираться, одна только подсистема /proc, /sys или /dev чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.

Похожие статьи