Дерево каталогов linux это

Обновлено: 05.07.2024

Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий.

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

В ОС Windows жесткие диски называются латинскими буквами (С:, D:, . ), и каждый из дисков представляет собой корневой каталог с собственным деревом папок. Подключение же нового устройства приведет к появлению нового корневого каталога со своей буквой (например, F:). В ОС Linux файловая система представлена единым корневым каталогом, обозначаемым как слэш (/). Соответственно, при данной файловой структуре не диски содержат каталоги, а каталог — диски.

Подключение внешних носителей

В ОС Linux имеется процедура монтирования: когда подключается съемный носитель или диск, файл устройства будет виден в каталоге /dev (devices). Чтобы увидеть содержимое этого устройства, его нужно смонтировать в отдельную директорию /mnt. Также файловая система позволяет примонтировать его и в любое другое место, например /home.

Понятие файла

Понятие «файл» в Linux имеет несколько другое значение, нежели в Windows. «Файлом» можно назвать обычный файл, содержащий данные, и интерпретируемый программой. Директория также является «файлом», содержащим в себе ссылки на другие директории или файлы с данными. Файлы устройства указывает на драйвер, благодаря которому система взаимодействует с физическими устройствами. Имеются и многие другие типы файлов.

Принцип установки программ

Если в Windows программы, зачастую, хранят все данные в одной папке, например в «C:Program FilesProgramName», то в Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

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

Чтобы команда работала на машинах с ОС Linux, нужно от имени администратора установить соответствующую утилиту — в набор «из коробки» она не входит.

Синтаксис и опции tree

Запись команды tree ничем не отличается от большинства стандартных команд и выглядит следующим образом:

$ tree опции

Опций у команды tree множество. Вот те из них, которые отвечают за отображение дерева папок:

  • -a — вывод всех без исключения файлов.
  • -d — только список директорий.
  • -l — переход по символическим ссылкам, которые ведут к папкам.
  • -f — содержимое папок будет показано с префиксами пути.
  • -x — учитывает только текущую файловую систему.
  • -L — задает уровень вложенности для отображения в выводе.
  • -R — рекурсивный переход по каталогам всех уровней.
  • -P — отображение файлов, название которых соответствует шаблону.
  • -I — исключение из вывода файлов, название которых соответствует шаблону.
  • -o — печать вывода в файл с заданным именем.
  • --noreport — запрещает команде выводить отчет по количеству папок и файлов в конце дерева.
  • --charset — задает кодировки для отображения графических и html-файлов.
  • --filelimit — папки, которые содержат больше файлов, чем указано, показаны не будут.

А эти опции используются для управления отображением названий документов:

  • -q — заменяет непечатные символы в названиях файлов знаком ?.
  • -N — выводит непечатные символы в названиях файлов как есть.
  • -Q — заключает названия файлов в двойные кавычки.
  • -p — для каждого из файлов указывает его название и список разрешенных действий.
  • -u — печатает имя или идентификатор учетной записи, под которой был создан файл.
  • -g — печатает имя или идентификатор группы пользователей, которая имеет права на доступ к файлу.
  • -s — рядом с названием файла выводит его размер в байтах.
  • -h — выводит размер файла в более простом для человеческого восприятия виде, добавляя к числу буквенное сокращение.
  • -D — печатает дату последнего изменения файла (либо последнее изменение статуса в комбинации с опцией -c).
  • -F — добавляет символ / для папок, = для файлов сокета, * для исполняемых файлов, > для door-файлов, | для специальных файлов FIFO.
  • --inodes — выводит номера индексных дескрипторов для файлов и папок.
  • --device — указывает номер устройства, к которому принадлежит файл или папка.

Опции для сортировки результатов:

  • -v — упорядочивает выдачу по уровням вложенности.
  • -t — сортирует выдачу по дате последнего изменения файлов и папок.
  • -c — сортирует выдачу по дате последнего изменения статуса.
  • -U — результаты будут выведены в том порядке, в котором папки расположены на диске.
  • -r — сортирует выдачу в обратном порядке.
  • --dirsfirst — сначала будут показаны папки, потом — файлы.

Опции отображения дерева:

  • -i — убирает линии («ветки» дерева), файлы и папки отображаются в виде списка.
  • -n — делает дерево одноцветным.
  • -C — возвращает дереву разноцветное отображение после использования опции -n.

Дальше рассмотрим как команда tree в linux может использоваться на примерах.

Примеры использования tree

Самый простой способ использовать команду tree Linux — напечатать в терминале всего лишь одно слово:

Результатом станет стандартное отображение структуры папок. Размер выдачи зависит от того, сколько хлама накопилось на жестком диске. У автора его столько, что листать — не перелистать:


Немного сократить объем информации можно, попросив команду показывать только папки. Для этого служит опция -d. А чтобы отпилить от дерева еще больше ненужных веток, установим ограничение на количество файлов, которые хранятся в папках (если файлов больше, папка не попадет в выдачу). В этом нам поможет опция --filelimit.

tree -d --filelimit 26

Кстати, нельзя устанавливать лимит меньше, чем 25 файлов.


По умолчанию команда tree в linux не показывает скрытые папки. Чтобы увидеть их, следует воспользоваться опцией -a. Заодно не помешает упорядочить выдачу — например, по уровням вложенности (параметр -v). Ну и почему бы не узнать, когда тот или иной файл был изменен последний раз — добавим к команде еще и -D.


Теперь поработаем с определенной группой файлов. Для примера отберем те, у которых формат pdf — сделать это позволяет опция -P. Она дает команде понять, что нужно выводить только документы, соответствующие маске. Чтобы задать маску для любого количества символов от 0 до бесконечности используется знак *, а чтобы обозначить только 1 символ — знак ?. Название файла или папки следует заключить в одинарные кавычки.

tree -P '*.pdf' --prune

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

Вот что получаем в итоге:


Стандартно результат команды tree направляется в терминал. Но есть возможность напечатать его в файл и сохранить для дальнейшего использования. С этой целью создадим документ txt с названием tree_command_results и поместим его в корневой каталог. После этого выполним команду следующего вида:

tree -d -o tree_command_results.txt

Опция -d использована для сокращения количества информации и ее присутствие здесь не обязательно. Опция -o отвечает за перенаправление вывода в файл.

В терминале никакой результат не отображается:


Зато в указанном файле находим перечень папок, который занимает 45 страниц:


Для получения дополнительной информации о файлах дополним команду tree опциями -h (показывает размер), -u (указывает на аккаунт, с которого файл был создан), -p (так мы узнаем, что можно делать с каждым конкретным файлом — только просматривать или также изменять его содержимое). Также используем параметр -f, чтобы видеть полный путь к каждому документу.


Полезный лайфхак — если объединить опции -P и -f, можно быстро находить файлы, затерявшиеся в памяти компьютера:

tree -f -P '*studio*' --prune

Выводы

Пользу команды tree для пользователей Linux переоценить сложно. С ее помощью удается получить всю возможную информацию о файлах и папках, расположенных на жестком диске. Кстати, у нее есть конкурент — более известная команда ls, которая, тем не менее, уступает tree в удобстве и функционале. А как и для чего вы используете команду tree?

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Эта глава полностью посвящена структуре и размещению каталогов и файлов в Linux. Поскольку для различных дистрибутивов структура может слегка отличаться, для определенности будем рассматривать дистрибутив Red Hat 7.1.

Для того чтобы ориентироваться в Linux, необходимо хорошо представлять себе структуру и размещение каталогов и файлов. Эти параметры для UNIX и Linux описаны в документе "Filesystem Hierarchy Standard – Version 2.2 final", Filesystem Hierarchy Standard Group, edited by Rusty Russell and Daniel Quinlan, редакция от May 23, 2001. Дальнейший текст в основном базируется на этом документе.

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

Соответственно, для каждого признака можно ввести свои понятия:

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

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

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

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

Эти признаки взаимно ортогональны, в табл. 5.1 приведены некоторые каталоги, соответствующие этим признакам.

Таблица 5.1. Признаки данных и каталоги

Как видно из таблицы, каталог /usr – статический разделяемый, а каталог /var/lock – динамический неразделяемый. По этим признакам можно распределить все каталоги в файловой системе, о чем и будет упоминаться в соответствующих разделах. Однако такое четкое распределение не всегда наблюдается в современных UNIX-системах. Как правило, эта проблема возникает из-за поддержки совместимости со старым программным обеспечением. Каталоги, не удовлетворяющие четкому разделению, будут упомянуты особо.

Иерархия каталогов Linux

В табл. 5.2 приведена иерархия каталогов первого уровня.

Таблица 5.2. Каталоги первого уровня операционной системы Linux

Рассмотрим подробнее иерархию каталогов.

Корневой (Root) каталог

Точка монтирования всей файловой системы. Играет исключительно важную роль в процессе «жизнедеятельности» операционной системы. Для загрузки системы необходимо, чтобы в корневом разделе (корневой раздел в Linux – это аналог диска С: для DOS/Windows – только на него возможно установить операционную систему. И корневой раздел является точкой монтирования корневого каталога) находились утилиты и конфигурационные файлы, необходимые для монтирования других файловых систем. Кроме того, в корневой файловой системе должны присутствовать утилиты, необходимые для создания, восстановления или ремонта файловых систем, а также для административного восстановления (backup) системы с ленты, CD-ROM, дискет и тому подобных носителей. Каталоги /usr, /opt, /var спроектированы так, что они могут размещаться на файловых системах, отличных от корневой. В дистрибутиве Slackware в корневом каталоге по умолчанию находится ядро операционной системы (что на больших винчестерах иногда вызывало определенные проблемы), в дистрибутиве Red Hat ядро операционной системы перенесено в каталог /boot.

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

• это позволяет монтировать файловую систему с очень маленьких носителей информации (например дискет);

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

• у маленького по объему корневого каталога меньше вероятность пострадать при крахе системы.

Содержит важные исполняемые файлы, которые используются всеми (в том числе и администратором системы) пользователями. Кроме того, в каталоге /bin должны находиться исполняемые файлы, необходимые для функционирования системы в однопользовательском режиме (single mode). Он также может содержать исполняемые файлы, которые напрямую используются в скриптах. Каталог /bin не должен содержать подкаталогов. Исполняемые файлы, от которых напрямую не зависит функционирование системы, рекомендуется размещать во вторичной иерархии – в каталоге /usr/bin.

Таким образом, в каталоге /bin должны находиться следующие файлы или символические ссылки на команды:

• cat – утилита, выдающая на стандартное устройство вывода объединенные файлы;

• chgrp – утилита, позволяющая изменить группу владельца файла;

• chmod – утилита, изменяющая права доступа к файлу;

• chown – утилита, изменяющая владельца и группу файла;

• ср – утилита, позволяющая копировать файлы и каталоги;

• date – утилита, позволяющая вывести или установить системные дату и время;

• dd – утилита, позволяющая конвертировать и копировать файл;

• df – утилита, показывающая использование дискового пространства;

• echo – утилита, отображающая строку текста;

• false – утилита возвращает значение "Не успешно" (unsuccessfully);

• hostname – утилита, показывающая или устанавливающая имя хоста;

• kill – утилита, посылающая управляющие сигналы процессам;

• In – утилита, создающая линки (связи, ссылки) между файлами;

• login – утилита, начинающая сессию в системе;

• Is – утилита, показывающая содержимое каталога;

• mkdir – утилита, позволяющая создавать каталог;

• mknod – утилита, создающая блочные или символьные специальные файлы;

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

• mount – утилита, монтирующая файловую систему;

• mv – утилита, перемещающая или переименовывающая файлы;

• ps – утилита, показывающая статус процессов;

• pwd – утилита, выводящая имя текущего рабочего каталога;

• rm – утилита, удаляющая файлы или каталоги;

• rmdir – утилита, удаляющая пустой каталог;

• setserial – программа настройки последовательных портов;

• sh – командная оболочка Bourne;

• sty – утилита, изменяющая и выводящая установки терминальной линии;

• su – утилита, изменяющая пользовательский идентификатор (user ID);

• sync – утилита, сбрасывающая (flush) буферы файловой системы;

• true – утилита возвращает значение «Успешно» (successfully);

• umount – утилита, размонтирующая файловые системы;

• uname – утилита, выводящая системную информацию.

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

Если установлены соответствующие пакеты, в каталоге /bin могут присутствовать следующие программы или символические ссылки:

• csh – командная оболочка С shell;

• tar – архивная утилита;

• cpio – архивная утилита;

• gzip – утилита архивации файлов GNU;

• gunzip – утилита разархивации файлов GNU;

• zcat – утилита разархивации файлов GNU;

• netstat – утилита сетевой статистики;

• ping – ICMP-сетевая утилита.

Содержит все, что требуется для процесса загрузки, исключая файлы конфигурации. В каталоге /boot находятся данные, используемые ядром до того, как оно начинает исполнять программы пользовательского режима (user-mode). В этом же каталоге может находиться сохраненный сектор master boot и другие специфичные данные. Конфигурационные файлы загрузчика находятся в каталоге /etc. Ядро операционной системы, как было сказано выше, должно находиться или в корневом каталоге (дистрибутив Slackware), или в каталоге /boot (дистрибутив Red Hat). В некоторых случаях приходится создавать отдельный раздел /boot, находящийся до 1024 цилиндра. Как правило, это зависит от версии загрузчика и от BIOS компьютера. Таким образом, в каталоге /boot версии Linux Red Hat 7.1 должны находиться следующие файлы или символические ссылки на команды:

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

Стандарт иерархии файловой системы ( FHS - Filesystem Hierarchy Standard ) определяет структуру файловых систем в Linux и других UNIX-подобных операционных системах. Однако файловые системы Linux также содержат некоторые каталоги, которые еще не определены стандартом.

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

Типы содержимого

Это основные типы контента, хранящегося в файловой системе Linux.

  • Постоянный (Persistent) - это содержимое, которое должно быть постоянным после перезагрузки, например, параметры конфигурации системы и приложений.
  • Время выполнения (Runtime) - контент, созданный запущенным процессом, обычно удаляется перезагрузкой
  • Переменный/динамический (Variable/Dynamic) - это содержимое может быть добавлено или изменено процессами, запущенными в системе Linux.
  • Статический контент (Static) - остается неизменным до тех пор, пока не будет явно отредактирован или перенастроен.

/ - Корневой каталог (root)

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

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

/bin - Основные пользовательские двоичные файлы

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

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

/bin непосредственно содержит исполняемые файлы многих основных команд оболочки, таких как ps , ls , ping , grep , cp .

Каталог /sbin аналогичен - он содержит важные двоичные файлы системного администрирования. /sbin содержит iptables , reboot , fdisk , ifconfig , swapon

/boot - Статические загрузочные файлы

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

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

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

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

Linux представляет устройства в виде файлов, а каталог /dev содержит ряд специальных файлов, представляющих устройства. Это не настоящие файлы в том виде, в каком мы их знаем, но они отображаются как файлы - например, /dev/sda представляет собой первый диск SATA в системе. Второй диск будет называться /dev/sdb . Если вы хотите его разбить, вы можете запустить редактор разделов и указать ему отредактировать /dev/sda . В итоге получим что первым разделом этого диска будет /dev/sda1 , а вторым - /dev/sda2 .

Этот каталог также содержит псевдоустройства, которые представляют собой виртуальные устройства, которые на самом деле не соответствуют оборудованию. Например, /dev/random производит случайные числа. /dev/null - это специальное устройство, которое не производит вывода и автоматически отбрасывает весь ввод - когда вы перенаправляете вывод команды на /dev/null , вы отбрасываете его.

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

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

/home - Домашние папки

Каталог /home содержит домашнюю папку для каждого пользователя. Например, если ваше имя пользователя - bob, у вас есть домашняя папка, расположенная в /home/bob . Эта домашняя папка содержит файлы данных пользователя и пользовательские файлы конфигурации. Каждый пользователь имеет право записи только в свою домашнюю папку и должен получить повышенные права (стать пользователем root ) для изменения других файлов в системе.

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

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

Имена файлов библиотеки: ld* или lib*.so.* .

Поскольку вы, вероятно, используете 64-битную операционную систему, то у вас есть пара каталогов: /lib , /lib32 и /lib64 . Те библиотеки, которые не содержат кода, специфичного для версии процессора, находятся в папке /lib . Те, которые зависят от версии, находятся в каталогах /lib32 (32-бит) или /lib64 (64-бит), в зависимости от ситуации.

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

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

/media - Съемный носитель

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

Например, /media/cdrom для CD-ROM (если он не расположен в корне), /media/floppy для дисководов гибких дисков, /media/cdrecorder для рекордера компакт-дисков

/mnt - Временные точки монтирования

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

/opt - Дополнительные пакеты

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

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

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

Это псевдофайловая система, содержащая информацию о запущенном процессе. Например: каталог /proc/ содержит информацию о процессе с этим конкретным pid . Также тут можно получить текстовую информацию о системных ресурсах. Например узнать аптайм /proc/uptime , проверить информацию о процессоре /proc/cpuinfo или проверить использование памяти вашей системой Linux /proc/meminfo .

На этом уроке мы рассмотрим иерархию файловой системы 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 , так что вы сможете попытаться восстановить как можно больше данных.

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