Глава 9. Операции с файлами и разделами

9.1. Введение

Хорошее понимание основных принципов работы файловых систем абсолютно необходимо для понимания того, как работает Linux. В системе все объекты интерпретируются как файлы — файлы данных, разделы, каналы (pipes), сокеты и устройства. Каталог также представляет собой файл, содержащий информацию о других файлах.

Спецификация иерархии файловых систем (FHS, Filesystem Hierarchy Standard) была разработана как «добровольный стандарт», соблюдаемый в большинстве версий Linux. Далее перечислены обязательные элементы корневой файловой системы Linux:

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

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

Типы файлов Linux

Помните, что в Linux любой объект интерпретируется как файл. Файлы Linux делятся на семь типов, перечисленных в таблице 9.1.

Таблица 9.1. Типы файлов

Признак типаТип файла
-Обычный файл
dКаталог
lСсылка
cСимвольное устройство
sСокет
pИменованный канал
bБлочное устройство

Признак типа выводится в самом начале записи в списке файлов:

# ls -l /dev/initctl
prw 1 root root 0 Jan 12 00:00 /dev/initctl
# ls -l /tmp/.ICE-unix/551
srwx- 1 caria caria 0 Jan 12 09:00 /tmp/.ICE-unix/551

Тип файлов может указываться в командной строке find:

# find / -type p
# find / -type s

Если поиск занимает слишком много времени, работу команды можно прервать клавишами Ctrl+C.

Атрибуты файлов

Также стоит обратить внимание на атрибуты файла — например, сценария sortusers:

# ls -l sortusers
-rwxr-xr-x 1 meredydd programmers 3783 Jan 7 13:29 sortusers

Строка -rwxr-xr-x 1 meredydd programmers сообщает программисту много полезных сведений:

См. также

JFS; XFS; ReiserFS; Ext2/3; Filesystem Hierarchy Standard.