Объединение файлов с помощью cat
Команда cat выводит в стандартный поток вывода содержимое файла (не обязательно текстового). Если аргументами задано несколько файлов, то их содержимое выводится последовательно, объединяя в выводимом потоке со- держимое этих файлов (название cat происходит от англ. concatenate — сце- плять). Команда cat может объединять и двоичные файлы. Не следует только выводить содержимое двоичных файлов на терминал, т. к. это может нару- шить его настройки.
В примере 8.16 команда split (будет описана далее) делит бинарный файл
/bin/ls на две части: xaa и xab, которые помещаются в текущий каталог. Далее команда cat из этих двух частей собирает файл ls в текущем каталоге. Файлы ls и /bin/ls имеют одинаковое содержимое, что проверяется командой md5sum (вычисляет хэш MD5). То есть при слиянии частей файла команда cat не изменила содержимое файла. Для проверки работоспособности копии про- граммы ls, собранной из частей, на файл ls устанавливается право на испол- нение для владельца. Последняя команда примера демонстрирует работоспо- собность исполняемого бинарного файла, собранного из частей.
Пример 8.16. Объединение частей бинарного файла командой cat |
$ ls -l /bin/ls
-rwxr-xr-x 1 root root 100584 Oct 24 10:20 /bin/ls
$ split -b51k /bin/ls
$ ls -l x??
-rw-r--r-- 1 user1 users 52224 Jan 3 13:32 xaa
-rw-r--r-- 1 user1 users 48360 Jan 3 13:32 xab
$ cat x?? > ls
$ md5sum ls /bin/ls
768c9ee4991bad14bdd444d5a2cb6b5a ls 768c9ee4991bad14bdd444d5a2cb6b5a /bin/ls
$ chmod u+x ls
$ ./ls -l ls /bin/ls
-rwxr-xr-x 1 root root 100584 Oct 24 10:20 /bin/ls
-rwxr--r-- 1 user1 users 100584 Jan 3 13:32 ls
У команды cat имеется похожая команда tac, позволяющая выводить строки файла, заданного в качестве аргумента, в обратном порядке.
Дата добавления: 2015-06-12; просмотров: 688;