Корневой каталог операционной системы
Как уже упомянали ранее, в большинстве Uinix систем и Linux в частности используется стандартное расположение каталогов и файлов.
Все каталоги образуют структуру в виде дерева, которое начинается с каталога /.
Этот каталог / называется также корневым каталогом (root directory). Непосредственно к нему примыкают все ключевые подкаталоги системы /bin, /etc, /dev, /usr и другие. В свою очередь уже эти подкаталоги, рекурсивно, содержат свои подкаталоги, в которых находятся конфигурационные файлы системы, программы и т. д.
Для всех пользователей системы например, имеется свой (home directory) домашний каталог /home/nameuser . Этот каталог выделен пользователю для хранения в нем своих файлов.
Стоит уточнить, что в тексте используется именно слово "каталоги", ещё их называют "директориями" или "папками", но это уже кому как понятнее...
Давайте сразу же посмотрим на дерево каталогов нашей системы: с помощью утилиты tree (если её ещё нет в системе, то просто установите)
команда tree посмотрим содержимое корневого каталога /, покажем только каталоги(без файлов) ключ -d и не глубже одного каталога ключ -L 1
Вот как это выглядит в терминале Centos 7:
☯
Terminal:
⌕
≡
✕
[01:51:05 root@centos7:/] # yum install tree
...
Package tree-1.6.0-10.el7.x86_64 already installed and latest version
Nothing to do
[01:51:10 root@centos7:/] # tree / -d -L 1
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
├── vagrant
└── var
20 directories
[01:51:15 root@centos7:/] #
Примерно такой же вывод будет и у вас, если вы уже установили линукс и пробуете, то о чём тут говорится. (как проще установить линукс на свой ПК).
В данном случае мы увидели 20 самых верхних каталогов системы, сразу после корня..., о них и поговорим подробнее.
/bin : Здесь находятся все основные, исполнимые, бинарные программы (файлы), которые можно использовать даже в однопользовательском режиме, и в режиме восстановления. Это такие общие команды, как cd, ls, cat, tail, ps, du, df, tar, rpm, wc, history и т д. В настоящее время обычно представляет собой ссылку на директорию /usr/bin.
Чтобы понять насколько в ней много программ можно посмотреть в неё утилитой ls /bin
/boot :
Содержит все файлы, связанные с загрузчиком системы. Это файлы ядра vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub. При установке обычно на главном диске создаётся небольшой раздел, который затем монтируется в эту точку /boot
/dev: В Linux всё, в том числе и внешние устройства оформлены в системе в виде файлов. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры, процессор - это просто файлы в каталоге /dev/. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов, здесь же размещены файлы дисков: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д. Существуют и абстрактные устройства например:
/dev/null — всё, что попадает сюда беследно исчезает. Сюда в /dev/null при необходимости, можно направить вывод любой команды, который будет уничтожен, без вывода на экран.
попробуйте это сделать символ > напрвит вывод туда куда вы укажете.
Результат будет молчаливый и непонятный. Поэтому сразу посмотрите, что уходило в /dev/null на предыдущей команде, когда вы перенаправили вывод в null, вместо вывода на экран:
Мы добавили пару ключей -la, благодаря которым получаем массу информации, например знаем какому пользователю принадлежат права на эти каталоги, и какие из них являются, только ссылками на другие каталоги. (тема символьных ссылок раскрыта в этой статье). (тема прав доступа раскрыта в этой)
Вот как это выглядит в терминале Centos 7:
☯
Terminal:
⌕
≡
✕
[09:52:11 vagrant@centos7:~] $ ls -la /
total 48
dr-xr-xr-x. 18 root root 4096 Jan 5 2016 .
dr-xr-xr-x. 18 root root 4096 Jan 5 2016 ..
-rw-r--r-- 1 root root 0 Feb 24 2015 .autorelabel
lrwxrwxrwx 1 root root 7 Jan 4 2016 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Nov 16 07:37 boot
drwxr-xr-x 21 root root 3220 Nov 16 21:22 dev
drwxr-xr-x. 151 root root 8192 Nov 16 21:22 etc
drwxr-xr-x. 3 root root 20 Aug 12 2015 home
lrwxrwxrwx 1 root root 7 Jan 4 2016 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Jan 4 2016 lib64 -> usr/lib64
drwxr-xr-x. 3 root root 37 Jan 4 2016 media
drwxr-xr-x. 2 root root 6 Aug 12 2015 mnt
drwxr-xr-x. 6 root root 111 Sep 25 15:20 opt
dr-xr-xr-x 157 root root 0 Nov 16 21:21 proc
dr-xr-x---. 6 root root 4096 Nov 16 08:53 root
drwxr-xr-x 39 root root 1180 Nov 17 01:51 run
lrwxrwxrwx 1 root root 8 Jan 4 2016 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Aug 12 2015 srv
dr-xr-xr-x 13 root root 0 Nov 17 07:27 sys
drwxrwxrwt. 60 root root 8192 Nov 17 06:49 tmp
drwxr-xr-x. 13 root root 4096 Jan 4 2016 usr
drwxr-xr-x 2 root root 6 Jan 4 2016 vagrant
drwxr-xr-x. 23 root root 4096 Nov 16 21:21 var
[09:52:24 vagrant@centos7:~] $