@Drovosek01

Какие бывают биты типов файлов в Linux и где это применять?

Если использовать команду stat -f %Hp, то для файла она вернет 10, а для директории - 4

В man stat указано:


sub An optional sub field specifier (high, middle, low). Only applies
to the p, d, r, and T output formats. It can be one of the
following:

H “High” — specifies the major number for devices from r or
d, the “user” bits for permissions from the string form of
p, the file “type” bits from the numeric forms of p, and
the long output form of T.

Если я правильно понял, этот параметр конвертирует в числовое представление тип файла, который указывается 1 символом при выводе команды ls -l и который описаны здесь:
https://www.gnu.org/software/coreutils/manual/html...
https://askubuntu.com/a/1028541

Вопросы:
1. Где, кроме исходных кодов утилиты stat, посмотреть в какое циферное представление конвертируется тип файла?
2. Где на практике используется представление типа файла в числовом формате?
3. Как изменить тип файла (не расширение, а именно тип)?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Vitsliputsli
Коды в доке: https://www.opennet.ru/man.shtml?topic=stat&catego.... Представления они для человека. Тип задается при создании, не думаю, что его можно поменять, т.к. разные типы - это совершенно разные структуры.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
Изменить тип файла нельзя. Потому что это по сути не тим файла, а тим directory entry на файловой системе.
Есть общеизвестные типы.

Но block special file и character special file, это не "файлы", а ссылки на устройства. Просто слово file имеет более широкий смысл.

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

Войдите, чтобы написать ответ

Похожие вопросы