Корневой каталог операционной системы
Как уже упомянали ранее, в большинстве 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:~] $