Что такое директория linux

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

Обновл. 20 Фев 2021 |

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

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

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

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

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

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

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

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

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

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

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

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

/dev/null — это специальное устройство («пустое устройство»), которое не производит вывода и автоматически отбрасывает все поступающие входные данные. Когда вы передаете вывод информации от какой-нибудь команды на устройство /dev/null , то вся эта информация попросту будет отброшена;

/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 — каталог совместно используемых библиотек

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поделиться в социальных сетях:

Источник

rmnssnvsk / structure-dir-linux.md

Структура директорий в ОС Linux

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.

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

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

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

Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя. Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы. Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.

В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена. В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.

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

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

Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB-накопители, CD-ROM и т.д.

Директория, в которой обычно размещаются установленные программы, имеющие большой дисковый размер или вспомогательные пакеты (например /opt/openoffice.org).

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

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

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.

/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.

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

В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).

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

Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

В этом каталоге хранятся все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме суперпользователя root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин.

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

Каталог для размещения доступных компьютерных игр в системе.

Заголовочные файлы С++.

Системные библиотеки для программ, расположенных в директории /usr.

Дополнительные системные программы.

Общие данные установленных программ.

В каталоге находятся все иконки системы.

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

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

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

В этом месте хранятся все кэши различных программ.

В этом месте расположены файлы с игровыми достижениями.

Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).

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

В этом месте хранятся все log-файлы.

Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).

В этом месте размещаются Web-страницы для сервера Apache.

Источник

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, но не сам /.

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

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

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

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

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

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

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

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

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

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

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

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

/usr/sbin/

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

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

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

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

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

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

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

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

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

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

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

Выводы

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Структура директорий Linux. Важные файлы Linux

Особенности организации файлов в Linux

В Linux файловая система организована иначе чем в Windows.

Первое, что бросается в глаза, нет дисков C, D, E и так далее.

Второе, про что часто говорят, но не совсем просто осознать — всё в Linux является файлами. То есть сами файлы, очевидно, являются файлами; директории также являются файлом особого вида; физические устройства (диски, клавиатура, мышь и т. д. — это всё тоже файлы) и даже сетевые соединения — это тоже файлы.

Третье — в Linux есть root. Имеется ввиду корень файловой системы, который обозначается как «/». Ещё в Linux есть главный пользователь, имя которого тоже root — не нужно путаться, это довольно разные вещи. Кстати, ведь ещё есть и директория с именем /root. Говоря про корень файловой системы, имеется ввиду «/», а не «/root».

Где в Linux диски C, D, E?

Допустим имя диска /dev/hdc, что можно сказать о нём? Можно утверждать, что это жёсткий диск и он третий в системе.

Диски могут иметь и другие имена, например, у меня системный диск называется /dev/nvme0n1 — я погуглил, оказывается это новый вид твердотельных дисков NVM Express (NVMe).

Итак, мы уже нашли диск C? Не совсем. Имя /dev/sda это всего лишь обозначение устройства, которое предполагает использование имени для управления самим устройством. Например, если мы хотим создать новый раздел на диске или изменить размеры существующих, то мы откроем соответствующую программу, и в качестве параметра передадим ей имя диска, с которым хотим работать. Мы не можем открывать файлы обращаясь к диску по имени вида /dev/*

Монтирование дисков в Linux

В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Я и сам так думал, т. к. во времена моего первого знакомства с Linux это мне казалось чем-то излишним и запутанным. Но монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!

Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:

Зачем нужно монтирование

С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!

Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.

В общем, несмотря на то, что монтирование является чем-то непривычным для пользователей Windows, это потрясающая функция! Причём ничего сложного в этом нет, если понять суть.

Что такое корень файловой системы?

Понятно, что корень файловой системы — это главная директория, в которой находятся все другие. Но что это в физическом смысле? Как я уже сказал, диски могут монтироваться в самые разные места файловой системы, сменные носители и постоянные диски довольно часто монтируются в /mnt/ или в /media/, так как они специально предназначены для этого (это понятно даже из названия). Так вот, корневая файловая система — эта та точка, куда смонтирован системный диск. Можно сказать, что корень файловой системы Linux, это как примерно диск C в Windows. Другие диски, вместо присвоения им букв D, E, F и пр., монтируются ниже по иерархии в какие-то указанные для них точки файловой системы.

О командах для перемещения по директориям файловой системы смотрите «Азы работы в командной строке Linux (часть 1)».

Описание директорий Linux

Далее рассмотрим значение всех важнейших папок (здесь они называются директориями) в корневой файловой системе Linux, а также познакомимся с важнейшими файлами в них.

Чтобы посмотреть, какие директории есть в корне файловой системы, можно выполнить команду:

Давайте рассмотрим значение и содержимое каждой папки в Linux.

/bin : Все исполнимые бинарные программы (файлы) необходимые во время загрузки, восстановления и ремонта системы; файлы, необходимые для запуска в однопользовательском режиме и другие важные, основные команды, такие как cat, du, df, tar, rpm, wc, history, и др. В настоящее время обычно представляет собой ссылку на директорию /usr/bin, то есть фактически исполнимые файлы находятся в папке /usr/bin.

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

/dev : Содержит файлы устройств для всех физических устройств на данной машине, например, cdrom, cpu и т. д. Как мы уже знаем, здесь же размещены файлы дисков — на случай, если понадобится смонтировать новый диск или сменный носитель.

/dev/disk — содержит 4 поддиректории: by-id, by-partuuid, by-path и by-uuid. В которых перечислены уникальные идентификаторы дисков и разделов устройств хранения по которым также можно обращаться к дискам, например, в файле /etc/fstab. Подробности смотрите в статье «Постоянные имена для блочных устройств».

/dev/nvme* — устройства NVM Express (NVMe), например, /dev/nvme0n1. Это разновидности SSD дисков

/dev/null — своеобразная чёрная дыра. Если запущенная программа выводит какую-то информацию, но она вам не нужна, то вы можете перенаправить её в /dev/null, и она исчезнет без вывода на экран

/dev/random — является источником случайных чисел (например, чтобы заполнить ими диск для надёжного удаления данных)

/dev/sdX — блочные устройства к которым относятся внутренние диски, USB флешки и диски, а также карты памяти. В именах вместо X используются буквы a, b, c и так далее, например /dev/sda и /dev/sdb

/dev/stderr, /dev/stdin и /dev/stdout — стандартный вывод ошибок, стандартный ввод и стандартный вывод соответственно. Если программа не поддерживает стандартный ввод, то для обхода можно использовать /dev/stdin, это нужно указать вместо имени файла. Если программа поддерживает только сохранение результатов в файл, но не поддерживает стандартный вывод, то можно в качестве имени файла указать /dev/stdout и результаты будут выведены в стандартный вывод (на экран) вместо сохранения в файл.

/dev/zero — возвращает бесконечные нули (иногда нужно)

/etc : Содержит файлы конфигурации приложений, а также файлы управления службами Systemd.

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

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

/etc/crypttab— аналог /etc/fstab для зашифрованных дисков, то есть содержит конфигурацию для зашифрованных блочных устройств

/etc/fstab — статичная информация о файловой системе. В этом файле содержится информация для автоматического монтирования дисков при загрузке компьютера.

Посмотрим на мой файл

Из этого файла следует, что раздел /dev/nvme0n1p1 (в данном случае диски обозначаются по их UUID) монтируется в /boot, раздел /dev/nvme0n1p2 монтируется в / (корень файловой системы), диск /dev/sda (он не разделён на разделы) монтируется в /mnt/disk. И ещё есть файл /swapfile, который выполняет роль свопа (файла подкачки).

/etc/anacrontab — одно из расположений периодически запускаемых задач cron

/etc/bashrc — глобальный скрипт запуска

/etc/cron.hourly/ — одно из расположений периодически запускаемых задач cron

/etc/cron.daily/ — одно из расположений периодически запускаемых задач cron

/etc/cron.weekly/ — одно из расположений периодически запускаемых задач cron

/etc/cron.monthly/ — одно из расположений периодически запускаемых задач cron

/etc/cron.d/ — одно из расположений периодически запускаемых задач cron

/etc/group — группы пользователей

/etc/host.conf — файл настройки для resolver

/etc/resolv.conf — ещё один файл настройки для resolver, содержит список DNS серверов, к которым должна обращаться система

Пример содержимого файла /etc/resolv.conf:

/etc/hosts — файл с информацией об IP адресах указанных хостов. Подробности смотрите в статье «Как настроить локальный DNS используя файл /etc/hosts в Linux».

/etc/mtab — динамическая информация о файловых системах

/etc/passwd — раньше этот файл хранил информацию о паролях пользователей, но теперь здесь просто список пользователей и информация об их оболочке

/etc/shadow — в этом файле хранятся хеши паролей пользователей

/etc/profile — общесистемный файл инициализации для входа в оболочку (сюда можно прописать переменные среды или функции, которые должны быть доступны для каждого пользователя в терминале после загрузки компьютера)

/etc/profile.d/* — директория, содержащая глобальные скрипты запуска

/etc/protocols — список IP протоколов

/etc/services — имена портов для сетевых служб

/etc/my.cnf — файл конфигурации MySQL/MariaDB (содержит отсылку на /etc/my.cnf.d)

/etc/my.cnf.d/ — директория, в которой фактически располагаются конфигурации MySQL/MariaDB

/etc/my.cnf.d/client.cnf — конфигурация клиента MySQL/MariaDB

/etc/my.cnf.d/server.cnf — конфигурация сервера MySQL/MariaDB

/etc/apache2/ — директория с настройками веб-сервера (когда служба называется apache2 — то есть в таких системах как Debian и производных)

/etc/apache2/conf/httpd.conf — главный конфигурационный файл Apache

/etc/apache2/conf/sites-enabled/ — включённые виртуальные хосты Apache

/etc/httpd/ — директория с настройками веб-сервера (когда служба называется httpd — то есть в таких системах как Arch Linux и производных)

/etc/httpd/conf/httpd.conf — главный конфигурационный файл Apache

/etc/httpd/conf/sites-enabled/ — включённые виртуальные хосты Apache

/etc/php/php.ini — главный конфигурационный файл PHP

/etc/systemd/ — директория с файлами Systemd. Подробности смотрите в статье «Как использовать Systemctl для управления службами Systemd и юнитами».

/etc/NetworkManager/system-connections/ — подключения к сети, которые настроены через NetworkManager.

/etc/openvpn — папки и файлы с настройками и сертификатами OpenVPN

/etc/ssh/ — конфигурационные файлы и ключи SSH

/etc/ssh/ssh_config — конфигурационный файл клиента SSH

/etc/ssh/sshd_config — конфигурационный файл сервера SSH

/etc/ssh/ssh_host_* (/etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_dsa_key.pub и другие) — SSH ключи

/etc/easy-rsa — здесь могут находиться файлы и сертификаты CA (Центра авторизации)

/home : домашний каталог пользователей. Каждый раз, когда создаётся новый пользователь, в домашнем каталоге создаётся каталог в соответствии с именем пользователя (например, для пользователя mial это будет /home/mial/), который содержит другие каталоги, такие как Рабочий стол (Desktop), Загрузки (Downloads), Документы (Documents) и т. д.

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

В некоторых дистрибутивах путь

/bin (то есть папка bin в домашней директории пользователя), добавлены в системную переменную $PATH. Это означает, что если поместить в эту папку файл, то он будет доступен в консоли по имени файла (не нужно указывать полный путь).

/.bashrc — специфичный для пользователя скрипт запуска

/.bash_login — специфичный для пользователя скрипт запуска

/.bash_profile — специфичный для пользователя скрипт запуска

/.profile — специфичный для пользователя скрипт запуска

/.bash_history — история команд, введённых пользователем

/.ssh/ — ключи и другие файлы клиента SSH

Аналогичные файлы также содержатся в директории /root/.

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

/lost+found : Этот каталог создаётся во время установки Linux, полезен для восстановления файлов, которые могут быть повреждены из-за неожиданного завершения работы. Если программа для поиска ошибок в файловой системе выявила проблема (например, нашла повреждённые файлы), то эти файлы будут перемещены в этот каталог.

/media : Точки монтирования для съёмных носителей, таких как CD-ROM (появились в FHS-2.3).

/mnt : Каталог монтирования для временного монтирования файловых систем (внешних дисков, USB накопителей и т.д.).

/opt : Аббревиатура от слова «опциональный», то есть необязательный. Содержит стороннее программное обеспечение, такое как Java, cuda, dropbox, metasploit, viber, vuze и т.д.

/proc : Виртуальная и псевдо-файловая система, которая содержит информацию о запущенных процессах и настройках ядра в виде файлов. Виртуальная файловая система, предоставляющая информацию о процессах и ядре в виде файлов. В Linux соответствует монтированию procfs. Обычно автоматически генерируется и заполняется системой на лету.

Подробности и описание самых востребованных файлов и каталогов этой директории смотрите в статье «Что такое файловая система /proc в Linux».

Примеры файлов в директории /proc:

/proc/partitions – Информация о доступных в системе разделах.

/proc/stat – Записи или различные статистики хранимые с последней перезагрузки.

/proc/swaps – Информация о swap разделе.

/proc/uptime – Информация об аптайме (времени работы) (в секундах).

/root : Это домашний каталог пользователя root, и его никогда не следует путать с «/».

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

/run : Информация о системе с момента её загрузки, в том числе данные, необходимые для работы демонов (pid-файлы, UNIX-сокеты и т.д.).

/sbin : Содержит двоичные исполняемые программы, необходимые системному администратору для обслуживания: iptables, fdisk, ifconfig, swapon, reboot и т.д.

/srv : Название директории является аббревиатурой от «сервисы». Эта директория содержит файлы, имеющие отношение к сервисам. Например здесь хранят файлы такие сервисы как deluge, ftp, http.

/srv/http/ — некоторые дистрибутивы (например, Arch Linux) хранят здесь файлы веб-сервера.

/sys : Содержит информацию об устройствах, драйверах, а так же некоторых свойствах ядра.

Современные дистрибутивы Linux включают директорию /sys в качестве виртуальной файловой системы, которая хранит и позволяет модифицировать устройства, подключённые к системе.

/sys/block/ — содержит информацию о дисках

/sys/block/sda/device/model — содержит информацию о модели диска sda

/tmp : Системный временный каталог, доступный пользователям и root. Сохраняет временные файлы для пользователя и системы, которые удаляются при следующей загрузке.

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

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

/usr/include — стандартные заголовочные файлы (хедэры).

/usr/lib — библиотеки для программ, находящихся в /usr/bin и /usr/sbin.

/usr/local — третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие подкаталоги, как bin, lib, share.

/usr/sbin — дополнительные системные программы (такие как демоны различных сетевых сервисов).

/usr/share — архитектурно-независимые общие данные.

/usr/share/easy-rsa — здесь могут находиться файлы и сертификаты CA (Центра авторизации)

/usr/share/webapps — веб-приложения веб-сервера, например, owncloud, phpMyAdmin и др.

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

/var : Директория для переменных данных. Содержимое файлов в этой директории, как ожидается, будет расти. Этот каталог содержит файлы журналов, lock, spool, почты и временных файлов.

/var/cache — кэш приложений. Такие данные генерируются локально в результате ресурсозатратных вычислений или операций ввода-вывода. Приложение обязано уметь регенерировать эти данные. Данные файлы могут быть удалены без потери данных.

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

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

/var/log/ — содержит логи различных программ и служб

/var/log/apache2/ — логи веб-сервера Apache (в Debian и производных)

/var/log/httpd/ — логи веб-сервера Apache (в Arch Linux)

/var/log/wtmp (в некоторых системах /var/log/utmp) — файл, содержащий записи входов. Просмотреть записи можно командой «last»

/var/mail — почтовые ящики пользователей.

/var/run — каталог для хранения информации о системе с момента её загрузки, на данный момент устарел. Допускается делать его ссылкой на /run. Каталог оставлен для обратной совместимости с программами, которые всё ещё используют каталог /var/run.

/var/spool — задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).

/var/spool/cron/ — одно из расположений периодически запускаемых задач cron

/var/spool/cron/crontabs/ — одно из расположений периодически запускаемых задач cron

/var/spool/mail — местоположение пользовательских почтовых ящиков (устаревшее).

/var/tmp — временные файлы, которые должны быть сохранены между перезагрузками.

/var/www/html/ — директория с файлами веб-сайтов веб-сервера Apache в Debian и производных дистрибутивах.

Заключение

Если я пропустил какие-то важные папки или файлы, то пишите их в комментариях!

Дополнительную информацию о директориях вы также найдёте в статье «Какие файлы можно удалить при нехватке места на диске Linux».

Связанные статьи:

Рекомендуется Вам:

5 комментариев to Структура директорий Linux. Важные файлы Linux

Ps Кроме упомянутого способа адресации устройства (в статье приведена адресация по имени устройства) в Linux cуществуют ещё как минимум два: адресация по ID (индификатору устройства ) Lebel (адресация по лейболу устройства) о которых автор скромно умолчал.

Приветствую! Статья не претендует ни на какую новизну или полноту описания темы. Цель статьи — ответить на простейшие вопросы, которые настолько просты, что на них никто не удосуживается ответить ни в инструкциях, ни в книгах по Linux:

— зачем при установке предлагают смонтировать домашнюю папку на другой диск?

— зачем вообще нужно монтирование дисков?

— где второй и другие диски в Linux?

— для чего каждая папка в Linux и почему их так много?

— где в Linux находится файл отвечающий за…?

На начальном этапе знакомства с Linux я был бы рад прочитать именно ответы на похожие вопросы, а не про синтаксис команды mount (какая мне разница, какой у неё синтаксис, если я не понимал для чего в принципе нужно монтирование).

Про адресацию к дискам, ну да, в директории /dev/disk/ есть ещё четыре поддиректории:

В принципе, их можно упомянуть при описании директорий. Но не стоит перенагружать новичков, которые впервые увидели /dev/sda, /dev/sdb, /dev/nvme0n1 и прочее.

Я хоть и Linux-оид, но красными глазами и предвзятостью не страдаю. Поэтому не приковыривайтесь к автору и идите википедию читайте! К вашему огромному сожалению идентификация по ID файловой системы еще задолго до Linux-а появилась. Поэтому прежде чем поучать идите вначале информацию проверяйте!
Автор нормально все написано. Побольше таких статей.

Приветствую! Спасибо за поддержку, но я чуть отредактировал ваш комментарий — не нужно грубостей.

Я хорошо отношусь к критике, если она нормальная. Благодаря комментариям, как с вопросами, так и с критикой, некоторые статьи стали лучше. Поэтому всё нормально.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что такое директива в программировании
  • Что такое динамическое программирование
  • Что такое динамические диски windows 10
  • Что такое дилерская программа
  • Что такое диктатура пролетариата для чего она по мнению авторов программы нужна

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии