cat — одна из самых старых и часто используемых команд в Linux. Название — от слова concatenate, то есть «склеивать». По факту, это простой инструмент для чтения, склеивания и записи содержимого файлов.

Что умеет cat

  • Показать содержимое одного или нескольких файлов на экране.
  • Склеить содержимое нескольких файлов и вывести всё в поток.
  • Создавать новые файлы, вводя текст прямо из терминала.
  • Перенаправлять вывод в другие файлы, перезаписывая или дописывая их.

Как базово пользоваться

cat [опции] [имена_файлов]

Опций куча, но чаще всего хватает простого вызова.

Просмотр содержимого файла

Чтобы посмотреть, что внутри файла, достаточно:

cat /etc/issue

Если передать несколько файлов:

cat file1.txt file2.txt

— получишь подряд содержимое обоих.

Перенаправление и склейка

Чтобы скопировать содержимое одного файла в другой (заменить):

cat file1.txt > file2.txt

Если file2.txt не существует — создаст, если есть — перезапишет.

Чтобы добавить содержимое к существующему файлу:

cat file1.txt >> file2.txt

Нумерация строк и прочие приколы

Чтобы вывести файл с номерами строк:

cat -n file.txt

Чтобы сжать несколько подряд идущих пустых строк в одну:

cat -s file.txt

Визуализировать табуляции (чтобы понять, где пробел, а где таб):

cat -T file.txt

Показать символы конца строки:

cat -e file.txt

Создание файлов с cat

Иногда проще, чем запускать Vim или nano.

cat > newfile.txt

После Enter — вводишь текст, Ctrl+D — сохранить и выйти. Если хочешь не перезаписывать, а дописать:

cat >> existingfile.txt

Зачем это вообще нужно?

Если cat вызывает у тебя вопрос «а зачем?», значит либо совсем новичок, либо что-то не так с твоей Linux-жизнью. Она нужна, чтобы быстро глянуть в файл, склеить логи, кинуть данные куда надо. Когда уже надоело по сто раз открывать редактор — cat спасёт.

Заключение

cat — как простой нож в наборе инструментов системного админа или разработчика. Не режет ничего особо, но без него не соберёшь ничего толкового.

Если забываешь про эту команду — знай, что где-то в мире твой Linux уже ржёт над тобой.