Какие основные каталоги содержаться в корневом каталоге в linux
Rebuild world
Глобальный модератор
Карма: 14
Сообщений: 1886
Ubuntu forever
Итак, после установки любого дистрибутива Linux, открыв любой файловый менеджер Вы не увидите привычных букв раделов HDD a-la Windows, типа A, C, D и т.д. до Z. Файловая система Linux организована иначе, она имеет древовидную структуру, которая, как и любое дерево начинается с корня (точка монтирования «/»).
Перечень основных каталогов Linux:
/ — корень
/bin — Этот каталог содержит в основном готовые к исполнению программы, большинство из которых необходимы во время старта системы (или в однопользовательском системном режиме, используемом для отладки). Здесь хранится значительное количество общеупотребительных команд Linux
/boot — Содержит основные постоянные файлы для загрузки системы, в частности загружаемое ядро. Файлы из этого каталога нужны только во время загрузки системы
/dev — Каталог специальных файлов или файлов устройств.
/etc — Этот каталог и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы.
/home — Обычно в этом каталоге находятся домашние каталоги пользователей
/lib — Этот каталог содержит разделяемые библиотеки функций
/media — сюда монтируются компакт-диски, флэшки и виндовые разделы
/mnt — это стандартная точка монтирования для временных файловых систем (сейчас в основном используют /media)
/proc — Это точка монтирования для файловой системы proc, которая обеспечивает информацию о выполняющихся процессах, ядре, оборудовании вычислительной установки и т. д. Это псевдо-файловая система, подробности о которой можно узнать по команде man 5 proc. Специальные файлы из этого каталога используются для получения и передачи данных ядру
/root — Это домашний каталог суперпользователя. Обратите внимание на то, что он расположен не там, где располагаются личные каталоги остальных пользователей (в /home)
/sbin — Подобно каталогу /bin содержит в основном исполняемые файлы программы и утилиты ОС, используемые в процессе загрузки и запускаемые системным администратором. В стандарте FHS говорится, что в этот каталог надо помещать те исполняемые файлы, которые используются после успешного подключения файловой системы /usr.
/tmp — Каталог для временных файлов. В любой момент суперпользователь может удалить файлы из этого каталога без большого ущерба для остальных пользователей. Однако, не стоит удалять файлы из этого каталога, если вам не стало ясно, что конкретный файл или группа файлов мешают продолжению продуктивной работе на машине. Система сама периодически очищает этот каталог, поэтому не следует хранить тут файлы, которые вам могут понадобиться в дальнейшем
/usr — Этот каталог огромен и его структура в основном повторяет структуру корневого каталога. В его подкаталогах находятся все основные приложения
/var — Этот каталог содержит файлы, в которых сохраняются различные переменные данные, определяющие конфигурацию некоторых программ при следующем запуске или временно сохраняемую информацию, которая будет использоваться позже в ходе текущего сеанса. Объем данных в этом каталоге может сильно изменяться, поскольку он содержит, например, файлы протоколов (логи), файлы спулинга и блокировки (locking), временные файлы и т. д.
Маленькое разъяснение:
Документы пользователя, настройки программ пользователя, рабочий стол находятся в каталоге /home/user_name и вообще это та папка, за пределами которой руками делать ничего не рекомендуется.
В директории /boot находится ядро системы и загрузчик (lilo или grub)
Если есть Windows в параллельной загрузке, то её разделы форматированные в FAT, FAT32 и NTFS монтируются в каталог /media(или mnt)/(метка диска или hda(sda)1,2,3 и т.д.). По содержимому всегда можно определить, какому диску Windows соответствует данный раздел. /media(или mnt)/floppy — это дискета 3,5. /media(или mnt)/cdrom — это ессно cdrom и есть.
Варианты монтирования в /media или в /mnt зависят от дистрибутива!
Понимание файловой системы 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 — принтер
Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cpus.
/var/lock — файлы блокировок
Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.
/var/run — PID процессов
Содержит файлы с PID процессов, которые могут быть использованы, для взаимодействия между программами. В отличие от каталога /run данные сохраняются после перезагрузки.
/tmp (temp) — Временные файлы
В этом каталоге содержатся временные файлы, созданные системой, любыми программами или пользователями. Все пользователи имеют право записи в эту директорию.
Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка WindowsTemp, здесь тоже хранятся все временные файлы.
/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. Эту папку можно сравнить с WIndowssystem32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.
/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 чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.
Оригинал:
«The Linux Directory Structure Explained»
Автор: Chris Hoffman
Дата публикации: June 6th, 2012
Перевод: Н.Ромоданов
Дата перевода: июдь 2012 г.
Если вы перешли с системы Windows, то структура файловой системы Linux может показаться особенно странной. Исчезло устройство C: и буквы остальных устройств, уступив место каталогу / и другим каталогам с загадочными названиями, большинство из которых трехбуквенные
Структура файловой системы в Linux и в других UNIX-подобных операционных системах определяется стандартом Filesystem Hierarchy Standard (FHS). Однако в файловых системах Linux также есть некоторые каталоги, которые еще не определены в этом стандарте.
Корневой каталог — /
Все на вашей системе Linux находится в каталоге /, известном как корневой каталог. Вы можете рассматривать каталог / как аналог устройства C: в системе Windows — но это не совсем верно, поскольку в Linux для устройств не используются буквы. Если в Windows другой раздел диска может находиться в D:, такой другой раздел в Linux появится в виде другого подкаталога в каталоге /.
/bin – основные двоичные пользовательские модули
В каталоге /bin находятся основные двоичные пользовательские модули (программы), которые должны присутствовать, если система монтируется в однопользовательском режиме. Приложения, например, Firefox, хранятся в /usr/bin, в то время как важные системные программы и утилиты, такие как командная оболочка bash, расположены в каталоге /bin. Каталог /usr может храниться в другом разделе — размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы. Каталог /sbin аналогичен — в нем находятся основные двоичные модули, используемые для системного администрирования.
/boot – файлы статической загрузки
В каталоге /boot находятся файлы, необходимые для загрузки системы — например, здесь хранятся файлы загрузчика GRUB и ваши ядра Linux. Здесь нет конфигурационных файлов, используемых загрузчиком — они находятся в каталоге /etc вместе с другими конфигурационными файлами.
/cdrom – исторически выбранная точка монтирования для CD-дисков
Каталог /cdrom не является частью стандарта FHS, но вы по-прежнему можете найти его в Ubuntu и в других операционных системах. Это временное место, где монтируются диски CD-ROM, когда они вставляются в компьютер. Однако, стандартное место для подключаемого носителя находится внутри каталога /media.
/dev – файлы устройств
В Linux устройства предоставлены в виде файлов и в каталоге /dev находится ряд специальных файлов, с помощью которых представлены устройства. Это не те файлы, которые мы знаем, но здесь они выглядят в виде файлов — например, с помощью /dev/sda представлен первый диск SATA, имеющийся в системе. Если вам на нем нужен раздел, вам нужно запустить редактор разделов и сообщить ему, что нужно отредактировать /dev/sda.
В этом каталоге также находятся псевдо-устройства, которые являются виртуальными устройствами и для которых, на самом деле, нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа. Файл /dev/null является специальным устройством, которое не выдает никаких выходных данных и автоматически удаляет все входные данные — когда вы перенаправляете выходные данные команды на /dev/null, то вы их удаляете.
/etc – конфигурационные файлы
В каталоге /etc находятся конфигурационные файлы, которые обычно можно отредактировать вручную в текстовом редакторе. Обратите внимание, что в каталоге /etc/ размещены общесистемные конфигурационные файлы; пользовательские конфигурационные файлы находятся в домашнем каталоге каждого пользователя.
/home – домашние каталоги
В каталоге /home находятся домашние каталоги каждого пользователя. Например, если ваше имя как пользователя bob, то у вас есть домашний каталог, который находится в /home/bob. В этом каталоге находятся файлы с пользовательскими данными и конфигурационные файлы конкретного пользователя. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге и для того, чтобы он мог изменять другие файлы в системе, он должен получить более высокие права доступа (стать пользователем root).
/lib – основные разделяемые библиотеки
В каталоге /lib находятся библиотеки, необходимые для основных двоичных файлов, находящихся в каталогах /bin и /sbin. Библиотеки, необходимые двоичным файлам, находящимся в каталоге /usr/bin, находятся в каталоге /usr/lib.
/lost+found – восстановленные файлы
В каждой файловой системе Linux есть каталог lost+found. Если произошел сбой в работе файловой системы, то при следующей загрузке будет выполнена проверка файловой системы. Все найденные поврежденные файлы будут размещены в каталоге lost+found, так что вы можете попытаться восстановить данные настолько, насколько это можно будет сделать.
/media – подключаемые носители
В каталоге находятся подкаталоги, в которых монтируются съемные носители, вставляемые в компьютер. Например, когда вы в системе Linux вставляете диск CD, в каталоге /media будет автоматически создан соответствующий подкаталог. В этом подкаталоге вы можете получить доступ к содержимому диска CD.
/mnt – точки временного монтирования
Исторически сложилось, что каталог /mnt является тем местом, где системные администраторы монтируют временные файловые системы, когда они их используют. Например, если вы монтируете раздел Windows для того, чтобы выполнить некоторые операции восстановления файлов, вы можете смонтировать его в /mnt/windows. Но другие файловые системы вы можете монтировать в любом другом месте.
/opt – вспомогательные пакеты
В каталоге /opt находятся подкаталоги для дополнительных пакетов программного обеспечения. Этот каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем — например, проприетарная программа может при установке записывать дампы своих файлов в /opt/application.
/proc – файлы ядра и процессов
Каталог /proc похож на каталог /dev, поскольку он не содержит стандартных файлов. В нем находятся специальные файлы, в которых представлена информация о системе и о процессах.
/root – домашний каталог пользователя root
Каталог /root является домашним каталогом пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root. Этот каталог отличается от каталога /, который является корневым каталогом системы.
/run – файлы состояния приложений
Каталог /run является достаточно новым каталогом, в котором приложениям предоставляется возможность стандартным образом хранить вспомогательные файлы, которые им требуются, например, сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp поскольку файлы в каталоге /tmp могут быть удалены.
/sbin –двоичные файлы администрирования системы
Каталог /sbin похож на каталог /bin. В нем находятся важные двоичные файлы, которые, как правило, предназначены для их запуска пользователем при администрировании системы.
/selinux – виртуальная файловая система SELinux
Если в вашем дистрибутиве для обеспечения безопасности используется пакет SELinux (например, в Fedora и Red Hat), то в каталоге /selinux будут находиться специальные файлы, используемые SELinux. Этот каталог похож на каталог /proc. В Ubuntu SELinux не используется, поэтому наличие этой папки в Ubuntu, возможно, является ошибочным.
/srv – данные сервисных служб
В каталоге /srv находятся «данные для сервисов, предоставляемых системой». Если вы пользуетесь сервером Apache HTTP для обслуживания веб-сайта, то, скорее всего, вы будете хранить файлы вашего сайта в каталоге, расположенном внутри каталога /srv.
/tmp – временные файлы
Приложения хранят временные файлы в каталоге /tmp. Такие файлы обычно удаляются всякий раз, когда ваша система перезагружается, и их можно удалить в любой момент с помощью утилит, например, с помощью утилиты tmpwatch.
/usr – пользовательские двоичные файлы и данные, используемые только для чтения
В каталоге /usr находятся приложения и файлы, используемые пользователями, в отличие от приложений и файлов, используемых системой. Например, не очень важные приложения находятся в каталоге /usr/bin, а не в каталоге /bin, а не очень важные двоичные файлы, предназначенные для системного администрирования, находятся в каталоге /usr/sbin, а не в каталоге /sbin. Библиотеки для них находятся внутри каталога /usr/lib. В каталоге также есть другие подкаталоги — например, в каталоге /usr/share расположены файлы, независимые от архитектуры системы, например, используемые для работы с графикой.
Каталог /usr/local является местом, где по умолчанию устанавливаются приложения, откомпилированные локально — это позволит им не смешиваться с остальной частью системы.
/var – файлы для хранения изменяющихся данных
Каталог /var является аналогом каталога /usr, но в каталог /var можно делать запись, а каталог /usr в обычном режиме предназначен только для чтения. Журнальные файлы и все остальное, что должно было бы записываться в обычном режиме в каталог /usr, записывается в каталог /var. Например, журнальные файлы вы сможете найти в каталоге /var/log.
Для получения более подробной технической информации о иерархии файловой системы в Linux обратитесь к документации стандарта иерархии файловых систем Filesystem Hierarchy Standard, ver.2.3.
Примечание: На нашем сайте имеется перевод FHS версии 2.2, а также
перевод статьи, в которой
делается попытка объяснить причины, почему появился именно такой вариант структуры каталогов UNIX.