add new posts

This commit was merged in pull request #1.
This commit is contained in:
root
2026-04-06 16:37:26 +00:00
committed by 15lu.akari
parent 382eba4a1e
commit a2c07bd2dc
13 changed files with 377 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
---
title: "Иерархия каталогов в Linux"
tags: ["linux", "файловые системы"]
categories: ["tech"]
---
В Linux все дерево начинается с корня - `/`. Каждая директория имеет свое строгое назначение:
### Системные и исполняемые файлы
- `/bin` и `/sbin` - содержат основные программы, необходимые для работы системы и ее восстановления. В `/sbin` лежат команды, предназначенные для системного администратора.
- `/usr` - может показаться, что является сокращением от user, однако на самом деле является аббривеатурой **Unix System Resources** - вторичная иерархия. Здесь хранятся пользовательские программы, библиотеки и документация. Современные дистрибутивы часто делают `/bin` ссылкой на `/usr/bin`
- `/lib`, '/lib64' - системные библиотеки, которые нужны программам из `/bin` и `/sbin` для запуска.
### Настройки и переменные данные
- `/etc` - здесь хранятся **конфигурационные файлы** всей системы.
- `/var` - сокращение от **Variable**. Директория для файлов, которые часто меняются. К таким, например, относятся логи (которые, кстати, находятся по пути `/var/log`), базы данных, временные файлы печати и тд.
- `/tmp` - временные файлы. Важно помнить, что во многих системах содержимое этой папки очищается при перезагрузке. Это связано с файловой системой, которая предписывает хранение файлов из /tmp в оперативной памяти.
### Пользовательские данные
- `/home` - здесь находятся личные папки пользователей. При вводе `cd ~` система переносит пользователя как раз в директорию `/home/<username>`.
- `/root` - домашний каталог суперпользователя (администратора с UID 0). Он вынесен отдельно от остальных пользователей, чтобы администратор мог войти в систему, даже если раздел `/home` не удалось примонтировать.
### Виртуальные и псевдо-файловые системы
Основная идея таких данных - что это не реальные данные на диске, а интерфейсы к ядру:
- `/proc` - виртуальная ФС, содержащая информацию о процессах и состоянии ядра. По-хорошему, можно просто прочитать файл в этой папке и узнать, например, модель процессора, который стоит на системе.
- `/sys` - информация об устройствах и драйверах.
- `/dev` - как мне изначально казалось, сокращение от developer, однако на самом деле является сокращением от **Devices** - файлы устройств. В Linux **все есть файл**, а значит, работа с жестким диском, терминалом, мышкой или любым другим устройством идет так же, как с обычным файлом.