Какой каталог линукс содержит наиболее важные программы и команды

Обновлено: 04.07.2024

Правильные ответы в тесте по linux отмечены + .

1. Ядро операционной системы

– программы, входящие в дистрибутив операционной системы;

+ резидентная часть операционной системы;

- основная программа, принимающая и обрабатывающая команды пользователя;

– графическая оболочка, позволяющая выполнить операции с файлами и каталогами

2. Привилегированный режим работы программы

+ режим монопольного владения процессором на время работы программы;

– режим, при котором программа в любой момент может монопольно завладеть процессором;

– режим неограниченного доступа ко всем ресурсам компьютера;

– режим, при котором программа имеет привилегии перед другими программами в условиях многозадачности.

3. К основным функциям операционных систем относятся:

– управление включением/выключением компьютера, управление памятью, управление файлами и каталогами, управление пользователями;

– управление памятью, выполнение команд пользователя, управление файлами и каталогами

– управление процессами, управление памятью, управление периферийными устройствами

+ управление устройствами, управление данными, управление памятью, управление процессами

4. Ресурс процесса

– оперативная память и свободное место на диске;

– файл, из которого или в который происходит ввод-вывод;

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

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

5. Сопоставить определения состояний процесса

состояние, в котором находится процесс, программу которого выполняет процессор

состояние, при котором процесс может быть переведен состояние работы, как только это сочтет нужным сделать операционная система

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

то же самое, что и сон

6. Дать определение невытесняющей многозадачности

а) режим многозадачности, при котором переключение процессов возможно в любой момент времени;

б) режим многозадачности, при котором переключение процессов возможно через определенные кванты времени

в) режим многозадачности, при котором переключение процессов выполняется поочередно в порядке их приоритетов;

+ г) режим, при котором переключение процессов возможно только, когда работающий процесс вызовет системную функцию;

7. Дать определение вытесняющей многозадачности

а) режим многозадачности, при котором переключение процессов возможно в любой момент времени;

б) режим, при котором переключение процессов возможно только, когда работающий процесс вызовет системную функцию;

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

+ г) режим многозадачности, при котором переключение процессов происходит через определенные кванты времени соответственно приоритетам

8. Дистрибутив операционной системы включает:

+ а) операционную систему, программу ее установки и настройки, сопровождение и регулярное обновление;

б) только операционную систему и программу ее установки;

в) операционную систему, программу ее установки и наиболее популярные прикладные программы;

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

9. ОС распространяется по лицензии:

б) Линуса Торвальдса;

в) фирмы Microsoft;

10. При установке ОС Linux рекомендуется выбрать файловую систему:

a) FAT16 либо FAT32;

+ в) journalized ext3 FS;

г) любую из перечисленных.

Тест - 11. Жесткая ссылка на файл в ОС Linux:

a) является дополнительным ярлыком для файла;

+ б) представляет собой другое имя файла;

в) это указатель на начало файла;

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

12. Список пользователей системы хранится в файле

13. Конвейером называют:

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

+ б) параллельное выполнение нескольких команд, при этом вывод одной команды перенаправляется на стандартный ввод следующей;

в) последовательное выполнение нескольких команд, причем каждая следующая команда начинает выполняться после завершения предыдущей;

г) последовательное выполнение нескольких команд..

14. Пакет с программным обеспечением в Linux содержит:

+ а) собранную программу, сценарии действий до установки и после нее, информацию о зависимостях от других пакетов;

б) собранную программу, сценарии действий до установки и после нее;

в) собранную программу, информацию о зависимостях от других пакетов, программу-установщик setup либо install;

г) собранную программу и программу-установщик setup либо install.

15. Командная оболочка операционной системы :

+ a) программа, которая преобразует команды пользователя в действия операционной системы;

б) программа, которая выполняет команды пользователя;

в) часть операционной системы, котороая выполняет команды пользователя.

16. Команда ls :

a) выводит на экран список файлов текущего каталога;

б) делает заданный каталог текущим и выводит список файлов;

в) выполняет переход в заданный каталог;

+ г) выводит на экран список файлов каталога, заданного в командной строке либо текущего.

17 - Тест. Для копирования файлов в ОС Linux используется команда:

18. Сопоставить функции команд постраничного просмотра текстовых файлов :

постраничный вывод содержимого файла, перемещение только «сверху вниз»

постраничный вывод содержимого файла, перемещение «вверх» и «вниз»

вывод содержимого файла на консоль

вывод на экран последних строк файла

19. Файловый менеджер :

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

б) программа для перемещения по каталогам;

в) программа управления атрибутами и редактирования файлов;

+ г) программа, выполняющая все перечисленные функции.

20. Для завершения работы системы в ОС Linux используется команда :

21. Режимы работы редактора vi :

a) текстовый и графический;

б) редактирования и копирования;

+ в) вставки, командный и режим командной строки;

г) вставки и замены.

Тест № 22. Для установки программы в ОС Linux необходимо :

a) выполнить команду setup;

+ б) запустить менеджер пакетов и выбрать пакет с устанавливаемой программой;

в) распаковать пакет, содержащий программу;

г) скопировать пакет, содержащий программу, в отдельный каталог.

23. Права доступа к файлу определяются :

a) с помощью 9 символов или трехзначного шестнадцатеричного числа;

б) с помощью 3 символов или трехзначного восьмеричного числа;

+ в) с помощью 9 символов или трехзначного восьмеричного числа;

г) с помощью 9 символов.

24. Атрибуты прав доступа к файлу включают :

a) доступ с правами администратора или пользователя;

+ б) разграничение доступа для владельца, членов его группы и остальных пользователей;

в) разграничение прав доступа для владельца и остальных пользователей;

г) доступ «только для чтения» для всех, кроме владельца файла.

25. Сопоставить права доступа к файлу :

для владельца – все права, для членов группы – чтение и запись, для остальных – только чтение

для владельца – все права, для членов группы и для остальных – только чтение

для владельца – все права, для членов группы и для остальных – только запуск

для владельца – все права, для членов группы и остальных – чтение и запуск

26. Конфигурационные файлы в ОС Linux хранятся преимущественно:

a) в зашифрованном виде, недоступном для просмотра;

б) в зашифрованном виде, просмотр – с помощью программы-конфигуратора;

в) в текстовом формате, просмотр и редактирование – только с помощью редактора vi;

+ г) в текстовом формате, просмотр и редактирование – любым текстовым редактором.

27. При страничной организации виртуальной памяти:

+ а) все страницы имеют одинаковые размеры, а разбиение виртуального адресного пространства процесса на страницы выполняется системой автоматически;

б) размер страниц выбирается операционной системой в зависимости от объема свободной оперативной памяти;

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

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

28. Тест. Выберите правильные утверждения для многопроцессорных операционных систем:

+ а) Асимметричная ОС целиком выполняется только на одном из процессоров компьютера, распределяя прикладные задачи по остальным процессорам;

+ б) Симметричная ОС полностью децентрализована и использует все процессоры, разделяя их между системными и прикладными задачами;

в) Асимметричная ОС выполняется на нескольких процессорах компьютера;

г) В симметричной ОС процессоры одна половина процессоров отводится для системных задач, вторая – для прикладных.

29. Пользователь root — это

+ а) единственная учётная запись, принадлежащая администратору системы

б) учётная запись, гарантированно дающая пользователю исключительные права работы в системе

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

30. Лицензия на программное обеспечение нужна, чтобы

а) указать, кто является обладателем всех прав на это программное обеспечение

+ б) определить круг прав пользователя по отношению к этому программному обеспечению

в) определить, на каких условиях можно продавать данное программное обеспечение

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

Если вы ранее пользовались только Windows, то структура файловой системы Linux может показаться вам особенно чуждой: нет привычного обозначения C:\ и букв дисков, их заменили каталог / и другие папки, большинство из которых имеют странные имена, состоящие из трех букв.

Причина всего этого в том, что в Linux используется свой FHS (сокр. от «Filesystem Hierarchy Standard» = «Стандарт иерархии файловой системы»). FHS определяет структуру и содержание/назначение каталогов в дистрибутивах Linux. Благодаря данному стандарту структура каталогов во всех дистрибутивах Linux является (почти) одной и той же.

Структура каталогов в Linux

Напомню, что Linux основан на системе Unix и, следовательно, заимствует из нее свою иерархию файловой системы. Аналогичную структуру каталогов вы найдете в Unix-подобных операционных системах, таких как BSD и macOS. Однако в дальнейшем я буду использовать именно термин Linux вместо Unix.



/ — корневая директория

Поскольку все остальные каталоги или файлы происходят от корня, абсолютный путь к любому из них начинается с корневой директории. Например, если у вас есть файл в /home/user/documents , то вы можете догадаться, что структура каталогов идет от root->home->user->documents .


С помощью rm -rf / вы просите свою систему принудительно и рекурсивно удалить содержимое корневого каталога. Поскольку в корневом каталоге содержатся все файлы и папки ОС, то данной командой вы стираете все данные, и ваша Linux-система просто должна исчезнуть (теоретически).

Большинство дистрибутивов Linux не запустят эту команду без ключа --no-preserve-root . Но в любом случае, не стоит ради любопытства пытаться выполнить эту команду.

/bin — binaries (двоичные файлы)

Каталог /bin содержит двоичные файлы многих основных программ и утилит (ls, cp, cd и т.д.), которые должны присутствовать при монтировании системы в однопользовательском режиме. Приложения, такие как Firefox, хранятся в /usr/bin , в то время как важные системные программы и утилиты, такие как оболочка bash, находятся в /bin .

Примечание: Монтирование файловой системы — это системный процесс, подготавливающий раздел диска к использованию операционной системой.



/boot — boot files (загрузочные файлы)

Каталог /boot содержит файлы, необходимые для загрузки системы. Например, здесь хранятся файлы загрузчика GRUB и ваши ядра Linux. Однако конфигурационные файлы загрузчика находятся не здесь — они лежат в /etc вместе с другими конфигурационными файлами.



/cdrom — исторически сложившаяся папка для CD-ROM

Каталог /cdrom не является частью FHS, но вы все равно можете встретить его, например, в Ubuntu или других дистрибутивах Linux. Это временное место для компакт-дисков. Однако стандартное расположение временных носителей находится внутри каталога /media .

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

Различные устройства воспринимаются и отображаются системой Linux в виде файлов, хранящихся в каталоге /dev. Стоит отметить, что это не настоящие файлы, какими мы их привыкли воспринимать, а специальный тип (интерфейс), используемый операционной системой для взаимодействия с устройствами. Например, файл /dev/sda представляет собой первый SATA-диск в системе. Если вы хотите разбить его на разделы, то можете запустить редактор разделов и попросить его отредактировать файл /dev/sda . Файл /dev/sr — это CD-ROM, а файл /dev/wlan , как вы наверняка уже догадались, соответствует беспроводному сетевому интерфейсу. Также в этом каталоге могут содержаться специальные файлы псевдоустройств, которые на самом деле не сопоставляются с реальным оборудованием, например:

/dev/random — генератор случайных чисел;

/dev/zero — источник бесконечной последовательности нулевых байтов.



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

Каталог /etc содержит основные конфигурационные файлы системы, используемые администратором системы и её службами, такие как файл паролей и файлы настроек сетей. Обычно их можно редактировать вручную в текстовом редакторе. Если вам нужно внести изменения в конфигурацию системы (например, изменить имя хоста), то именно здесь вам стоит искать необходимые файлы. Обратите внимание, что каталог /etc содержит общесистемные конфигурационные файлы; пользовательские конфигурационные файлы находятся в домашнем каталоге каждого пользователя.



/home — личные каталоги пользователей

Каталог /home является хранилищем домашних папок пользователей системы, в которых те хранят свои личные файлы, заметки, утилиты и пр. Домашний каталог содержит пользовательские данные и пользовательские файлы конфигурации.

При создании нового пользователя в системе Linux, обычно для него создается соответствующий домашний каталог (и группа, но об этом позже). Предположим, что в вашей системе уже есть два пользователя: alice и bob. Тогда их домашние каталоги будут иметь пути /home/alice и /home/bob соответственно. Обратите внимание, что каждый (обычный) пользователь имеет доступ на запись только в свою домашнюю папку. Например, у пользователя bob не будет доступа к каталогу /home/alice и наоборот.



/usr — user binaries and program data (пользовательские двоичные файлы и программные данные)

Каталог /usr содержит исполняемые файлы, файлы библиотек и заголовочные файлы большинства пользовательских программ. По этой причине практически все они доступны только для чтения (для обычного пользователя).

/usr/bin — основные пользовательские утилиты;

/usr/sbin — дополнительные утилиты для администрирования и настройки системы;

/usr/lib — библиотеки утилит из /usr/bin и /usr/sbin ;

/usr/share — содержит документацию или общие для всех библиотек данные.



/lib — каталог совместно используемых библиотек

Каталог /lib содержит библиотеки, необходимые двоичным файлам в каталогах /bin и /sbin .

/sbin — системные утилиты

Каталог /sbin аналогичен каталогу /bin . Он содержит основные двоичные файлы утилит системного администрирования, которые, обычно, предназначены для запуска привилегированным (root) пользователем (ifconfig, dhclient, dmidecode, init и т.д.).



/tmp — временные файлы

Как следует из названия, в каталоге /tmp хранятся временные файлы используемых приложений (вы тоже можете задействовать данный каталог для размещения своих временных файлов).

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



/var — файлы изменяемых данных

Каталог /var (сокр. от «variable») является доступным для записи аналогом каталога /usr . Файлы журналов, кэш программ, информация об очереди печати, общая информация с момента запуска системы — всё это пишется в каталог /var .

Файлы, хранящиеся здесь, не очищаются автоматически. По этой причине данный каталог представляет большой интерес для системных администраторов, ищущих информацию о поведении своей системы. Например, если вы хотите ознакомиться с глобальным системным журналом Linux, то просто посмотрите содержимое файла /var/log/syslog .



/proc — файлы процессов

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

Например, если вы хотите проверить информацию о процессоре в Linux, то можете просто обратиться к файлу /proc/cpuinfo . Если вы хотите проверить использование памяти вашей системы Linux, посмотрите на содержимое файла /proc/meminfo .



/opt — optional software (дополнительное ПО)

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

/root — the home directory of the root (домашняя папка root-пользователя)

Каталог /root — это домашний каталог пользователя root. Вместо того, чтобы быть расположенным в /home/root , он находится в /root . Стоит отметить, что следует отличать данный каталог от каталога / , который, в свою очередь, является корневым каталогом всей системы.

/media — mount point for removable media (точка монтирования съемных носителей)

При подключении съемного носителя, такого как USB-диск, SD-карта или DVD-диск, для них автоматически создается соответствующая папка в каталоге /media. При помощи такой папки вы можете получить доступ к содержимому съемного носителя.



/mnt — mount directory (точка монтирования файловых систем)

Каталог /mnt похож на каталог /media , но вместо автоматического монтирования съемного носителя, /mnt используется системными администраторами для ручного монтирования различных файловых систем.

Примечание: Исторически сложилось, что каталог /mnt — это место, где системные администраторы монтировали временные файловые системы во время их использования. Например, если вы монтируете раздел Windows для выполнения некоторых операций восстановления файлов, вы можете смонтировать его в /mnt/windows . Однако вы также можете монтировать файловые системы и в отличном от /mnt месте системы.

/srv — service data (служебные данные)

/run — application state files (файлы текущего состояния приложений)

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



/lost+found — recovered files (восстановленные файлы)

Каждая файловая система Linux имеет каталог /lost+found. Если файловая система выходит из строя, то при следующей загрузке будет выполнена её проверка. Все найденные поврежденные файлы будут помещены в каталог /lost+found , так что вы сможете попытаться восстановить как можно больше данных.

Изображение пользователя Mike.

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

- Корневая файловая система специфична для каждой машины (обычно она хранится на локальном диске, хотя это мог бы быть ramdisk или сетевой диск) и содержит файлы, которые являются необходимыми для загрузки системы. Содержимого корневой файловой системы достаточно для загрузки в однопользовательском режиме. Именно эта файловая система используется при загрузке до тех пор, пока не будут смонтированы другие файловые системы. Она также содержит инструментальные средства для ремонта поврежденной системы и для восстановления потерянных файлов из резервных копий.

- Файловая система /usr содержит все команды, библиотеки, man-страницы, исходные тексты и другие неизменяемые файлы, необходимые для нормальной работы системы. Никакие файлы в /usr не должны быть специфическими для любой конкретной машины, и при этом они не должны измениться при нормальном использовании. Это позволяет файлам быть разделенными по сети, что может быть практично, так как это сохраняет дисковое пространство (могут легко иметься сотни мегабайт в /usr) и упрощает администрирование (только машина, на которой хранится /usr, должна быть изменена при модификации прикладной программы, а не каждая машина отдельно). Даже если файловая система находится на локальном диске, она может быть установлена только для чтения, что уменьшит возможность искажения в случае отказа.

- Файловая система /var содержит файлы, которые изменяются в ходе работы системы. Например, там лежат каталоги буферов для почты, новостей, печати и т.п., файлы протоколов, форматированных man-страниц и временные файлы.

- Файловая система /home содержит все домашние каталоги пользователей системы, то есть, все реальные данные системы. Отделение пользовательских каталогов от системы упрощает резервирование данных. Если пользователей много, эта файловая система может быть разделена на несколько (например, /home/students и /home/teacher).

Хотя различные части выше были названы файловыми системами, это не значит, что они фактически находятся на отдельных дисках. Они могут храниться на одном диске, если речь идето небольшом сервере или личном однопользовательском компьютере. Дерево каталогов может быть также разделено по-другому, в зависимости от того, насколько большие диски использованы, и как распределено место на них для различных целей, тем не менее, важно, чтобы все стандартные имена работали; даже если, скажем, /var и /usr фактически на том же самом разделе, имена /usr/lib/libc.a и /var/log/messages должны работать, например, перемещая файлы из /var в /usr/var, и делая /var ссылкой на /usr/var.

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

Корневая файловая система

Файловая система root должна быть небольших размеров, так как она содержит важные файлы и команды. Чем меньше объем файловой системы и чем реже она подлежит изменениям, тем меньше вероятность ее повреждения. Если система root повреждена, то обычно это означает, что начальная загрузка компьютера невозможна (кроме отдельных методов, например при помощи дискет).

Файловая система дистрибутива имеет архитектуру классической файловой системы ОС Linux с единым корневым каталогом, обозначаемым символом обратной косой черты ("слэш") — /.

Ниже приведено описание основных каталогов верхнего уровня.

/bin - В этом каталоге хранятся основные команды, необходимые пользователю для работы в системе. Например, такие как командные оболочки и команды файловой системы (ls, cp и т.д.). Каталог /bin обычно не изменяется после установки. Если изменяется, то обычно лишь при обновлениях пакетов программ, предоставленных разработчиками операционной системы.

/boot - В этом каталоге хранятся файлы, используемые загрузчиком ОС — LInux LOader (LILO). Этот каталог так же практически не изменяется после установки.

/dev - В этом каталоге размещены описания устройств системы. В Linux всё рассматривается, как файл, даже различные устройства, такие как последовательные порты, жёсткие диски и сканеры. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл, называемый device node. Все эти файлы находятся в каталоге /dev. Аналогично устроено большинство UNIX-подобных операционных систем.

/etc - Этот каталог содержит файлы настроек: всё, от конфигурационных файлов системы X Window, базы данных пользователей и до стартовых сценариев.

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

/lib - В этом каталоге находятся системные библиотеки, необходимые для основных программ: библиотека C, динамический загрузчик, библиотека ncurses, модули ядра и другое.

/lib/modules - Подгружаемые модули для ядра (например, сетевые драйверы или поддержка дополнительных файловых систем).

/lost+found - В этом каталоге сохраняются восстановленные части файловой системы. При загрузке системы происходит проверка файловых систем на наличие ошибок. Для исправления ошибок файловой системы запускается программа fsck.

/mnt - Этот каталог предоставляется как временная точка монтирования для жёстких дисков, дискет, компакт-дисков или отключаемых устройств.

/opt - В этом каталоге размещаются дополнительные пакеты программ. Особенность Linux в том, что все пакеты программ, устанавливаются в этот каталог, например /opt/<программный пакет>. В последствии если этот пакет больше не будет нужен, то достаточно всего лишь удалить соответствующий каталог. В дистрибутивах SlackWare некоторые программы изначально поставляются в каталоге /opt (например, KDE - в /opt/kde).

/proc - Это специальный каталог не входящий в файловую систему. Каталог /proc представляет собой виртуальную файловую систему, которая предоставляет доступ к информации ядра. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера.

/root - Это домашний каталог администратора, вместо /home/root. Это потому, что каталог /home может находиться в разделе, отличном от корневого (/) и если по какой-то причине /home не может быть подключён, то пользователь root вынужден будет войти в систему, чтобы решить проблему. И если его домашний каталог на другом диске, то это усложнит вход в систему.

/sbin - В этом каталоге хранятся основные программы, выполняемые пользователем root а так же программы, выполняемые в процессе загрузки. Обычные пользователи не могут пользоваться этими программами.

/tmp - Временное хранилище данных. Все пользователи имеют права чтения и записи в этом каталоге.

/usr - Это один из самых больших каталогов в системе. Практически всё остальное расположено здесь. Программы, документация, исходный код ядра и система X Window. Именно в этот каталог, чаще всего, устанавливаются программы.

/var - В этом каталоге хранятся системные лог-файлы, кэш-файлы и файлы-замки программ. Это каталог для часто меняющихся данных.

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

/etc/rc.d - Командные файлы, выполняемые при запуске системы или при смене ее уровня выполнения.

/etc/passwd - База данных пользователей, в которой содержится информация об имени пользователя, его настоящем имени, личном каталоге, зашифрованный пароль и другие данные. Формат этого файла рассмотрен в man-руководстве к команде passwd.

/etc/fdprm - Таблица параметров флоппи-дисковода, определяющая формат записи. Устанавливается программой setfdprm.

/etc/fstab - Список файловых систем, автоматически монтируемых во время запуска системы командой mount -a (она запускается из командного файла /etc/rc.d/rc.S). Здесь также содержится информация о swaр-областях, автоматически устанавливаемых командой swapon -a.

/etc/group - Подобен файлу /etc/рasswd, только здесь содержится информация о группах, а не о пользователях.

/etc/inittab - Конфигурационный файл демона init.

/etc/issue - Выводится программой getty перед приглашением login. Обычно здесь содержится краткое описание системы.

/etc/magic - Конфигурационный файл команды file. Содержит описания различных форматов файлов, опираясь на которые эта команда определяет тип файла. Также см. руководства к magic и file.

/etc/mtab - Список смонтированных на данный момент файловых систем. Изначально устанавливается командными файлами при запуске, а затем автоматически модифицируется командой mount. Используется при необходимости получения доступа к смонтированным файловым системам (например, командой df).

/etc/shadow - Теневая база данных пользователей. При этом информация из файла /etc/рasswd перемещается в /etc/shadow, который недоступен для чтению никому, кроме пользователя root. Это усложняет взлом системы.

/etc/login.defs - Конфигурационный файл команды login.

/etc/printcap - То же, что и /etc/termcap, только используется при работе с принтером.

/etc/profile - Этот командный файл выполняется оболочкой Bourne Shell при запуске системы, что позволяет изменять системные установки для всех пользователей.

/etc/securetty - Определяет терминалы, с которых может подключаться к системе пользователь root. Обычно это только виртуальные консоли, что усложняет взлом системы через модем или сеть.

/etc/shells - Список рабочих оболочек. Команда chsh позволяет менять рабочую оболочку только на оболочки, находящиеся в этом файле. Процесс ftрd, предоставляющий работу с FTР, проверяет наличие оболочки пользователя в файле /etc/shells и не позволяет пользователю подключится к системе, пока ее имя не будет найдено в этом файле.

/etc/termcap - База данных совместимости терминалов. Здесь находятся escape-последовательности для различных типов терминалов, что позволяет работать программам на разных типах терминалов.

Каталог /dev - В этом каталоге находятся файлы устройств. Названия этих файлов соответствуют специальным положениям, рассмотренным в списке устройств (Device list). Файлы устройств создаются во время установки системы, а затем с помощью скрипта /dev/MAKEDEV. Файл /dev/MAKEDEV.local используется при создании локальных файлов устройств или ссылок (т.е. тех, что не соответствуют стандарту MAKEDEV).

Каталог /usr - Обычно файловая система /usr достаточно большая по объему, так как многие программы установлены именно здесь. Вся информация в каталоге /usr помещается туда во время установки системы. Отдельно устанавливаемые пакеты программ и другие файлы размещаются в каталоге /usr/local. Некоторые подкаталоги системы /usr рассмотрены ниже (для более подробной информации см. описание стандарта FSSTND).

/usr/X11R6 - Все файлы, используемые системой X Window. Для упрощения установки и администрирования, файлы системы X Window размещаются в отдельной структуре каталогов, которая находится в /usr/X11R6 и идентична структуре /usr.

/usr/bin - Практически все команды, хотя некоторые находятся в /bin или в /usr/local/bin.

/usr/sbin - Команды, используемые при администрировании системы и не предназначенные для размещения в файловой системе root (например, здесь находится большинство программ-серверов).

/usr/man, /usr/info, /usr/doc - Файлы man-руководств, документации GNU Info и другая документация.

/usr/include - Подключаемые файлы библиотек для языка С.

/usr/src - Исходные тексты программ, установленных в системе, в том числе ядра Linux.

/usr/lib - Неизменяемые файлы данных для программ и подсистем, включая некоторые конфигурационные файлы. Имя lib происходит от library (библиотека); первоначально библиотеки подпрограмм для программирования хранились в /usr/lib.

/usr/local - Здесь размещаются отдельно устанавливаемые пакеты программ и другие файлы.

Каталог /var - Эта файловая система содержит файлы, изменяемые при нормально работающей системе. Она специфична для каждого компьютера и не может быть разделена в сети между несколькими машинами.

/var/man/cat* - Временный каталог для форматируемых страниц руководств. Источником этих страниц является каталог /usr/man/man*. Некоторые руководства поставляются в отформатированном виде. Они располагаются в /usr/man/cat*. Остальные руководства перед просмотром должны быть отформатированы. Затем они помещаются в каталог /var/man и при повторном просмотре в форматировании не нуждаются. Каталог /var/man/cat часто очищается, таким же образом, как и прочие временные каталоги.

/var/lib - Файлы, изменяемые при нормальном функционировании системы.

/var/local - Изменяемые данные для программ, установленных в /usr/local (то есть, программы которые были установлены администратором системы). Обратите внимание, что даже в местном масштабе установленные программы должны использовать другие /var каталоги, например, /var/lock.

/var/lock - Файлы-защелки. Многие программы при обращении к какому-либо файлу устройства создают здесь файл-защелку. Другие программы при обращении к какому-либо устройству сначала проверяют наличие файла-защелки в этом каталоге, а затем уже производят доступ к этому устройству.

/var/run - Файлы, информация в которых соответствует действительности только до очередной перезагрузки системы. Например, файл /var/run/utmp содержит информацию о пользователях, подключенных к системе в данный момент.

/var/spool - Каталоги, используемые для хранения почты, новостей, очереди для принтера, а также для других задач. Для каждой задачи существует отдельный каталог в /var/spool, например, почтовые ящики пользователей хранятся в /var/spool/mail.

/var/tmp - Каталог для временных файлов, размер которых достаточно велик или время существования которых больше, чем в /tmp. Хотя администратор системы не должен бы держать очень уж старые файлы в /var/tmp.

Каталог /proc - Файловая система /proc является виртуальной и в действительности она не существует на диске. Ядро создает ее в памяти компьютера. Система /proc предоставляет информацию о системе (изначально только о процессах — отсюда ее название). Некоторые наиболее важные файлы и каталоги рассмотрены ниже. Более подробную информацию о структуре и содержании файловой системы /proc можно найти в man-руководстве к proc.

/proc/1 - Каталог, содержащий информацию о процессе номер 1. Для каждого процесса существует отдельный каталог в /proc, именем которого является его числовой идентификатор.

/proc/cpuinfo - Информация о процессоре, такая как тип процессора, его модель, производительность и др.

/proc/devices - Список драйверов устройств, встроенных в действующее ядро.

/proc/dma - Задействованные в данный момент каналы DMA.

/proc/filesystems - Файловые системы, встроенные в ядро.

/proc/interruрts - Задействованные в данный момент прерывания.

/proc/ioports - Задействованные в данный момент порты ввода/вывода.

/proc/kcore - Отображение физической памяти системы в данный момент. Размер этого файла точно такой же, как и у памяти компьютера, только он не занимает места в самой памяти, а генерируется на лету при доступе к нему программ. Однако при копировании этого файла куда-либо, он не займет места на диске.

/proc/ksyms - Таблица символов ядра.

/proc/loadavg - Ориентировочная загруженность системы.

/proc/meminfo - Информация об использовании памяти, как физической, так и swap-области.

/proc/modules - Список модулей ядра, загруженных в данный момент.

/proc/net - Информация о сетевых протоколах.

/proc/self - Символическая ссылка к каталогу процесса, пытающегося получить информацию из /proc. При попытке двух различных процессов получить какую-либо информацию в /proc, они получают ссылки на различные каталоги. Это облегчает доступ программ к собственному каталогу процесса.

/proc/stat - Различная статистическая информация о работе системы.

/proc/uptime - Время, в течение которого система находится в рабочем состоянии.

/proc/version - Версия ядра.

Хотя многие файлы имеют обычный текстовый формат, некоторые из них имеют собственный. Существует много программ, которые не только преобразуют такие файлы в формат, доступный для чтения, но и предоставляют некоторые функции. Например, программа free считывает файл /proc/meminfo и преобразует значения, указанные в байтах, в килобайты (а также предоставляет некоторую дополнительную информацию).

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

Файловые системы Linux содержат множество каталогов, большинство из которых определяются стандартом FHS(Filesystem Hierarchy Standard).

Назваие статьи состоит из терминов "каталог", "директория" и "папка". Рассмотрим их.

Каталог или директория (англ. directory — директория) — объект в файловой системе, упрощающий организацию файлов.

Папка (англ. folder) - этот термин используется для представления каталогов в графическом пользовательском интерфейсе.

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

Общая структура файловой системы ОС Linux

В зависимости от используемого дистрибутива Linux, некоторых из представленных каталогов может и не быть, или наоборот, могут присуствовать другие непредставленные тут каталоги. Я попытался собрать и дать описание лишь наиболее часто встречающихся каталогов в ОС Linux.

/ - корневой каталог

Главный каталог, в нем хранится все, что есть на вашей ОС Linux. Все разделы Linux хранятся в виде другого подкаталога в корневом каталоге /.

/bin - основные бинарные файлы (программы)

Содержит основные двоичные (бинарные) системные программы (модули), утилиты (ls, cp и т.п.) и командные оболочки (bash и т.п.), которые должны обеспечить минимальный уровень работоспособности системы в однопользовательском режиме. Размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.

/boot - файлы для загрузки ОС

Хранятся образы ядер Linux и файлы менеджеров загрузки (grub, lilo и т.д.).

/cdrom – точка монтирования для CD-дисков

Данный каталог не является частью стандарта FHS, содержится в Ubuntu и вышедших из него дистрибутивах. Используется как место для монтируования CD-ROM дисков.

/dev - файлы устройств

В Linux все устройства предоставлены в виде специфических файлов, расположеных в этом каталоге. Например, файл /dev/sda представляет диск SATA. Также в этом каталоге хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.

/etc - конфигурационные файлы

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

/home - домашние каталоги пользователей

Содержит домашние каталоги пользователей. По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя mara, то у вас есть домашний каталог, который находится в /home/mara и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге.

/lib - основные библиотеки

Эта директория предназначена для хранения системных библиотек и компонентов компилятора языка С, необходимых для работы программ из директорий /bin и /sbin и операционной системы в целом.

/lib64 - 64-битные основные библиотеки

Этот каталог присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.

/lost+found - восстановленные файлы

Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в каталоге lost+found, их можно попытаться восстановить.

/media - точка для автоматического монтирования

Используемая для автоматического монтирования различных устройств CD-ROM, USB-накопителей и т.д.

/mnt - точка для ручного монтирования

Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.

/opt - вспомогательные пакеты программ

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

/proc – файлы ядра и процессов

В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.

/root - Домашний каталог пользователя root

Домашний каталог пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root для большей надёжности системы.

/run – файлы состояния приложений

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

/sbin - бинарные файлы (программы) для администрирования системы

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

/selinux – виртуальная файловая система SELinux

В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается каталог с файлами /selinux.

/srv – данные сервисных служб

Этот каталог присуствует не во всех дистрибутивах, содержит "данные для сервисов, предоставляемых системой" (например сервер Apache может хранить файлы вашего сайта в этом каталоге). В большинстве случаев директория пуста.

/sys - виртуальная файловая система sysfs

Этот каталог появился с выходом ядра версии 2.6 и в него примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.

Описание вложеных каталогов:

/sys/block - содержит директории всех блочных устройств, присутствующих на данный момент в системе.

/sys/bus - содержит список шин, определенных в ядре Linux (eisa, pci и т.д.).

/sys/class - содержит список сгруппированных устройств по классам (printer, scsi-devices и т.д.).

/tmp - временные файлы

Временные файлы, обычно удаляются при перезагрузке системы. Является аналогом C:/Windows/Temp в ОС Windows. Все пользователи имеют права чтения и записи в этом каталоге.

/usr - пользовательские бинарные файлы, используемые только для чтения

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

Описание вложеных каталогов:

/usr/bin - исполняемые файлы для всех учетных записей.

/usr/games - каталог для компьютерных игр в системе.

/usr/include - файлы заголовков, предназначенные для компиляции С-программ.

/usr/lib - системные библиотеки и вспомогательные файлы, расположенные в директории /usr.

/usr/local - в этот каталог устанавливаются приложения, откомпилированные локально, что позволяет им не смешиваться с остальной частью системы.

/usr/local/bin - локальные исполняемые файлы.

/usr/local/etc - локальные системные команды и файлы конфигурации.

/usr/local/lib - локальные вспомогательные файлы.

/usr/local/sbin - локальные служебные системные команды.

/usr/local/src - исходные коды программ каталогов /usr/local/*

/usr/man - страницы интерактивной документации.

/usr/sbin - менее важные команды системного администрирования.

/usr/share - общие данные установленных программ (доступен только для чтения).

/usr/share/man - страницы интерактивной документации.

/usr/share/icons - иконки системы.

/usr/share/doc - справочная документация.

/usr/src - исходные коды нелокальных программных пакетов (например, здесь располагаются исходные кода ядра).

/var - каталог для часто меняющихся данных

В этом каталоге находятся журналы операционной системы, системные log-файлы, cache-файлы и т.д.

/var/adm - журнальные файлы, записи об инсталляции системы, административные компоненты.

/var/cache - все кэши для различных программ.

/var/games - файлы с игровыми достижениями.

/var/log - cистемные журнальные файлы (log-файлы).

/var/lock - лежат lock-файлы, указывающие на занятость некоторого ресурса.

/var/lib - изменяемые программами в процессе работы (например, базы данных, метаданные и др.).

/var/spool - буферные каталоги (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т.д.).

/var/tmp - каталог для временного хранения файлов.

/var/www - размещаются Web-страницы для сервера Apache.

Посмотреть структуру файловой системы можно используя команду ls -la. Ниже приведен пример вывода команды для дистрибутива OpenSUSE.

Вот и все. Рассмотрение предназначения основных встречающихся каталогов в файловой системы Линукс завершено.

Иерархия каталогов и файловых систем в Linux

В статье рассказывается о разработанном в рамках проекта Open Source стандарте на структуру каталогов UNIX-подобных операционных систем (подразумеваются Linux и BSD-системы).

Одно из первых понятий, с которыми сталкивается любой пользователь компьютера - это, безусловно, понятие файловой системы. При этом пользователь видит только одну сторону файловой системы, а именно, иерархическую структуру (или дерево) каталогов и файлов. Фактически все каталоги тоже являются файлами, и с точки зрения механизма хранения файлов на диске все файлы, включая каталоги, организованы одинаково [1]. Но для человека работать с “линейным” списком, содержащим тысячи файлов, было бы крайне неудобно, поэтому и было изобретено понятие “каталога”, чисто логического образования, позволяющего дать каждому файлу понятное для человека “полное имя”, определяющее некий “путь” к файлу в единой структуре каталогов.

Поскольку структура каталогов – понятие чисто логическое и к реальным механизмам работы с файлами не имеет отношения, изначально никаких особых требований на вид логического дерева каталогов со стороны операционной системы не предъявляется. И в силу этого каждый конкретный вариант операционной системы, в частности, каждый из дистрибутивов Linux, мог бы строить это дерево по-своему. Легко понять, что это могло бы привести к возникновению больших проблем в работе программного обеспечения от различных разработчиков, к несовместимости и непереносимости программ, установка новых программ в систему и работа большинства приложений были бы очень затруднены, поскольку масса времени уходила бы на поиск нужных файлов. Подчинение же структуры каталогов определенным стандартам позволяет обеспечить совместимость программного обеспечения, разрабатываемого разными группами авторов и в рамках различных дистрибутивов. Поэтому группой энтузиастов (как все, что создается в рамках движения Open Source) был разработан стандарт на структуру каталогов для UNIX-подобных ОС, так называемый стандарт иерархии файловых систем (Filesystem Hierarchy Standart или кратко FHS) .

Работа по созданию этого стандарта была начата в августе 1993 года с попытки упорядочить структуру файлов и каталогов операционной системы Linux. Вначале стандарт назывался проектом стандартов файловой системы - Filesystem Standarts project (FSSTND), и был ориентирован только на систему Linux. Его первая версия была выпущена 14 февраля 1994 года. Последующие редакции были выпущены 9 октября 1994 и 28 марта 1995 года. В разработке стандарта принимало участие большое количество добровольцев, но главным организатором был Дэниел Квинлан (Daniel Quinlan).

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

В основу разработки стандарта были положены следующие соображения.

Во-первых, учитывалось, что в UNIX-подобных ОС структура каталогов представлена в виде единого дерева. Отдельные «ветви» этого дерева могут располагаться на разных носителях, или в разных файловых системах, причем эти файловые системы могут быть разными по своей внутренней организации – на одном носителе это файловая система ext2fs, на другом – vfat, и так далее. Разработчики стандарта стремились обеспечить оптимальное размещение файлов в разных файловых системах с тем, чтобы оптимизировать процессы загрузки, последующего функционирования и возможного обновления системы.

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

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

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

Читайте также: