Автор: Рубрики: Полезности Просмотрено: 106
Работа с файлами в Linux/ Unix. Использование утилиты cat с примерами
18Мар2020

cat (сокращение от анг. слова catenate, что значит связывать) еще одна из часто используемых утилит в Linux и Unix системах. 

 Команда  несет в себе три основные задачи, которые связанные с манипулированием текстовыми файлами: их создание, отображение и объединение. По сути, основная цель утилиты cat очень проста – она читает данные из файла или стандартного ввода и выводит их последовательно на экран терминала. Но при использовании ее ключей и специальных операторов перенаправления вывода, можно с этой утилитой сделать очень многое.

С помощью  утилиты cat можно выполнять несколько действий,  и это:

  1. выводить для просмотра содержимое файла или файлов в командную строку;
  2. создание и наполнение данными файлов (удобно для небольших файлов);
  3. копирование данных с одного файла второй;
  4. объединение наполнения разных файлов воедино.

В этой статье мы детально рассмотрим и опишем задачи утилиты и как использовать команду cat на практических примерах.

Просмотр наполнения файлов. Просто вводим после самой утилиты cat название конкретного файла для отображения его наполнения в консоли.

Аналогично можно посмотреть для нескольких файлов. Содержание каких будет выводиться на экран поочередно. Если текст слишком длинный для вывода лучше использовать утилиты less и more.

cat cmmand for files

Также благодаря использованию функции перенаправления стандартного ввода/вывода предоставляется возможность использовать утилиту в качестве текстового редактора, для создания и наполнение небольших файлов.  Чтобы осуществить перенаправление вывода используется символ >. Поместив символ > после команды cat, вы перенаправите вывод в файл, который будет указан после символа перенаправления.

Например, наполним содержимым файл  file1.txt, далее жмем на кнопку Enter и вводим необходимый текст. Если файл file1.txt не существует, он будет автоматически создан системой и записан введенным текстом с консоли.

command cat in linux

Дополнительно можно с этой утилитой добавлять текст в определенное место в документе, а именно в конец файла.

 Например, добавим введенную в терминале строку в конец файла file1.txt при помощи оператора перенаправления >>. Для этого нужно после символа >> указать название файла к которому в конце желаете дописать текст.

Как видим по скриншоте к содержимому файла file1.txt добавилась в конце строчка “one 11 one”.

cat in linux unix

Для копирования (перенаправления) содержимого файла test1.txt в другой newfile.txt применяем уже знакомый нам символ перенаправления >. Если файл newfile.txt не существует, он будет создан системой. Если файл newfile.txt уже существует, то будет перезаписан с потерей предыдуще содержимого, на это нужно всегда обращать внимание. В большинстве случаев, копирование данных проводят используя специальную утилиту cp (о ней можно почитать в нашей статье здесь).

cat cat

Аналогично проводятся работы с оператором >>. Прочтет содержимое файла test1.txt и запишет его в конец файла newfile.txt. Если этот файл не существует, он будет создан, и содержимое test1.txt будет записано в новый файл.

fffffwrrwr

Это работает также для нескольких файлов. Пример, следующей командой выполняется последовательная запись содержимого файлов test1.txt  и test1.txt в конец файла newfile.txt

77adada

Утилита имеет свои опции, которые предназначены для настройки ввода/вывода информации. Среди них можно выделить следующие ключи:
 -b  – нумерует непустые строки (строки в которых есть текст).

7777jkfl

 -n – нумерует все строки (даже те в которых нет текста).

888888888888aaa

-s – удаляет повторяющиеся пустые строки  (если идет подряд несколько пустых строк, они удаляются и содержимое выводятся на экран только с 1 пустой строкой между текстом).

44444444444444444sd

Также cat можно использовать в связке с другими утилитами для сортировки и удобного вывода на экран только необходимой информации. Например, с grep, tail, head. 

Используем grep для поиска по файле строк с конкретным слово. Например, нужно вывести все строки с словом info. Сразу для удобства используем ключ -n для отображения номеров строк, в которых есть это слово.

11111111111111sas

Здесь: orders2.txt – файл в котором нужно выполнить поиск и info – слово, которое нужно найти в этом файле.

И утилиты tail, head применяется для вывода нужного количества строк файла сначала или с конца документа. Если взять tail – эта утилита будет выводить строки с конца документа, а head сначала.

Задать количество строк для вывода можно просто используя  после самой утилиты ключ -n. Например, выведем последние 3 строки файла orders2.txt

2222222222222222222222222222222222222222222

Или же первые 2 строки через head .

2.33hgf

Аналогично можно их комбинировать, отделяя условия символом |. Например, выведем 3 последние строки файла, но в которых есть слово info.

2.22gfdf

Утилита cat является основой для работы с файлами. А команда ГиперХост и дальше планирует понемногу  разбирать  и вводить в курс дела  по базовым командам командной строки.

107 раз(а) 5 Сегодня просмотрено раз(а)
  • Владимир Дот

    Тоесть под линуксом и юниксом надо действовать одинаково? Почему у вас некоторые слова красным подсвечиваются, а у меня нет?

    • маша 11

      Да, эта утилита есть и в юникс. В консоле можно поиграться с цветным выводом.

  • Марина Семёнова

    Надо пробовать, без практики сложно усвоять такую инфу. Особенно по серверному линуксу-юниксу. Только практика, только так!