cat в Linux — всё что нужно знать

90% книг написанных про Linux начинают знакомство с командной строкой с cat. По статистике (на которую все ссылаются, но которую ни кто не видел), cat является самой часто употребляемой командой в Linux. Так что же делает это чудо-команда?

cat образовано от английского concatenate (объединять), т.е. логично предположить команда предназначена для объединения чего то с чем, например нескольких файлов. Но чаще всего cat используют для создания файлов и для вывода содержимого файла непосредственно в консоль. Давайте разберем все возможности этой команды подробнее.

Создание нового файла с помощью cat

С помощью cat и символа > мы перенаправили стандартный вывод в файл new_file. Для завершения заполнения файла данными перейдите на новую строку и нажмите Ctrl+D.

Просмотр файлов с помощью cat в Linux

Для просмотра файла просто наберите:
#cat <имя_файла>

Можно вывести с номерами строк:

Можно просмотреть содержимое нескольких файлов.

Обратите внимание, что содержимое выводится единым массивом данных, что хорошо видно по тому, что содержание второго файла вывелось строкой под номером 4 — нумерация не началась заново при выводе этого файла. Т.е. cat, как это и заложено в ее названии, склеила файлы.

Просмотр больших файлов с помощью cat

Типичная рекомендация — если файл не влезает в экран консоли использовать cat в сочетании с less или more:

Так вот, что я скажу — если вы уверены, что файл большой просто сразу используйте more, а лучше less.

Их для этого и делали, а у cat свои задачи.

Копирование, объединение и дополнение файлов с помощью cat в Linux

Давайте создадим несколько файлов:

Нумерацию я специально сделал не по порядку, это нам еще понадобится.

Объединим файлы и посмотрим на результат:

Как видите file3 содержит информацию из обоих файлов.
Теперь скопируем содержимое file3 в другой файл:

А теперь допишем в file3 еще несколько строк:

Точно так же можно дописать один файл в конец другого:

Несколько полезных примеров

Сортировка

Возьмем наш file3 с неправильным порядком строк и приведем в порядок:

или так:

У cat есть антипод tac. Вся разница, что вывод происходит в обратном порядке:

Отображение непечатаемых символов

Если что-то работает не так, как планировалось или совсем не работает — бывает полезно поглядеть не затесался ли какой вредный символ.
Например, отредактировали конфиг через ftp под Win редактором (ни когда так не делайте), а он расставил, как в Win принято, в конце строк CRLF. И ни чего не работает.

^M — вот он виновник.

Пропуск пустых строк

Еще один полезный ключ -s. При его использовании будут пропускаться все дублированные пустые строки:

На этом пожалуй достаточно о cat в Linux. Остались вопросы — пишите в комментах.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *