Вы задавались вопросом, почему определенные программы находятся в /bin, или /sbin, или /usr/bin или /usr/sbin?
Например, команда less находится в каталоге /usr/ bin.
Почему не в /bin, или /sbin, или /usr/sbin?
В чем разница между всеми этими каталогами?
В этой статье давайте рассмотрим структуры файловой системы Linux и попробуем понять смысл отдельных высокоуровневых каталогов.
1. / – root
Каждый файл и каталог запускаются из корневого каталога.
Только root-пользователь имеет права на запись в этом каталоге.
Обратите внимание, что /root является домашним каталогом пользователя root, который не совпадает с /.
2. / bin – Пользовательские двоичные файлы
Содержит бинарные исполняемые файлы.
В этом каталоге находятся общие Linux-команды, которые необходимо использовать в однопользовательских режимах.
Здесь используются команды, используемые всеми пользователями системы.
Например: ps, ls, ping, grep, cp.
3. / sbin – Системные двоичные файлы
Так же, как /bin, /sbin также содержит двоичные исполняемые файлы.
Но команды linux, расположенные в этом каталоге, обычно используются системным админами для технического обслуживания системы.
Например: iptables, reboot, fdisk, ifconfig, swapon
4. / etc – Файлы конфигурации
Содержит файлы конфигурации, необходимые всем программам.
Это также содержит скрипты запуска и завершения оболочки, используемые для запуска / остановки отдельных программ.
Например: /etc/resolv.conf, /etc/logrotate.conf
5. / dev – Файлы устройств
Содержит файлы устройств.
К ним относятся терминальные устройства, USB или любое устройство, подключенное к системе.
Например: /dev/tty1, /dev/usbmon0
6. / proc – Информация о процессе
Содержит информацию о системном процессе.
Это псевдо файловая система содержит информацию о запуске процесса. Например: /proc /{pid} каталог содержит информацию о процессе с этим конкретным pid.
Это виртуальная файловая система с текстовой информацией о системных ресурсах. Например: /proc/uptime
7. / var – Переменные файлы
var означает переменные файлы.
Содержимое файлов, которые будут расти, можно найти в этом каталоге.
Сюда входят файлы системного журнала (/var/log); пакеты и файлы базы данных (/var/lib); электронные письма (/var/mail); очереди печати (/var/spool); блокированные файлы (/var/lock); временные файлы, необходимые для перезагрузки (/var/tmp);
8. / tmp – Временные файлы
Каталог, содержащий временные файлы, созданные системой и пользователями.
Файлы в этом каталоге удаляются при перезагрузке системы.
9. / usr – Программы для пользователей
Содержит двоичные файлы, библиотеки, документацию и исходный код для программ второго уровня.
/usr/bin содержит двоичные файлы для пользовательских программ. Если вы не можете найти двоичный файл пользователя в /bin, посмотрите в /usr/bin. Например: at, awk, cc, less, scp
/usr/sbin содержит двоичные файлы для системных администраторов. Если вы не можете найти системный двоичный файл в /sbin, посмотрите в /usr/sbin. Например: atd, cron, sshd, useradd, userdel
/usr/lib содержит библиотеки для /usr/bin и /usr/sbin
/usr/local содержит пользовательские программы, которые вы устанавливаете из исходников. Например, когда вы устанавливаете apache из исходного кода, он попадает в /usr/local/apache2
10. / home – Домашние каталоги
Домашние каталоги всех пользователей для хранения своих личных файлов.
Например: /home/john, /home/nikita
11. / boot – Файлы загрузчика
Содержит файлы, связанные с загрузчиком.
Ядро initrd, vmlinux, файлы grub находятся в /boot
Например: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. / lib – Системные библиотеки
Содержит файлы библиотек, которые поддерживают двоичные файлы, расположенные в каталоге /bin и /sbin
Имена файлов библиотек: ld * или lib * .so. *
Например: ld-2.11.1.so, libncurses.so.5.7
13. / opt – Дополнительные приложения
opt означает необязательный.
Содержит дополнительные приложения от отдельных поставщиков.
приложения должны быть установлены в /opt/ или /opt/sub-directory.
14. / mnt – Каталог монтирования
Временный каталог монтирования, в котором админы могут монтировать файловые системы.
15. / media – Устройства съемных носителей
Временный каталог монтирования для съемных устройств.
Например, /media/cdrom для CD-ROM; /media/floppy для флоппи-дисководов; /media/cdrecorder для записи компакт-дисков
16. / srv – данные службы
srv означает обслуживание.
Содержит связанные с сервером данные, связанные с со службами системы
Например, /srv/cvs содержит данные, связанные с CVS.