UNIX — универсальная среда программирования | страница 23



>and greater still, and so on

>$

Команду >tail можно использовать и для вывода файла, начиная с указанной строки:

>$ tail +3 filename

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

Последняя пара команд предназначена для сравнения файлов. Допустим, имеется вариант файла >poem с именем >new_poem:

>$ cat poem

>Great fleas have little fleas

> upon their backs to bite 'em,

>And little fleas have lesser fleas,

> and so ad infinitum.

>And the great fleas themselves, in turn,

> have greater fleas to go on;

>While these again have greater still,

> and greater still, and so on.

>$ cat new_poem

>Great fleas have little fleas

> upon their backs to bite them,

>And little fleas have lesser fleas,

> and so on ad infinitum.

>And the great fleas themselves, in turn,

> have greater fleas to go on;

>While these again have greater still,

> and greater still, and so on.

>$

Между этими двумя файлами немного различий; на самом деле, нужно постараться, чтобы найти их. Здесь помогут команды сравнения файлов. Команда >cmp находит первое место, где файлы различаются:

>$ cmp poem new_poem

>poem new_poem differ: char 58, line 2

>$

Как видите, файлы различаются во второй строке, но неизвестно, в чем состоит их различие, и, кроме того, не отмечены другие различия. Вторая команда сравнения файлов >diff сообщает обо всех строках, которые изменены, добавлены или удалены:

>$ diff poem new_poem

>2c2

>< upon their backs to bite 'em,

>---

>> upon their backs to bite them,

>4c4

>< and so ad infinitum.

>---

>> and so on ad infinitum.

>$

Итак, вторая строка первого файла >poem изменена и отличается от второй строки второго файла >new_poem. То же самое мы наблюдаем и в отношении четвертой строки.

Вообще, команда >cmp применяется в тех случаях, когда вы хотите убедиться, что два файла действительно имеют одинаковое содержимое. Это быстродействующая команда, которая работает с любыми (не только с текстовыми) файлами. Командой >diff следует пользоваться, если вы предполагаете, что файлы различны, и хотите узнать, в каких именно строках они различаются. Команда работает только с текстовыми файлами.

Сводка команд файловой системы

В табл. 1.1 дана краткая сводка описания команд, которые были рассмотрены выше.

>lsВывод списка имен файлов текущего каталога
>ls filenamesВывод списка только поименованных файлов
>ls -tВывод списка, упорядоченного по времени создания файла (сначала более новые)
>ls -lВывод данного списка, содержащего большую информацию; допустимо также