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

Тема 14. Управление каталогами в unix

Каталоги - средство организации файлов. Управление каталогами:

  • просмотр структуры и содержания системы каталогов;

  • создание и удаление каталогов;

  • поиск файлов в системе каталогов.

При работе с файлами пользователь всегда находится в одном из каталогов, который называется текущим. Для того, что бы определить какой каталог является в настоящее время текущим - можно запросить абсолютное полное маршрутное имя текущего каталога:

pwd - печать полного маршрутного имени текущего каталога

$ pwd

”””””””””””””

/home/user/lev

$ _

”””””””””””””

Для просмотра содержимого листинга каталога служит команда:

ls [-ключи] [имя_каталога]

Ключи используются для определения формата выдачи:

-l - полный (длинный) формат выдачи, перед ним суммарный

размер всех перечисленных файлов в килобайтах;

”””””””””

total 127

”””””””””

-а - вывод полного списка файлов, включая скрытые, т.е. имена

которых начинаются с точки (в том числе файлы . и ..);

-C - вывод имен файлов в несколько колонок с сортировкой по

алфавиту вдоль колонок;

и т.п., всего 27 опций.

$ ls -al

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

total 14

drwxrwxrwx 4 lev user 496 Mar 13 13:07 .

drwxrwxrwx 11 root root 176 Feb 23 13:47 ..

-rwxr-xr-x 1 lev user 152 Mar 13 13:07 f1

drwxrwxrwx 3 lev user 32 Apr 4 14:52 lev1

...........................................................................................

$

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

Здесь необходимо обратить внимание на то, что любой каталог также является файлом типа "d" с соответствующими правами

доступа.

Без ключей команда выводит отсортированные по алфавиту

имена файлов и каталогов по одному имени на каждой строке.

Элементы каталога слева направо:

  • тип файла ( “-“ - обычный, d - каталог , g - сетевой, p - файл программного канала),

c - файл символьного (байториентированного) внешнего устройства -принтеры, графические устройства и пр и т.д.)

  • символьные коды прав доступа к файлам(r,w,x);

  • число ссылок на файл (число связей) – минимум 1-для файла, 2-для каталога;

  • владелец файла;

  • символьный идентификатор группы пользователя;

  • размер файла в байтах;

  • время и дата последней модификации файла;

  • собственное имя файла.

Стандартный вывод команды можно переадресовать в файл:

$ ls>fildir

$

или присоединить к существующему файлу:

$ ls>>fildir

$

В текущем каталоге можно размещать как новые файлы, так и

новые каталоги, являющиеся подкаталогами по отношению к текущему каталогу. Для создания одного или нескольких подкаталогов применяется команда:

mkdir [-ключи] имя_нового_каталога1 [имя-кат2] - создание каталогов.

-p - создается промежуточный подкаталог до этого не существовавший (т.о. можно создавать сразу цепочку каталогов).

Вновь созданный каталог не будет абсолютно пустым. Он будет содержать два элемента с символьными именами "." и "..".

Пример:

$ mkdir dirа

$ mkdir dirb

$

lev

dira

dirb

dird

dirc

d1

d2

В текущем каталоге lev создано два подкаталога dira и

dirb со стандартными значениями атрибутов защиты.

$ ls -l

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

drwxr-xr-x 2 lev user 32 Mar 4 14:52 dira

drwxr-xr-x 2 lev user 192 Mar 9 12:53 dirb

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

Команда mkdir может быть использована и для создания ниже-

лежащих подкаталогов по их маршрутным именам непосредственно из текущего каталога (lev)

$ mkdir dirb/dirc

$ ls -l dirb

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

drwxr-xr-x 2 lev user1 196 Mar 9 12:53 dirb

””””””””””””””””””””””””””””””””””””””””””””””””””””””””””

$ ls -l dirb/dirc

”””””””

total 0

”””””””

$

Для исключения набора длинных маршрутных имен файлов

любой каталог может быть сделан текущим с помощью команды:

cd [полное_имя_каталога] - смена текущего каталога на указаный

$ cd /home/user/lev/dirb/dirc

$ pwd

””””””””””””””””””””””””

/home/user/lev/dirb/dirc

””””””””””””””””””””””””

$

Еще пример:

$ cd ../../dira

$ pwd

/home/user/lev/dirа

$

Пример создания сразу нескольких новых подкаталогов относительно объявленного текущим каталога dira:

$mkdir -p dird/d1 dird/d2 - одновременно создается несуществующий промежуточный подкаталог dird.

Команда cd без аргументов восстанавливает в качестве текущего начальный (головной) каталог пользователя:

$ cd

$ pwd

””””””””””””””

/home/user/lev

””””””””””””””

$ _

Интенсивная работа в системе требует периодической чистки

поддерева каталогов пользователя. Для этих целей используются

две команды:

rm список_файлов - удалить указанные файлы

rmdir список_каталогов - удалить пустой подкаталог

Процедура чистки требует некоторой обязательной последова-

тельности действий:

- удалить все файлы в удаляемом каталоге командой rm;

- уд лить сам подкаталог с помощью команды rmdir.

Но существуют некоторые особенности выполнения этих действий:

- без ключей удаляется только один последний каталог в пути;

- действие удаления файлов и самого каталога требует наличия у пользователя прав записи (кода - w)в этот каталог;

- текущий каталог не должен принадлежать поддереву удаляе-

мых каталогов (т.е. невозможно удалить текущий каталог);

- если удаляемый файл защищен от записи, то команда rm

запрашивает подтверждение на удаление файла.

Назначение некоторых ключей:

- ключ -i команды rm вводит необходимость подтверждения

для каждого удаляемого файла;

- ключ -f команды rm отменяет необходимость подтверждения

для любого удаляемого файла;

- ключ -r задает режим рекурсивного удаления всех файлов

и подкаталогов данного каталога, а затем и самого каталога, но

лучше использовать ключ -i, иначе можно потерять все файлы.

Все три ключ команды rm могут использоваться в любых со-

четаниях. Например:

$ rm -ir /home/user/lev/dira

<Требует подтверждения на каждый удаляемый файл>

$

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]