Структура каталогов в Linux
В Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var. В отличие от Windows программы находятся не в одном каталоге, а в нескольких. Например, tail находится в /bin/, а fdisk в каталоге /sbin/
Файловая система чувствительна к регистру, как в случае имен каталогов, так и отдельных файлов.
Ниже представлена структура каталогов в виде дерева и описание каждого из основных каталогов. Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard).
Каталог | Назначение |
---|---|
/ | Корневой каталог, является главным каталогом в Linux. |
/bin | Бинарные исполняемые файлы. Каталог содержит программы, которые можно использовать в однопользовательском режиме или режиме восстановления (которые могут использоваться пока еще не подключен каталог /usr). Примеры: pwd, ls, cat, tail, less, ps. |
/boot | Файлы системного загрузчика (ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub). |
/dev | Файлы устройств. С помощью этих файлов можно взаимодействовать с устройствами. В Linux все, в том числе внешние устройства являются файлами. Все подключенные флешки, клавиатуры, микрофоны, камеры представляются отдельными файлами в каталоге /dev. Содержащиеся в каталоге /dev файлы инициализируются при загрузке системы, сервисом udev. Примеры файлов: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0. |
/etc | Конфигурационные файлы системы. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов. |
/home | Домашние каталоги пользователей. Каталог аналогичен каталогу Users в Windows и содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя. |
/lib | Файлы системных библиотек, которые используются исполняемыми файлами в каталогах /bin и /sbin. Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. |
/media | Содержит точки монтирования для внешних носителей. В этот каталог система монтирует все подключаемые внешние накопители. |
/mnt | Точка временного монтирования. В данный каталог системный администратор может монтировать внешние или дополнительные файловые системы для временного использования. |
/opt | Дополнительное программное обеспечение. Такие программы устанавливаются в под-каталоги /opt/ и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации). |
/proc | Виртуальный каталог для системной информации. Содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС. |
/root | Домашний каталог суперпользователя. |
/run | PID-файлы процессов. Каталог похож на /var/run, но в отличие от него, он размещен в TMPFS. После перезагрузки все файлы теряются. |
/sbin | Бинарные исполняемые файлы. В отличие от каталога /bin содержит программы, которые можно выполнять только с правами суперпользователя. Примеры: iptables, reboot, fdisk, ifconfig,swapon. |
/srv | Данные сервисов, предоставляемых системой. Содержит файлы серверов и сервисов. Например, в каталоге могут содержаться файлы веб-сервера Apache. |
/sys | Виртуальный каталог для системной информации. Содержит данные непосредственно о системе (информация о ядре, драйверах и устройствах). |
/tmp | Временные файлы, доступные всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке. |
/usr | Пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой. Например, каталог /usr/bin хранит файлы различных программ, которые не нужны на первых этапах загрузки системы (браузеры, аудиоплееры, графические редакторы и т.д.), а каталог /usr/sbin/ содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. |
/var | Содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи (/var/log), кэш (/var/cache), очереди заданий (/var/spool/), файлы блокировок (/var/lock) и прочее. |
Команды консоли
Практически все действия в Linux можно выполнить командой в терминале, то есть из терминала при наличии прав можно управлять всей операционной системой, не используя при этом графический интерфейс.
Для вызова окна терминала удобно использовать комбинацию клавиш Ctrl + Alt + T
Команда | Назначение |
---|---|
pwd | Отображение текущей рабочей директории |
cd <название директории> | Смена текущей рабочей директории |
cd - | Переход в предыдущую рабочую директорию (на уровень выше) |
cp <исходный файл> <конечный файл> | Копирование файла (по сути, это операция «копировать-вставить») |
cp -r <исходный каталог> <конечный каталог> | Копирование каталога со всем содержимым |
mv <исходный файл> <конечный файл> | Перемещение файла (по сути, это операция «вырезать-вставить»). Перемещение каталога осуществляется также (без ключа -r) |
ls -l | Отображение списка файлов в текущем каталоге, а также размера файлов, даты изменения и
разрешений. Ключи -t и -tr позволяют отсортировать по дате от самых новых к старым и от старых к новым соответственно. Ключ -a позволяет отобразить все файлы, включая скрытые файлы. Ключ -A позволяет отобразить все файлы, включая скрытые, но не показывать . и .. . Ключ -d позволяет показать информацию о директории, а не выводить её содержимое. Ключ -h при использовании совместно с опцией -l или -ls выводить размер файлов в понятном формате (например, 20K, 5M). Ключ --help показывает справку по команде ls |
touch <название файла> | Создание нового пустого файла в текущем каталоге |
rm <название файла> | Удаление файла |
mkdir <название каталога> | Создание каталога |
rmdir <название каталога> | Удалние каталога (только пустого) |
rmdir -rf <название каталога> | Удаление каталога со всем содержимым |