Linux директория пользователя root

Содержание
  1. Linux директория пользователя root
  2. Типичная структура ФС системы Linux
  3. / — корневая директория (root)
  4. /bin — главные бинарные файлы (исполняемые программы)
  5. /boot — файлы для загрузки ОС
  6. /dev — файлы устройств
  7. /etc — конфигурационные файлы
  8. /home — домашние директории пользователей
  9. /lib — основные библиотеки
  10. /lib64 — 64-битные основные библиотеки
  11. /lost+found — восстановленные файлы
  12. /media — точка для автоматического монтирования
  13. /mnt — точка для ручного монтирования
  14. /opt — вспомогательные пакеты программ
  15. /proc – файлы ядра и процессов
  16. /root — Домашняя директория пользователя root
  17. /run – файлы состояния приложений
  18. /sbin — бинарные файлы (программы) для администрирования системы
  19. /selinux – виртуальная файловая система SELinux
  20. /srv – данные сервисных служб
  21. /sys — виртуальная файловая система sysfs
  22. /tmp — временные файлы
  23. /usr — пользовательские бинарные файлы, используемые только для чтения
  24. /var — директория для часто меняющихся данных
  25. Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки
  26. Глава 9. Дерево директорий Linux
  27. Стандарт иерархии файловой системы
  28. Страница руководства man hier
  29. Корневая директория /
  30. Директории для хранения бинарных файлов
  31. Директории для хранения файлов конфигурации
  32. Директории для хранения данных
  33. Директории в оперативной памяти
  34. Директория системных ресурсов Unix /usr
  35. Директория для изменяемых данных /var
  36. Практическое задание: дерево директорий Linux
  37. Корректная процедура выполнения практического задания: дерево директорий Linux

Linux директория пользователя root

Файловая концепция Linux – это четкая структура каталогов и файлов. В этом посте рассмотрим предназначения всех директорий. Файловые системы Линукс содержат большое множество каталогов, большинство из них подходят под спецификацию FHS (Filesystem Hierarchy Standard). Почему существуют термины «каталог», «директория» и «папка»? В чем их отличие? Давайте узнаем.

Каталог, он же директория, (от англисйкого Directory) – это объект в ФС (файловой системе), необходимый для того, чтобы упросить работу с файлами. Папка (от английского Folder) — это определение применяется для отображения директорий в графическом пользовательском интерфейсе (GUI). Отсюда вытекает, что все эти определения значат, в принципе, то же самое. Чтобы было удобно, будем применять в этом посте определение “директори”, по мнению большинства пользователей Линукс, это более правильный термин.

Типичная структура ФС системы Linux

Наличие тех или иных директорий может быт в зависимости от того, какой дистрибутив Вы используете. Ниже список наиболее важных и часто встречающихся:

/
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/lost+found
/media
/mnt
/opt
/proc
/root
/run
/sbin
/selinux
/srv
/sys
/tmp
/usr
/var

Итак, рассмотрим все по-порядку.

/ — корневая директория (root)

Родительская директория, в ней находится все, что есть в нашей ОС. В ней хранятся другие каталоги.

/bin — главные бинарные файлы (исполняемые программы)

Содержит основные модули, утилиты и командные оболочки, которые могут обеспечить необходимый минимально уровень работоспособности ОС. Размещение этих файлов в директории /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.

/boot — файлы для загрузки ОС

Хранятся образы ядер Linux и файлы менеджеров загрузки (grub, lilo и т.д.).

/dev — файлы устройств

В Linux все устройства предоставлены в виде специфических файлов, расположеных в этой директории. К примеру, файл /dev/sda представляет диск SATA. Также в этой директории хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.

/etc — конфигурационные файлы

Содержит основные конфигурационные файлы операционной системы и различных программ.

/home — домашние директории пользователей

По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя user, то у вас есть домашняя дирекотория, которая находится в /home/user и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в свою домашнюю директорию.

/lib — основные библиотеки

Эта директория предназначена для хранения системных библиотек и компонентов компилятора языка С, необходимых для работы программ из директорий /bin и /sbin и операционной системы в целом.

/lib64 — 64-битные основные библиотеки

Эта директория присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.

/lost+found — восстановленные файлы

Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в директорию lost+found, их можно попытаться восстановить.

/media — точка для автоматического монтирования

Используемая для автоматического монтирования различных устройств CD-ROM, USB-накопителей и т.д.

/mnt — точка для ручного монтирования

Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.

/opt — вспомогательные пакеты программ

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

/proc – файлы ядра и процессов

В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.

/root — Домашняя директория пользователя root

Вместо того, чтобы находиться в /home/root, он помещается в /root для большей надёжности системы.

/run – файлы состояния приложений

Является достаточно новой директорией, в которой приложениям предоставляется возможность стандартным образом хранить вспомогательные файлы, которые им требуются, например, сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp, поскольку эти файлы могут быть там удалены.

Читайте также:  Создание dns сервер для windows

/sbin — бинарные файлы (программы) для администрирования системы

Директория /sbin похожа на /bin. В ней находятся важные двоичные файлы, которые, как правило, предназначены для их запуска пользователем при администрировании системы.

/selinux – виртуальная файловая система SELinux

В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается директория с файлами /selinux.

/srv – данные сервисных служб

Эта директория присуствует не во всех дистрибутивах, содержит «данные для сервисов, предоставляемых системой» (например сервер Apache может хранить файлы вашего сайта в этой директории). В большинстве случаев директория пуста.

/sys — виртуальная файловая система sysfs

Эта директория появилась с выходом ядра версии 2.6 и в нее примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.

/tmp — временные файлы

Временные файлы, обычно удаляются при перезагрузке системы. Все пользователи имеют права чтения и записи в эту директорию.

/usr — пользовательские бинарные файлы, используемые только для чтения

В этой директории находятся приложения и файлы, используемые только пользователями, а не самой системой.

/var — директория для часто меняющихся данных

Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т.д.

Источник

Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки

Глава 9. Дерево директорий Linux

В рамках данной главы производится обзор наиболее часто используемых директорий из дерева директорий файловой системы Linux . Также данная глава может служить доказательством утверждения о том, что в Unix-системе все является файлом.

Стандарт иерархии файловой системы

Многие дистрибутивы Linux частично следуют Стандарту иерархии файловой системы ( Filesystem Hierarchy Standard ). Данный стандарт может оказаться полезным для будущего процесса стандартизации деревьев директорий файловых систем Unix/Linux. Стандарт FHS доступен в сети по адресу http://www.pathname.com/fhs/ , причем на данном ресурсе мы можем прочитать: «Стандарт иерархии файловой системы был создан с целью его использования разработчиками дистрибутивов Unix, разработчиками пакетов для распространения программного обеспечения и разработчиками операционных систем. Однако, данный стандарт является в большей степени справочным материалом, нежели руководством по работе с файловой системой Unix или с иерархиями директорий.»

Страница руководства man hier

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

Корневая директория /

Директории для хранения бинарных файлов

Бинарные файлы являются файлами, содержащими скомпилированный исходный код (или машинный код). Бинарные файлы могут исполняться на компьютере. Иногда бинарные файлы также называются исполняемыми файлами .

Директория /bin содержит бинарные файлы , которые могут использоваться всеми пользователями. В соответствии со спецификацией FHS, директория /bin должна содержать исполняемые файлы /bin/cat и /bin/date (помимо других исполняемых файлов).

Другие директории /bin

Вы можете обнаружить поддиректорию /bin во многих других директориях. Например, пользователь с именем serena может разместить свои собственные приложения в поддиректории /home/serena/bin .

Файлы некоторых приложений, обычно в случае установки путем непосредственной сборки из исходного кода, устанавливаются в директорию /opt . К примеру, при установке сервера samba для хранения бинарных файлов может быть использована поддиректория /opt/samba/bin .

Директория /sbin содержит бинарные файлы, предназначенные для настройки операционной системы. Многие из бинарных файлов для настройки системы требуют наличия привилегий пользователя root для выполнения определенных задач.

Обычно ядро Linux загружает модули из директории /lib/modules/$версия-ядра/ . Содержимое этой директории будет подробно описано в главе, посвященной ядру Linux.

Директории /lib32 и /lib64

Формат ELF (формат исполняемых и компонуемых файлов — Executable and Linkable Format ) используется практически во всех Unix-подобных операционных системах с момента выпуска System V .

Директория /opt предназначена для хранения вспомогательного программного обеспечения . В большинстве случаев данное программное обеспечение устанавливается не из репозитория дистрибутива. В многих системах директория /opt пуста.

При установке пакета программного обеспечения большого объема файлы из него могут копироваться в поддиректории /bin , /lib , /etc директории /opt/$имя-пакета/ . Например, в том случае, если пакет программного обеспечения носит имя wp , файлы из него будут устанавливаться в директорию /opt/wp , при этом бинарные файлы будут устанавливаться в поддиректорию /opt/wp/bin , а файлы страниц руководств — в поддиректорию /opt/wp/man .

Директории для хранения файлов конфигурации

Директория /boot содержит все файлы, необходимые для загрузки компьютера. Эти файлы не изменяются очень часто. В системах Linux в данной директории обычно можно обнаружить поддиректорию /boot/grub . Директория /boot/grub содержит файл /boot/grub/grub.cfg (на более старых системах также может использоваться файл /boot/grub/grub.conf ), в рамках которого описывается меню загрузки, отображаемое перед загрузкой ядра ОС.

Все специфичные для машины конфигурационные файлы должны быть расположены в директории /etc . Изначально имя директории /etc была образовано от слова etcetera (и так далее), но сегодня люди часто расшифровывают его как Editable Text Configuration (директория с редактируемыми текстовыми файлами конфигурации).

В директории /etc также можно обнаружить большое количество других важных файлов.

Во многих дистрибутивах Unix/Linux имеется директория /etc/init.d , которая содержит сценарии для запуска и остановки демонов . Эта поддиректория может исчезнуть в процессе перехода дистрибутивов Linux на системы инициализации, которые заменят старую систему инициализации init , используемую для запуска всех демонов .

Управление системой вывода графики осуществляется средствами программного обеспечения от организации X.org Foundation (а именно, сервера оконной системы X Window System или просто X ). Файл конфигурации для вашего сервера оконной системы носит имя /etc/X11/xorg.conf .

Содержимое директории каркаса /etc/skel копируется в домашнюю директорию при создании учетной записи пользователя. Она обычно содержит такие скрытые файлы, как сценарий .bashrc .

Читайте также:  Ошибка 1392 как исправить windows 10

Файл /etc/sysconfig/harddisks содержит дополнительные параметры настройки жестких дисков. Формат файла описан в самом файле.

Вы можете ознакомиться с описанием программного обеспечения, обнаруженного утилитой kudzu , которое сохраняется в файле /etc/sysconfig/hwconf . Kudzu является приложением от компании Red Hat, предназначенным для автоматического обнаружения и настройки аппаратного обеспечения.

Файлы для настройки сетевых устройств из данной директории будут обсуждаться в главе, посвященной настройке сети.

Директории для хранения данных

Во многих системах директория /root является стандартной директорией для хранения персональных данных и данных профиля пользователя root . В том случае, если ее не существует по умолчанию, администраторы могут создать ее самостоятельно.

Вы можете использовать директорию /srv для хранения данных, которые обрабатываются вашей системой . Спецификация FHS позволяет хранить в этой директории данные cvs, rsync, ftp и www. Кроме того, спецификация FHS подтверждает возможность использования таких административных имен для поддиректорий, как /srv/project55/ftp и /srv/sales/www.

В системах Sun Solaris (или Oracle Solaris) для этой цели используется директория /export .

Директория /mnt должна быть пустой и использоваться исключительно для создания временных точек монтирования файловых систем (в соответствии со спецификацией FHS).

Администраторы систем Unix и Linux обычно создают в данной директории множество поддиректорий, таких, как /mnt/something/. Вы, скорее всего, столкнетесь с системами с более чем одной директорией, созданной и/или смонтированной в рамках директории /mnt для работы с различными локальными и удаленными файловыми системами.

Приложения и пользователи должны использовать директорию /tmp для хранения временных данных при необходимости. Данные, хранимые в директории /tmp , могут в реальности храниться как на диске, так и в оперативной памяти. В обоих случаях обслуживание хранилища временных данных осуществляется средствами операционной системы. Никогда не используйте директорию /tmp для хранения данных, которые являются важными или которые вы желаете архивировать.

Директории в оперативной памяти

Файлы устройств из директории /dev выглядят как обычные файлы, но на самом деле не являются обычными файлами, размещенными на жестком диске. Директория /dev заполняется файлами в процессе определения устройств средствами ядра операционной системы.

Стандартные физические устройства

Помимо представления физических устройств, некоторые файлы устройств выполняют специальные функции. Эти специальные файлы устройств могут оказаться очень полезными.

Файлы устройств /dev/tty и /dev/pts

К примеру, файл устройства /dev/tty1 представляет терминал или консоль, соединенную с системой. (Не стоит ломать голову над точными значениями терминов ‘терминал’ или ‘консоль’, так как в данном случае имеется в виду интерфейс командной строки системы.) При вводе команд в эмуляторе терминала, поставляемом в составе такого графического окружения рабочего стола, как Gnome или KDE, ваш терминал будет представлен файлом устройства /dev/pts/1 (вместо числа 1 может использоваться другое число).

Файл устройства /dev/null

В Linux вы можете обнаружить и другие файлы специальных устройств, такие, как файл устройства /dev/null , которое может рассматриваться как черная дыра; хотя соответствующее устройство и имеет неограниченную емкость, после записи из него не могут быть прочитаны никакие данные. Говоря техническим языком, любые записанные на представленное файлом /dev/null устройство данные будут просто отброшены. Представленное файлом /dev/null устройство может быть использовано для отбрасывания ненужного вывода различных команд. Помните о том, что представленное файлом /dev/null устройство не является удачным местом для хранения ваших резервных копий данных 😉.

Директория /proc и взаимодействие с ядром ОС

Большая часть файлов из директории /proc предназначена исключительно для чтения, причем для чтения некоторых из них требуются привилегии пользователя root; в некоторые файлы могут записываться данные, причем в директории /proc/sys таких файлов большинство. Давайте поговорим о некоторых файлах из директории /proc.

Директория /sys для работы с системой горячего подключения устройств ядра Linux 2.6

Директория /sys была создана в процессе разработки версии 2.6 ядра Linux. С момента выпуска версии 2.6 ядро Linux использует файловую систему sysfs для реализации механизма горячего подключения устройств, использующих шины usb и IEEE 1394 ( FireWire ). Обратитесь к страницам руководств udev(8) (данная подсистема пришла на смену подсистеме devfs ) и hotplug(8) для получения дополнительной информации (или посетите ресурс http://linux-hotplug.sourceforge.net/).

По существу, директория /sys содержит файлы с информацией об используемом аппаратном обеспечении.

Директория системных ресурсов Unix /usr

Несмотря на то, что имя директории /usr напоминает слово user (пользователь), не следует забывать о том, что на самом деле оно расшифровывается как Unix System Resources (директория системных ресурсов Unix). Иерархия поддиректорий директории /usr должна содержать разделяемые данные приложений, доступные только для чтения . Некоторые системные администраторы осуществляют монтирование файловой системы /usr в режиме только для чтения. В этом случае данная директория должна быть расположена на отдельном разделе жесткого диска или на разделяемом ресурсе NFS.

(В системе Solaris директория /bin является символьной ссылкой на директорию /usr/bin .)

Директория для изменяемых данных /var

Файлы заранее неизвестного размера, такие, как файлы журналов, файлы кэша и файлы очереди печати должны сохраняться в директории /var .

Директория /var/spool обычно содержит поддиректории для хранения файлов с сообщениями электронной почты и данными задач cron , причем она также может быть родительской директорией для других файлов очередей (например, файлов очередей печати).

Директория /var/lib содержит файлы с данными состояния приложений.

Дистрибутив Red Hat Enterprise Linux, к примеру, хранит файлы, относящиеся к менеджеру пакетов rpm , в поддиректории /var/lib/rpm/ .

Другие директории /var/.

Директория /var также содержит файлы с идентификаторами процессов в поддиректории /var/run (которая в недалеком будущем будет заменена на директорию /run ), временные файлы, которые не должны удаляться при перезагрузке, в поддиректории /var/tmp , а также файлы блокировок в поддиректории /var/lock . Далее в данной книге будут приведены дополнительные примеры использования директории /var для хранения данных.

Читайте также:  Что такое уровень загрузки linux

Практическое задание: дерево директорий Linux

1. Существует ли файл /bin/cat ? Как насчет файлов /bin/dd и /bin/echo . Какого типа данные файлы?

2. Каков общий объем файлов ядра Linux (vmlinu*) в директории /boot?

/test. После этого выполните следующие команды:

Утилита dd осуществит копирование одного блока (count=1) размером в 100 байт (bs=100) из специального файла /dev/zero в файл

/test/zeroes.txt. Какие пояснения вы можете дать относительно возможностей специального файла /dev/zero ?

Утилита dd осуществит копирование одного блока (count=1) размером в 100 байт (bs=100) из специального файла /dev/random в файл

/test/random.txt. Какие пояснения вы можете дать относительно возможностей специального файла /dev/random ?

С помощью первой команды будет выведен список файлов блочных устройств, с помощью второй — список файлов символьных устройств. Что вы можете сказать по поводу различий между символьными и блочными устройствами.

6. Используйте команду cat для вывода содержимого файлов /etc/hosts и /etc/resolv.conf . Что вы думаете по поводу предназначения данных файлов?

7. Хранятся ли какие-нибудь файлы в директории /etc/skel/ ? Не забудьте проверить наличие скрытых файлов.

8. Выведите содержимое файла /proc/cpuinfo . Машину какой архитектуры вы используете для работы с Linux?

9. Выведите содержимое файла /proc/interrupts . Каков размер этого файла? Где хранится данный файл?

10. Можете ли вы перейти в директорию /root ? Есть ли в этой директории файлы (в том числе скрытые)?

11. Существуют ли бинарные файлы ifconfig, fdisk, parted, shutdown и grup-install в директории /sbin ? По какой причине эти бинарные файлы размещены в директории /sbin , а не в директории /bin ?

12. Является ли /var/bin файлом или директорией? Как насчет /var/spool ?

13. Откройте два эмулятора терминала (с помощью сочетания клавиш Ctrl+Shift+T в gnome-terminal) или терминала (с помощью сочетания клавиш Ctrl+Alt+F1, Ctrl+Alt+F2, . ) и выполните команду who am i в обоих. После этого попытайтесь передать слово из одного терминала в другой.

14. Прочитайте страницу руководства random и попытайтесь на основе полученной информации объяснить разницу между специальными файлами /dev/random и /dev/urandom .

Корректная процедура выполнения практического задания: дерево директорий Linux

1. Существует ли файл /bin/cat ? Как насчет файлов /bin/dd и /bin/echo . Какого типа данные файлы?

2. Каков общий объем файлов ядра Linux (vmlinu*) в директории /boot?

/test. После этого выполните следующие команды:

Утилита dd осуществит копирование одного блока (count=1) размером в 100 байт (bs=100) из специального файла /dev/zero в файл

/test/zeroes.txt. Какие пояснения вы можете дать относительно возможностей специального файла /dev/zero ?

Файл /dev/zero является специальным файлом устройства Linux. Он может рассматриваться как источник нулевых байт. Вы не можете записать какие-либо данные в файл /dev/zero , но вы можете читать нулевые байты из него.

Утилита dd осуществит копирование одного блока (count=1) размером в 100 байт (bs=100) из специального файла /dev/random в файл

/test/random.txt. Какие пояснения вы можете дать относительно возможностей специального файла /dev/random ?

Файл /dev/random выступает в качестве генератора случайных чисел вашей машины, работающей под управлением Linux.

С помощью первой команды будет выведен список файлов блочных устройств, с помощью второй — список файлов символьных устройств. Что вы можете сказать по поводу различий между символьными и блочными устройствами.

Данные всегда записываются на блочные устройства (или читаются с них) блоками. В случае жестких дисков размер блоков обычно равен 512 байтам. Символьные устройства работают как источники или приемники потоков символов (или байт). Мышь и клавиатура являются типичными символьными устройствами.

6. Используйте команду cat для вывода содержимого файлов /etc/hosts и /etc/resolv.conf . Что вы думаете по поводу предназначения данных файлов?

7. Хранятся ли какие-нибудь файлы в директории /etc/skel/ ? Не забудьте проверить наличие скрытых файлов.

Выполните команду «ls -al /etc/skel/». Да, в данной директории должны храниться скрытые файлы.

8. Выведите содержимое файла /proc/cpuinfo . Машину какой архитектуры вы используете для работы с Linux?

Данный файл должен содержать как минимум одну строку с названием модели центрального процессора производства компании Intel или какой-либо другой компании.

9. Выведите содержимое файла /proc/interrupts . Каков размер этого файла? Где хранится данный файл?

Размер файла равен нулю байт, но при этом файл содержит данные. Он не хранится где-либо на диске, так как в директорию /proc монтируется виртуальная файловая система, которая позволяет взаимодействовать с ядром ОС. (Ответ «файл хранится в оперативной памяти» также является верным. )

10. Можете ли вы перейти в директорию /root ? Есть ли в этой директории файлы (в том числе скрытые)?

Попытайтесь выполнить команду «cd /root». Директория /root не доступна для чтения обычными пользователями в большинстве современных дистрибутивов Linux.

11. Существуют ли бинарные файлы ifconfig, fdisk, parted, shutdown и grup-install в директории /sbin ? По какой причине эти бинарные файлы размещены в директории /sbin , а не в директории /bin ?

Да. Так как данные бинарные файлы должны использоваться исключительно системными администраторами.

12. Является ли /var/bin файлом или директорией? Как насчет /var/spool ?

По обоим путям расположены директории.

13. Откройте два эмулятора терминала (с помощью сочетания клавиш Ctrl+Shift+T в gnome-terminal) или терминала (с помощью сочетания клавиш Ctrl+Alt+F1, Ctrl+Alt+F2, . ) и выполните команду who am i в обоих. После этого попытайтесь передать слово из одного терминала в другой.

14. Прочитайте страницу руководства random и попытайтесь на основе полученной информации объяснить разницу между специальными файлами /dev/random и /dev/urandom .

Источник

Оцените статью