Ответ
В Linux, согласно философии "всё есть файл", существует 7 основных типов файлов. Их можно определить по первому символу в выводе команды ls -l
.
d
— Каталог (Directory): Файл, который содержит ссылки на другие файлы и каталоги.-
— Обычный файл (Regular File): Содержит данные, такие как текст, изображения или исполняемый код программы.l
— Символическая ссылка (Symbolic Link): Ссылка или указатель на другой файл или каталог. Аналог ярлыка в Windows.b
— Блочное устройство (Block Device): Файл устройства, которое обменивается данными блоками фиксированного размера. Например, жесткие диски (/dev/sda
).c
— Символьное устройство (Character Device): Файл устройства, которое обменивается данными посимвольно. Например, терминал (/dev/tty
) илиnull
устройство (/dev/null
).s
— Сокет (Socket): Файл, используемый для межпроцессного взаимодействия (IPC), обеспечивающий обмен данными между процессами на одной или разных машинах.p
— Именованный канал (Named Pipe / FIFO): Файл, который действует как канал для IPC, позволяя несвязанным процессам обмениваться данными по принципу "первым вошел — первым вышел" (First-In, First-Out).
Пример определения типа:
$ ls -ld /dev/null /home /bin/bash
crw-rw-rw- 1 root root 1, 3 сен 9 10:00 /dev/null
drwxr-xr-x 1 root root 4096 сен 9 11:00 /home
-rwxr-xr-x 1 root root 1183448 фев 20 2022 /bin/bash
Здесь мы видим:
c
(символьное устройство) для/dev/null
d
(каталог) для/home
-
(обычный файл) для/bin/bash