LLHOST INC.
Black Friday 2021
Black Friday 2021
Опубликовано 1 месяц назад

#servers #linux #directories

Время прочтения: 6 мин.

img

Файлы, каталоги и папки в Linux. Структура файловой системы

Структура файлов UNIX подобных операционных систем основана на стандарте FHS (англ. ​​Filesystem Hierarchy Standard). Стандарт позволяет унифицировать иерархию директорий и файлов, имеющих общее назначение, в файловой системе. Для управления папками Linux необходимо понимать основы структуры иерархии файлов.

Стандарт FHS определяет структуру и содержимое каталогов в Unix-подобных операционных системах. В FHS все папки и файлы отображаются в корневом каталоге /, независимо от места хранения (физическое или виртуальное устройство). Каталоги в UNIX системах имеют общий принцип использования. Приведенная ниже информация актуальна только для Linux систем, но не для X Window System и аналогов.

FHS структура файлов и папок в Linux
FHS структура файлов и папок в Linux - фото

Дерево файлов и каталогов начинается с корня первичной иерархии (/). Единственный пользователь root имеет право на запись в этом каталоге. /root – домашний каталог пользователя root, который не совпадает с корнем /.

  • /bin – бинарные файлы (программы). Каталог содержит основные пользовательские файлы, необходимые при монтировании системы. /bin непосредственно содержит исполняемые файлы многих основных команд оболочки, таких как ps, ls, ping, grep, cp.
  • /sbin – системные исполняемые файлы. Каталог аналогичен каталогу /bin. Содержит важные двоичные файлы, которые обычно предназначены для запуска пользователем root для системного администрирования.
  • /etc – каталог содержит файлы конфигурации, обычно редактируемые вручную в текстовом редакторе. Каталог /etc/содержит общесистемные файлы конфигурации (например имя хоста) - пользовательские файлы конфигурации находятся в домашнем каталоге каждого пользователя.
  • /dev – файлы устройств. Каталог содержит ряд специальных файлов, представляющих устройства (Например, /dev/sda представляет первый диск SATA в системе. /dev/random производит случайные числа. /dev/null - специальное устройство, которое автоматически отбрасывает весь ввод).
  • /proc – информация о процессах. Каталог содержит специальные файлы, представляющие информацию о системе и процессе. Это псевдофайловая система, содержащая информацию о запущенных процессах. Примеры использования: узнать аптайм /proc/uptime, проверить информацию о процессоре /proc/cpuinfo или проверить использование памяти вашей системой Linux /proc/meminfo.
  • /var – переменные файлы. Это место хранения информации о времени выполнения программ (системный журнал, отслеживание пользователей, кэши и другие создаваемые системой файлы).
  • /tmp – временные файлы приложений. Эти файлы обычно удаляются при перезапуске вашей системы и могут быть удалены в любое время с помощью таких утилит, как tmpwatch.
  • /usr – программы пользователя. Это место, куда по умолчанию устанавливаются локально скомпилированные приложения, чтобы не испортить остальную часть системы. Каталог содержит приложения и файлы, используемые пользователями. Библиотеки для каждого из них находятся в каталоге /usr/lib. Каталог также содержит файлы, не зависящие от архитектуры, такие как графика, находятся в /usr/share.
  • /home – домашняя папка. Домашняя папка содержит файлы данных пользователя и пользовательские файлы конфигурации. Каждый пользователь имеет право записи только в свою домашнюю папку и должен получить права администратора(root) для изменения других файлов в системе.
  • /boot – файлы загрузчика. Это файлы, необходимые для загрузки системы (Например, файлы загрузчика GRUB и ядра Linux).
  • /lib – системные библиотеки, необходимые для основных двоичных файлов в папке /bin и /sbin. Библиотеки, необходимые для двоичных файлов в папке /usr/bin, находятся в /usr/lib.
  • /opt – дополнительные программы. Каталог содержит подкаталоги для дополнительных пакетов программного обеспечения. Обычно используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловой системы.
  • /mnt – монтирование. Это то место, где системные администраторы монтируют временные файловые системы во время их использования. Например, монтируемый раздел Windows для восстановления файлов – /mnt/windows. Монтировать другие файловые системы можно в любом месте системы.
  • /srv – сервер. Каталог содержит данные об услугах, предоставляемых системой. Если для обслуживания веб-сайта используется HTTP-сервер Apache, файлы веб-сайта сохраняются внутри каталога /srv.
  • /run – процессы. В каталоге хранятся временные файлы, которые нельзя хранить в /tmp (Например, сокеты и идентификаторы процессов). Важно помнить, что /tmp файлы могут быть удалены.
  • /sys – информация о системе. Это виртуальная файловая система, к которой можно получить доступ для установки или получения информации о представлении системы ядром.

Основные команды для работы с файловой системой
Основные команды для работы с файловой системой - фото

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

Базовые команды используемые для навигации в терминале

cd (англ. change directory) – переход в другой каталог.

 

ls (англ. list) – просмотр содержимого каталога.

 

Работа с файлами
Работа с файлами - фото

Создать текстовый файл в терминале Linux можно тремя основными способами. Это команда touch, перенаправление потока вывода и текстовые редакторы. Рассмотрим способы подробнее.

 

Чтобы посмотреть содержимое файла, используйте cat. Для больших файлов - связку cat и more.

 

Для поиска по названию или содержимому используйте find и grep.

 

Чтобы создать папку через терминал, используйте команду mkdir (make directory) и укажите имя каталога (mkdir name). Важно: для названий из двух и более слов используйте кавычки, пробел будет интерпретирован системой как команда для создания отдельных папок (mkdir “new name”). В названиях используйте минусы (“-”) вместо пробелов и обратные слеши (“\”) для экранирования специальных символов.

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

Trustpilot