Linux -сборник рецептов

         

Типы файлов Linux


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

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



Тип файла
Обычный файл
Каталог
Ссылка
Символьное устройство
Сокет
Именованный канал
Блочное устройство

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

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

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

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

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

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

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

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

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

  • первый символ — является признаком обычного файла. Этот атрибут не может изменяться пользователем. По этому признаку Linux определяет тип файла, поэтому с точки зрения системы расширение является лишним. Расширения нужны только для пользователей и приложений;
  • подстрока rwx задает разрешения владельца файла;
  • первая подстрока r-х задает разрешения владельца группы;
  • вторая подстрока r-х задает разрешения для «всего мира», то есть для каждого, кто имеет доступ к файлу;
  • 1 — количество жестких ссылок на файл. У каждого файла имеется как минимум одна ссылка из родительского каталога;
  • в подстроке meredydd programmers содержится владелец файла и группа, которой принадлежит файл.

Разрешения и права владения могут изменяться командами chmod, chgrp и chown; команда chmod изменяет разрешения, а команды chown и chgrp меняют права владения. Запись rwx на первый взгляд выглядит странно, но в действительности это мнемоника: rwx=Read, Write, eXecute. В этом формате задаются разрешения для владельца, группы и всех остальных.

Таким образом, в примере sortusers пользователю meredydd разрешается чтение, запись и исполнение файла. Члены группы и прочие могут только читать и исполнять файл. Хотя отредактировать файл может только сам пользователь meredydd, ничто не мешает членам группы и другим пользователям скопировать его содержимое.

Файл является сценарием командного процессора, для него приходится задавать как права чтения, так и права исполнения, потому что командному процессору требуется прочитать файл. Двоичные файлы читаются непосредственно ядром без участия командного процессора, поэтому для них право чтения не обязательно.



Содержание раздела