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 |
Вывод данного списка, содержащего большую информацию; допустимо также ls -lt |
ls -u |
Вывод списка, упорядоченного по времени последнего использования; допустимо также ls -lu , ls -lut |
ls -r |
Вывод списка с обратным порядком; допустимо также ls -rt , ls -rit и т.п. |
ed filename |
Редактирование поименованного файла |
cp file1 file2 |
Копирование file1 в file2 , старое содержимое file2 пропадает, если оно было |
mv file1 file2 |
Переименование file1 в file2 ; старый file2 исчезает, если он был |
rm filenames |
Удаление поименованных файлов безвозвратно |
cat filenames |
Вывод содержимого поименованных файлов |
pr filenames |
Печать содержимого файлов с заголовком, по 66 строк на странице |
pr -n filenames |
Печать в n столбцов |
pr -m filenames |
Печать поименованных файлов в несколько столбцов |
wc filenames |
Подсчет числа строк, слов и символов для каждого файла |
ws -l filenames |
Подсчет числа строк для каждого файла |
grep pattern filenames |
Вывод строк, соответствующих шаблону |
grep -v pattern files |
Вывод строк, не соответствующих шаблону |
sort filenames |
Сортировка файлов по строкам в алфавитном порядке |
tail filename |
Вывод 10 последних строк файла |
tail -n filename |
Вывод n последних строк файла |
tail +n filename |
Вывод файла, начиная со строки n |
cmp file1 file2 |
Вывод места первого расхождения |
diff file1 file2 |
Вывод всех расхождений между файлами |
Таблица 1.1: Сводка команд файловой системы
1.3 Продолжаем изучать файлы: каталоги
Система отличит ваш файл с именем junk
от "нужного" файла с тем же именем. Это обеспечивается за счет группировки файлов в каталоги подобно тому, как книги помещаются на полках в библиотеке, так что файлы могут иметь одинаковые имена в разных каталогах без конфликтов.
В общем случае каждый пользователь имеет свой личный каталог, иногда называемый начальным каталогом, который содержит только принадлежащие ему файлы. Входя в систему, вы оказываетесь в вашем личном (начальном) каталоге. Можно сменить каталог, с которым вы работаете (его часто называют рабочим или текущим каталогом ), но ваш личный каталог останется тем же. Если не предпринять специальных действий, новый файл, создаваемый вами, попадает в текущий каталог. Так как вначале текущим является личный каталог, ваш файл никак не связан с файлом, имеющим то же имя, в чужом каталоге.
Читать дальше
Конец ознакомительного отрывка
Купить книгу