Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
файловые системы юникс.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
103 Кб
Скачать
☆

Работа с каталогами

При работе с 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: Запись является блок-ориентированным файлом.

с: Запись является байт-ориентированным файлом.