Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПЕРАЦИОННЫЕ СИСТЕМЫ И ОБОЛОЧКИ.doc
Скачиваний:
46
Добавлен:
21.09.2019
Размер:
799.74 Кб
Скачать

6.6.3. Команды обращения к файловой системе

Когда пользователь регистрируется в операционной системе UNIX, его начинает

обслуживать процесс (обычно оболочка shell), с помощью которого будут выполняться

команды, вводимые пользователем. Кроме того, пользователь получает в свое

распоряжение рабочий каталог, обычно называемый домашним каталогом.

Домашний каталог обычно содержит подкаталоги, файлы данных и файлы

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

каталоге /home или его подкаталогах, например, /home/dk401/dk40102.

Вывод содержимого каталога можно получить с помощью команды ls, в качестве

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

ls опция [имя_файла . . .]

Имя файла, которое используется в качестве аргумента команды, может быть

представлено в двух формах: абсолютной и относительной.

Абсолютное (absolute) имя, иногда называемое полным (full) именем, содержит

полный путь - перечень всех имен каталогов от корневого до локального, в котором

записано имя целевого файла, например, абсолютное имя файла file2 в каталоге

пользователя dk40101:

/home/dk401/dk40101/file2

Формально, полное имя файла представляет собой последовательность слов,

разделенных символом /, каждый компонент имени, кроме последнего, является именем

каталога. Абсолютное имя всегда начинается с символа /, представляющего корневой

каталог общего логического дерева файловой системы.

Команда pwd выводит полное имя пути текущего каталога, например:

$ pwd

/home/dk401/dk40101

Относительное (relative) имя пути файла всегда указывает путь к файлу

относительно текущего каталога. Для доступа к файлу или подкаталогу текущего

каталога удобно использовать относительное имя пути. Например, если имя текущего

каталога /home/dp401/dp40110, то вывод u1089 содержимого каталога

/home/dp401/dp40110/tests/examples можно получить, используя относительное имя:

$ ls –l tests/txamples

При этом следует помнить:

- относительное имя никогда не начинается символом / (слеш);

- в имени пути можно использовать специальные имена каталогов (.) и (. .),

которые являются, соответственно, именами текущего и вышестоящего

(родительского) каталога.

Например, если имя текущего каталога /usr/sbin, и необходимо вывести содержимое

каталога /usr/lib/mail, надо выполнить команду:

$ ls –l ../lib/mail

72

Для перехода из текущего каталога в другой каталог используется команда cd, в

качестве аргумента которой указывается имя (абсолютное или относительное) целевого

каталога. Например, если текущим каталогом является /home/dk401, то для перехода в

каталог /home/dk401/dk40101 надо выполнить команду:

$ cd dk40101

Чтобы перейти в каталог, который находится на два каталога выше текущего,

можно использовать имя точка-точка (..):

$ cd ../..

Для возвращения в домашний каталог из любого текущего каталога файлового

дерева, достаточно выполнить команду без аргументов:

$ cd

Если в команде указано имя обычного файла, то выводится сообщение об ошибке:

$ cd file1

sh: file1: not a directory

$

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

устройствами ввода-вывода (печатные символы). Для файлов такого типа в ОС UNIX

используются команды, позволяющие просмотр текстовых файлов: cat, more, pg, head,

tail. Эти команды не используются для просмотра каталогов и бинарных файлов.

Формат команды cat следующий:

cat имя_файла [ имя_файла . . . ]

Содержимое каждого указанных файлов выводится в канал стандартного вывода

(обычно на дисплей). Команда не имеет возможности остановки вывода по заполнению

экрана, если содержимое файла превышает число строк экрана дисплея.

Для прекращения вывода следует использовать комбинацию клавиш: <Ctrl>s или

<Ctrl>q.

Нажатие клавиши <Del> завершает команду и возвращает к текущему процессу sh.

Команды head и tail позволяют вывести только часть файла. Форматы команд

следующие:

head [-число] имя_файла [ имя_файла . . . ]

tail [-число] имя_файла [ имя_файла . . . ]

Команда head выводит первые строки файлов u1074 в количестве, определенном опцией -

число (по умолчанию 10 строк).

Команда tail выводит последние строки файлов в количестве, определенном опцией

число (по умолчанию 10 строк).

73

Команда more осуществляет постраничный вывод текста файла. Формат

команды следующий:

more имя_файла [ имя_файла . . . ]

Подсказка, которая выводится в нижней строке экрана, указывает на часть

просмотренного текста, выраженную в процентах:

-More- (xx%)

На подсказку можно ответить следующим образом:

- нажатием клавиши <Spaсe> осуществляется вывод очередной страницы;

- нажатием клавиши <Enter> осуществляется вывод очередной строки;

- нажатием клавиши h осуществляется вывод окна подсказок;

- нажатием клавиши b осуществляется вывод предыдущей страницы;

- нажатием клавиши q осуществляется завершение команды.

Команда pg осуществляет постраничный вывод текста файла. Она с одинаковым

успехом позволяет просмотр как предыдущей, так и последующей страницы текста.

Формат команды следующий:

pg имя_файла [ имя_файла . . . ]

На подсказку (:) в нижней части экрана можно ответить:

- нажатием клавиши <Enter> - осуществляется вывод очередной страницы;

- нажатием клавиши h - осуществляется вывод окна подсказок;

- нажатием клавиши +n - осуществляется переход вперед на n страниц;

- нажатием клавиши -n - осуществляется переход назад на n страниц.

Команды hd и od используются в тех случаях, когда файл содержит информацию,

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

набор двоичных данных, или данных, содержащих управляющие символы.

Команда hd выводит данные в шестнадцатеричном формате.

Команда od выводит данные в восьмеричном формате.

Обе команды позволяют в качестве аргументов указывать несколько имен файлов.