- •Файловая система unix
- •Invite.Doc содержит приглашение на вечеринку от коллеги.
- •Байт-ориентированные и блок-ориентированные файлы устройств
- •Символические и жесткие ссылки
- •Именование файлов и каталогов
- •Предостережение
- •I Перенаправляет стандартный вывод на ввод следующей команды.
- •Организация файловой системы
- •Имена путей (pathnames)
- •Работа с каталогами
- •Получение списка файлов и каталогов командой ls
- •1: Запись является символической ссылкой.
- •Конец формы
Работа с каталогами
При работе с UNIXвы всегда будете находиться в каком-то каталоге. Каталог местонахождения зависит от того, с чем именно вы работаете. Каталог, в которым вы находитесь в текущий момент времени, называется текущим каталогом. UNIX использует информацию текущего каталога для определения относительного пути файла.
Наклонная черта (/) в имени файла означает, что вы работаете с файлом в другом каталоге.Если имя файла начинается с .. (двух последовательных точек), то вы осуществляете поиск файла, используя относительный путь файла. Если в имени файла нет .. (двух последовательных точек), то вы пытаетесь найти файл, используя абсолютный путь. Абсолютный путь всегда начинается с наклонной черты (/).
Когда вы входите в систему UNIX, то каталог, куда помещает вас система, называется начальным каталогом. По соглашению,каждый пользователь в системе имеет свой начальный каталог и его имя /и/username. Оболочки Коrn и С используют для идентификации начального каталога пользователя специальный символ тильды (~). Например, если guhas является подключаемым пользователем, то следующие утверждения справедливы:
р ссылается на начальный каталог guhas.
р ~ friend ссылается на начальный каталог пользователя friend.
Получение списка файлов и каталогов командой ls
Команду ls(с ее многочисленными опциями) можно использовать для получения информации об одном или нескольких файлах или каталогах системы. Используйте lsдля генерации списка файлов и каталогов в различном порядке, например по имени или по времени. Возможно распечатывать лишь отдельные детали о файлах и каталогах, например только имя файлаНапример, выполнение команды в текущем каталоге /u/guhas
ls -l
покажет следующее:
рrwxrwxrwx I guhas staff 7161 May 8 15:35 example.с drwxrwxrwx 3 guhas staff 1536 Oct 19 00:54 exe
рrw-rрrр 2 guhas staff 10 Mov 3 14:28 filel
рrw-rрrр 2 guhas staff 10 Nov 3 14:28 filell2
Сведения о файле включают:
права доступа к файлу;
количество ссылок;
пользователя-владельца файла;
группу пользователя, создавшего файл;
размер файла, дату и время, когда файл последний раз подвергся модификации;
имя файла.
Предыдущий пример показывает, что текущий каталог включает каталог под названием exe и три файла -- examplc.c, filel и file2. Для каталога exe число показанных ссылок равняется трем, в том числе ссылку на родительский каталог /u/guhas; ссылку, которая является самим входом exe и ссылку на подкаталог ниже exe. Количество ссылок для файла example.с равняется единице, поскольку файл не имеет ни одной жесткой ссылки. Количество ссылок в файлах filel и file2 по две, поскольку они связаны с помощью жесткой ссылки.
Как уже упоминалось, следует быть внимательными в отношении скрытых файлов. Используя команду ls без опции -а, нельзя узнать, есть они или нет. В предыдущем примере, если вы используете команду
ls -al
то увидите еще две записи, . (одиночная точка) и .. (две последовательных точки),которые являются входами для каталога и для родительского каталога.
В предыдущих примерах первый символ перед атрибутами прав доступа (например, d в drwxrwxр) предоставлял информацию о типе файла. Значения типа файла таковы:
d: Запись является каталогом.
b: Запись является блок-ориентированным файлом.
с: Запись является байт-ориентированным файлом.
