rmnssnvsk / structure-dir-linux.md
В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).
Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.
Директория содержит файлы устройств, подключенные к операционной системе. В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX-подобных операционных систем.
В этой директории находится основная часть конфигурационных файлов самой операционной системы (настройки сети, список пользователей, групп и т.д.) и различных программ (Apache, Samba и т. д.).
В этом месте должна размещаться вся личная информация пользователей системы. Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.
Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя. Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы. Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.
В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена. В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.
Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.
Директория, используемая для автоматического монтирования различных устройств USB-накопителей, CD-ROM и т.д. При вставке в привод CD-ROM диска он автоматически подключается во вложенный каталог этой директории.
Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB-накопители, CD-ROM и т.д.
Директория, в которой обычно размещаются установленные программы, имеющие большой дисковый размер или вспомогательные пакеты (например /opt/openoffice.org).
/proc — это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в «файлах» каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Подробнее можно прочитать здесь.
Это домашний каталог или Домашняя папка суперпользователя. Эта директория фактически ничем не отличается от директории обычного пользователя. Данная директория по умолчанию всегда расположена в корневом каталоге файловой системы. Это было сделано для предотвращения проблем с доступом к директории /home. В случае когда к каталогу /home по какой-то причине невозможно получить доступ, в системе всегда есть возможность залогиниться под учетной записью суперпользователя, для решения возникших проблем с доступом.
Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).
Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.
/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.
/sys/block содержит директории всех блочных устройств, присутствующих в данный момент в системе.
В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).
Каталог содержит список группированных устройств по классам (printer, scsi-devices и т.д.).
Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.
В этом каталоге хранятся все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме суперпользователя root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин.
Директория дополнительных программ для всех учетных записей.
Каталог для размещения доступных компьютерных игр в системе.
Системные библиотеки для программ, расположенных в директории /usr.
По стандарту /usr должен быть общим для нескольких компьютеров и смонтирован по сети, а /usr/local должен содержать установленные пакеты программы только на локальной машине (к примеру, /usr — бюджет семьи, а /usr/local — личный кошелек каждого). Но чаще всего директория /usr/local используется для установки программ, которые не предназначены для конкретного дистрибутива (к примеру для пакетного дистрибутива Ubuntu в /usr находятся «родные» установленные пакеты, а /usr/local находятся собранные пакеты из исходников).
Дополнительные системные программы.
Общие данные установленных программ.
В каталоге находятся все иконки системы.
Директория, в которой обычно находится справочная документация по установленным программам.
Исходные кода (например, здесь располагаются исходные кода ядра).
Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.
В этом месте хранятся все кэши различных программ.
В этом месте расположены файлы с игровыми достижениями.
Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
Здесь лежат lock-файлы, указывающие на занятость некоторого ресурса.
В этом месте хранятся все log-файлы.
Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).
В этом месте размещаются Web-страницы для сервера Apache.
POPSuL:
Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]
Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.
Работаем с файловой системой
Для работы с файловой системой существует небольшой набор утилит, которые очень часто используются в повседневной жизни. Вот список этих утилит:
- pwd — показывает директорию в которой вы находитесь;
- ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке ;
- cat — выводит содержимое файла, например cat /путь/к/файлу ;
- cd — переходит в указанную папку, например cd /путь/к/папке ;
- cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать ;
- mv — перемещает файл/папку, например mv /что/переместить /куда/переместить ;
- rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке ;
- du — считает размер директории, например du -hc /путь/к/папке ;
- mkdir — создаёт директорию, например mkdir /путь/к/папке ;
- touch — создаёт файл, например touch /путь/к/файлу .
- Чтоб вернуться в предыдущую директорию, необходимо выполнить cd — ;
- Чтобы перейти на одну директорию вверх, необходимо выполнить cd … ;
- Чтобы перейти в домашнюю директорию, необходимо выполнить cd ~ ;
- Чтобы создать папку внутри еще не существующей директории, необходимо выполнить mkdir -p /несуществующая_папка/папка_которую_нужно_создать ;
- ls по умолчанию не показывает скрытые файлы и папки, чтобы он их отобразил необходимо добавить аргумент -a — ls -l -a /путь/к/папке ;
Что где лежит и зачем оно там?
… если оно там лежит, значит так и должно быть, не трожь это!
Иерархия файловой система в * nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.
- / — корень файловой системы, внутри него располагается всё;
- /bin , /sbin , /usr/bin — тут располагаются различные исполняемые файлы (программы);
- /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
- /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты , и т.д.);
- /etc — тут находятся различные файлы настроек различных системных программ, демонов;
- /home — тут располагаются домашние директории пользователей;
- /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
- /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
- /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media ;
- /opt — тут находятся установленные проприетарные приложения и библиотеки;
- /proc , /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
- /root — домашняя директория пользователя root;
- /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
- /usr/lib , /usr/lib32 — хранят в себе различные библиотеки;
- /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
- /usr/local — имеет такую же структуру как и /usr , только хранит в себе вручную собранные и установленные приложения и библиотеки;
- /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
- /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы ;
- /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
- . — текущая директория;
- … — директория на один уровень выше текущей.
Более подробную информацию о иерархии файловой системы можно почитать в man hier .
Заключение
Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».
И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).
P.S. Подробную информацию по каждой команде можно посмотреть с помощью man