Команда cat - одна из популярных утилит операционной системы Линукс. ЕЕ часто используют опытные пользователи из командной строки. Ведь самый мощный инструмент ОС Linux - терминал. Из него можно выполнить большинство задач. Такие как:
- создание, удаление файлов;
- сменить пароль пользователя;
- запретить доступ к интернету;
- запретить доступ к каталогу;
- установить и удалить программу;
- перезагрузить компьютер;
- настройка файрвола iptables;
- проброс портов;
- установить графическую оболочку;
- права доступа;
- и многое другое.
Название cat происходит от слова "catenate". Позволяет вывести на экран содержимое в качестве аргумента файла. Например, необходимо посмотреть содержимое test.
Содержание
Описание
Рассмотрим синтаксис.
cat аргументы файл1 файл2
Посмотрим, что говорит справка. Выполним cat --help.
Основные параметры утилиты:
- -A. Показывает в конце строки $.
- -b. Утилита нумерует строки начиная с 1. При этом пустые, не нумеруется.
- -e. В конце строки показывает $.
- -n. Нумерует все строки, включая пустые.
- -s. Не показывает повторные пустые строки.
- -T. Показывать табуляцию.
Примеры
Рассмотрим простой пример. Нужно узнать имя компьютера. Для этого, считаем файл hostname.
cat /etc/hostname
Как видим выше на скриншоте, команда просто прочитала текст и показала его на экране. В нашем случае имя компьютера это debian.
сat -n /home/user/file
ВАЖНО! Опция -n нумерует все строки, в том числе пустые.
Как создать файл с помощью cat?
Часто требуется скопировать конфиг какой-нибудь программы, сделать бэкап. Без больших усилий можно это выполнить через перенаправление вывода.
Перенаправление означает, что утилита перенаправит стандартный вывод на экран в то что укажет пользователь символом >, в устройство или файл.
Считаем документ "file" и перенаправим результат вывода в "file2". В итоге у нас на экране не покажется содержимое документа, а результат запишется в новый файл "file2".
Добавим в конец документа test содержимое test2.
cat test2 >> test
Запишем содержимое двух документов в один.
<code">cat file file2 >file3
Убираем комментарии из конфига
Работа с большими файлами, где очень много комментариев не удобно. Популярная задача в операционной системе Linux - убрать комментарии из конфига.
Обычно такую задачу решают двумя действиями:
- Делаем копию оригинального конфига, помечаем его как-нибудь "orig".
- Перенаправляем вывод используя дополнительный фильтр. Чтобы в конфиг не попали записи с комментриями #.
Примером такого конфига может быть samba, smb.conf.
cp smb.conf smb.conf.orig
cat smb.conf.orig | egrep "^[^#]" > smb.conf
Добавление знака $
В операционной системе Linux знак доллара в конце строчки, означает что команда будет выполнена без root прав. Бывает, что нужно добавить символ "$" в конец всех строк документа, для этого нам поможет опция -e.
cat -e script
Небольшой вывод
В итоге можно сказать, что популярная утилита имеет три основных функции:
- выводит на экран текст;
- перенаправляет стандартный вывод;
- добавляет символа $.