Смекни!
smekni.com

Работа с файлами и каталогами (стр. 3 из 5)

Команда cat

Команда cat отображает содержимое файла или файлов. Например, предположим, вы находитесь в справочнике letters и вы хотите отобразить содержимое файла Johnson. Введите команду cat Johnson и на экране появится следующая информация:

$ cat johnson<CR> March 5, 1986

Mr. Ron Johnson Layton Printing 52 Hudson Street New York, N.Y.

Dear Mr. Johnson:

I enjoyed with you this morning

about your company's plans to

your business.

Enclosed please find

the material you requested

about AB&C's line of computers

and office automation software.

If I can be of furtther assistance to you, please don't besitate to call.

Yours truly,

John Home

$

Чтобы отобразить содержимое двух или более файлов, перечислите имена этих файлов в командной строке. Например, чтобы распечатать содержимое файлов Johnson и sanders, введите команду:

$ cat Johnson sanders<CR>

Команда cat прочитает файлы Johnson и sanders и распечатает их содержимое на терминале.

Синтаксис команды:

cat ключи имя-файла(ов)<СR>

Если указанный файл не существует или его нельзя прочитать, на экране появляется следующее сообщение:

cannot open имя-файла

Команда pg

Команда pg позволяет вам распечатывать содержимое файла(ов) на терминал. После того, как pg отобразит страницу текста, она напечатает подсказку "двоеточие" (:), которая служит сигналом ввода вашей инструкции. Возможной инструкцией может быть запрос вывода следующей страницы содержимого файла, либо запрос на поиск указанного символа по образцу.

Команда Функция

h - Помощь. - Распечатывает список допустимых инструкций команды pg

q или Q - Прекращает режим команды pg

<CR> - Отображает следующую страницу текста

l - Отображает следующую строку текста

d или ^d - Отображает дополнительную половину страницы текста

или ^l - Вновь отображает текущую страницу текста

f - Пропускает одну страницу текста и распечатывает следующую за ней

n - Начинает распечатывать следующий указанный в командной строке файл

р - Отображает предыдущий указанный в командной строке файл

s - Отображает последнюю страницу текста текущего файла

/pattern - Осуществляет поиск вперед указанного шаблона символов

?pattern - Осуществляет поиск назад указанного шаблона символов

Примечание. Некоторые команды могут быть введены с цифрой впереди. Например:

+1<CR> - отображает следующую страницу;

1<CR> - отображает предыдущую страницу;

1<CR> - отображает первую страницу текста.

Команда pg особенно полезна, если вы читаете большой файл или серию файлов, т.к. пауза после каждой страницы дает возможность для анализа информации. Размер отображаемой страницы зависит от типа терминала. Например, терминал способен отображать 24 строки; значит страница текста определяется 23 строки плюс одна строка для двоеточия.

Если файл имеет менее 23 строки, то длина страницы будет равна числу строк в файле плюс одна строка (для двоеточия).

Синтаксис команды:

pg имя-файла(ов)<СК>

Например, чтобы отобразить содержимое файла outline из справочника draft, введите команду:

pg outline<CR>

Первая страница текста появится на экране. Так как в файле больше строк, чем поместилось на одной странице, то внизу экрана появится двоеточие. Когда вы будете готовы читать текст дальше, нажмите клавишу <RETURN> и pg напечатает следующую страницу текста.

Когда весь файл будет прочитан, в последней строке появится:

(EOF):

Подсказка: (двоеточие) предлагает вам ввести новую команду.

Если вы в ответ на подсказку: нажмете клавишу <RETURN>, то вновь появится подсказка. Вы можете воспользоваться одной из ранее перечисленных допустимых команд.

Успешное выполнение команды pg зависит от типа терминала, который вы используете. Это связано с тем, что программа pg достаточно гибкая и может быть запущена на различных терминалах; то, как она запускается, зависит от конкретного типа терминала. Указав тип терминала, вы говорите команде:

сколько строк печатать;

сколько колонок печатать;

как очистить экран;

как высветить подсказку или другие слова;

как стереть текущую строку.

Чтобы определить тип терминала, присвойте код вашего терминала переменной TERM в файле .profile.

В команде pg могут применяться все допустимые ключи.

Команда рг

Команда рг используется для форматирования и печати содержимого файла. Она форматирует заголовки, количество страниц и печатает файл на экране терминала.

Вы можете с помощью ключа задать распечатку файла на построчно-печатающее устройство или направить вывод в другой файл.

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

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

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

$pr johnson<CR>

Пустые строки после последней строки символов в файле рг добавляет к выводу, так что каждая страница содержит в общем 66 строк. Если вы работаете с видеотерминалом, который имеет 24 строки, то все 66 строк отформатированного текста без пауз распечатаются на экране. Это означает, что первые 42 строки невозможно будет прочитать, т.к. вы не можете вернуть экран или два назад.

В этом случае воспользуйтесь:

^s - для прерывания потока выводимого на терминал

и

^q - для продолжения вывода на экран.

Команда ср - сделать копию файла

При работе с системой UNIX у вас может появиться необходимость сделать копию файла. Команда ср полностью копирует содержимое одного файла в другой. Также она позволяет вам скопировать один или более файлов из одного справочника в другой, оставив оригинал файла на прежнем месте.

Чтобы скопировать файл outline в файл new.outline в справочнике draft, введите команду: ср outline new.outline. Когда система скопирует файл, то вернет подсказку. Чтобы проверить существование нового файла, введите команду:

ls<CR>

Эта команда перечислит имена всех файлов и справочников в текущем справочнике (в данном случае в справочнике draft). Экран будет выглядеть следующим образом:

$ ср outline new.outline<CR>

$ls<CR>

new.outline

outline

table

$

Система UNIX не позволяет иметь в одном справочнике два файла с одним именем. Если бы файл new.outline уже существовал в этом справочнике, то он был бы заменен на копию файла outline, предыдущая версия файла new.outline будет удалена.

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

Если вы затем проверите содержание справочника, чтобы определить сколько копий файла outline существует, то вы получите следующий экран:

$ ср outline new.outline<CR>

cp: outline and outline are identical

$ls<CR>

outline

table

$

Система UNIX разрешает иметь файлы с одинаковыми именами в разных справочниках. Например, вы можете скопировать файл outline из справочника draft в файл outline в справочнике letters. Если вы находитесь в справочнике draft, то сможете воспользоваться одной из перечисленных ниже 4-х командных строк. В первых двух строках вы указываете имя нового файла при выполнении копирования.

ср outline /home/startship/letters/outline<CR>

(указано полное имя пути)

ср outline . ./letters/outline<CR>

(указано родственное имя пути)

Однако система UNIX не требует, чтобы указывали новое имя файла. Если вы не укажите имя нового файла в командной строке, то ср даст новому файлу то же имя, которое имеет оригинальный файл. В этом случае можете задать команду в одном из следующих видов:

ср outline /home/startship/letters<CR>

(указано полное имя пути)

ср outline ../letters<CR>

(указано родственное имя пути)

Если вы хотите дать другое имя новому файлу, то обязательно укажите это имя.

Например, чтобы скопировать файл outline (справочник draft) в файл с именем outlin.vers2 в справочник letters, нужно задать одну из следующих команд:

ср outline home/startship/letters/outlin.vers2<CR>

(указано полное имя пути)

ср outline ../letters/outlin.vers2<CR>

(указано родственное имя пути)

Синтаксис команды:

ср ключи имя-файла1 имя-фaйлa2<CR>

ср ключи имя-файла(ов) cnpaвочник<CR>

Команда mv - переименование файла

Команда mv позволяет вам переименовать файл в том же справочнике или переместить его из одного справочника в другой. Когда перемещаете файл в другой справочник, то можете переименовать его или оставить прежнее имя.

Синтаксис команды:

mv имя-файла1 имя-файла2<СК>

Команда mv изменяет имя-файла 1 на имя-файла2 и удаляет файл 1. Имя-файла 1 и имя-файла 2 могут быть любыми допустимыми именами, включая имя пути. Имя-файла2 может быть справочником.

Например, если вы находитесь в справочнике draft и хотите переименовать файл table на new.table, введите команду:

mv table new.table<CR>

Если команда выполнится успешно, то на экране появится подсказка. Проверьте, что файл new.table существует. Экран будет выглядеть следующим образом:

$ mv table new.table<CR>

$ls<CR>

outline

new.table

$

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

mv имя-файла(ов) cnpaвочник<CR>

Например, вы хотите переписать файл table из текущего справочника draft (который имеет полное имя пути /home/startship/draft) в файл с тем же именем в справочник letters (который имеет родственное имя пути из draft ../letters и полное имя пути /home/startship/letters). Для этого можете воспользоваться одной из следующих командных строк:

mv table /home/startship/letters<CR>

mv table /home/startship/letters/table<CR>

mv table ../letters<CR>

mv table .. /letters/table<CR>

mv /home/startship/draft/ table /home/startship/letters<CR>

Теперь, предположим, вы хотите переименовать файл table в table2 и переписать в справочник letters. Для этого воспользуйтесь одной из следующих командных строк:

mv table /home/startship/letters/table2<CR>

mv table ../letters/table2<CR>

Когда вы переписываете файл с именем имя-файла1 в имя-файла2 и файл с именем имя-файла2 уже существует, команда mv перезапишет новую версию файла. Старая версия файла удаляется.