- Команда cat в Linux
- Синтаксис
- Отображение текстовых файлов
- Копирование текстового файла
- Присоединение содержимого текстового файла в конец другого текстового файла
- Добавление стандартного ввода в вывод cat
- Опции
- Заключение
- Похожие записи:
- Команда cat linux — разбираем от А до Я!
- Команда cat в Linux
- Синтаксис команды Cat
- Отображение содержимого файла
- Перенаправить содержимое файла
- Печатать номера строк
- Подавить повторяющиеся пустые строки
- Отображение символов TAB
- Показать конец строк
- Объединение файлов
- Создание файлов
- Выводы
Команда cat в Linux
cat — одна из наиболее часто используемых команд в Linux. Она считывает данные из файлов и выводит их содержимое. Это самый простой способ отображения содержимого файла в командной строке.
Синтаксис
Ее можно использовать для отображения текстовых файлов, копирования текстовых файлов в новый документ, присоединения содержимого текстового файла в конце другого текстового файла для их объединения.
Отображение текстовых файлов
Простейший способ использования cat - задать команде имя файла. Содержимое текстового файла будет выведено на экран. Например, следующая команда прочитает содержимое файла mytext.txt и выведет его в стандартный поток вывода (экран вашего терминала):
cat mytext.txt
Если файл слишком длинный, он пролистается, и вы увидите только последний экран. При необходимости просмотреть документ постранично или прокручивать его вперёд и назад можно воспользоваться такими средствами просмотра как pg, more или less.
Когда указано несколько файлов, cat будет выводить их последовательно, объединяя содержимое в потоке стандартного вывода. Поэтому следующая команда выведет содержимое двух текстовых файлов, как если бы они были одним:
Копирование текстового файла
Обычно копирование осуществляется командой cp, но для копирования текстовых файлов вы можете аналогичным образом использовать команду cat. cat отправляет результат в stdout (стандартный поток вывода), обычно это экран терминала. Однако, можно перенаправить результат в файл при помощи символа перенаправления “>”.
cat mytext.txt > newfile.txt
считает содержимое mytext.txt и отправить его в стандартный поток вывода, но вместо отображения текста оболочка перенаправит результат в файл newfile.txt. Если этот файл не существует, он будет создан. Если он будет же существует, то будет перезаписантс потерей предыдущего содержимого, поэтому будьте осторожны.
Аналогично можно объединять несколько файлов в один. Например, команда
cat mytext.txt mytext2.txt > newfile.txt
считает содержимое mytext.txt и mytext2.txt и запишет объединенный текст в newfile.txt. При отсутствии файла он будет создан, при наличии — перезаписан.
Присоединение содержимого текстового файла в конец другого текстового файла
Вместо перезаписи файла можно присоединить текст файла-источника к другому файлу при помощи оператора перенаправления «>>».
Например, команда:
cat mytext.txt >> another-text-file.txt
Прочтет содержимое mytext.txt и запишет его в конец файла another-text-file.txt. Если этот файл не существует, он будет создан, и содержимое mytext.txt будет записано в новый файл.
Это работает также для нескольких файлов. Следующая команда последовательно запишет содержимое mytext.txt и mytext2.txt в конец файла another-text-file.txt:
cat mytext.txt mytext2.txt >> another-text-file.txt
Добавление стандартного ввода в вывод cat
Если в качестве имени файла задать дефис («-«), cat осуществляет считывание из стандартного потока ввода. Например, если у вас есть файл list.txt со следующим текстом:
вы можете воспользоваться командой echo для вывода текста, направить этот текст команде cat и указать ей объединить его с содержимым файла:
echo "Мой список покупок" | cat - list.txt
На выходе получим следующий текст:
Мой список покупок
яблоки
апельсины
масло
хлеб
Опции
Данные опции доступны для GNU cat, стандартной для большинства дистрибутивов Linux. Для уточнения опций, доступных конкретно в вашей системе, обратитесь к руководству.
-n, —number — выводить номер каждой строки результата.
-b, —number-nonblank — выводить номер каждой строки результата, кроме пустых. Эта опция отменяет -n.
-E, —show-ends — отображать «$» в конце каждой строки.
-s, —squeeze-blank — исключать из вывода повторяющиеся пустые строки.
-T, —show-tabs — показывать символы табуляции как ^I.
-v, —show-nonprinting — показывать непечатаемые символы, кроме табуляции и конца строки.
-t — показывать непечатаемые символы, кроме конца строки.
-e — показывать непечатаемые символы, кроме табуляции.
-A, —show-all — показывать все непечатаемые символы.
—help — вывести справку и выйти.
—version — вывести информацию о версии и выйти.
Заключение
cat — простой, но очень полезный инструмент для работы с данными в текстовых файлах, системных логах, файлах конфигурации и любыми другими читаемыми для человека данными.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие записи:
Команда cat linux — разбираем от А до Я!
Команда cat в linux (полное описание) — это сокращение от concatenate. На самом деле это некая утилита, которая позволяет вам сцеплять, связывать файлы и т.д. Она может выводить содержимое файла, к примеру:
Если содержимое файла очень большое, к примеру текст на 5000 символов. Может возникнуть проблема! Произойдёт быстрая прокрутка(мелькание) текста. В данном случае пишем вот так:
root@fantom-Lenovo:/home/jakudza# cat test.txt | less |
Стандартно, команда cat может слить и вывести файл на стандартный вывод(т.е. на монитор). Или иначе говоря, данная команда просто выводит содержимое перечисленных файлов (filename, и т.д.) на стандартный вывод:
2. Команда ниже «сливает» первые 2 файла, и перемещает их в третий filename3 (уточнение: команда взяла информацию из первого и второго файла. Появилась некая новая информация, состоящая из двух источников. И эту информацию мы передали не на «стандартный вывод», а в файл filename3, благодаря символу «>»):
cat filename1 >> filename2 (Данной командой мы просто добавили содержимое первого файла ко второму) |
* Как мы видим в данных примерах используется «>»(одинарный или двойной) — запоминайте что он делает! Зачастую в Университете или ином месте, задают вопросы: допустим команда «>» — делает то-то, а что делает «>>»? и т.д.
— Перенаправление означает, что система должна использовать файл или устройство, указанное пользователем, вместо «стандартного ввода» или «стандартного вывода«.
— Чтобы перенаправить стандартный вывод, используйте символ «>», о котором мы говорили выше.
— Размещение «>» после команды cat (или после любой другой команды, которая выдает результаты своей работы на «стандартный вывод») перенаправит результат ее работы «в файл», указанный за символом «>».
Что будет если команда cat без аргументов, при этом мы вводим значения, после нажатия клавиши «Enter»:
Команда cat в Linux
Команда cat — одна из наиболее широко используемых команд в Linux. Имя cat команды происходит от его функциональности против кошачьих файлов Enate. Он может читать и объединять файлы, записывая их содержимое в стандартный вывод. Если файл не указан или если имя входного файла указано в виде одного дефиса ( — ), он считывается из стандартного ввода.
Cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
В этом руководстве мы покажем вам, как использовать команду cat на практических примерах.
Синтаксис команды Cat
Прежде чем перейти к использованию команды cat, давайте начнем с обзора основного синтаксиса.
Выражения утилиты cat принимают следующую форму:
- OPTIONS — варианты кошек . Используйте cat —help чтобы просмотреть все доступные параметры.
- FILE_NAMES — Ноль или более имен файлов.
Отображение содержимого файла
Наиболее простое и распространенное использование команды cat — это чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла /etc/issue в терминале:
Перенаправить содержимое файла
Вместо вывода вывода на стандартный вывод (на экране) вы можете перенаправить его в файл.
Следующая команда скопирует содержимое file1.txt в file2.txt с помощью оператора ( > ):
Если файл file2.txt не существует, команда создаст его. В противном случае он перезапишет файл.
Используйте оператор ( >> ), чтобы добавить содержимое file1.txt в file2.txt :
Как и раньше, если файла нет, он будет создан.
Печатать номера строк
Чтобы отобразить содержимое файла с номерами строк, используйте параметр -n :
1 DISTRIB_ID=Ubuntu 2 DISTRIB_RELEASE=18.04 3 DISTRIB_CODENAME=bionic 4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Подавить повторяющиеся пустые строки
Используйте параметр -s чтобы пропустить повторяющиеся пустые выходные строки:
Отображение символов TAB
Параметр -T позволяет визуально различать табуляции и пробелы.
127.0.0.1^Ilocalhost 127.0.1.1^Iubuntu1804.localdomain
Символы TAB будут отображаться как ^I
Показать конец строк
Чтобы отобразить невидимый символ окончания строки, используйте аргумент -e :
DISTRIB_ID=Ubuntu$ DISTRIB_RELEASE=18.04$ DISTRIB_CODENAME=bionic$ DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
Окончание строки будет отображаться как $ .
Объединение файлов
При передаче двух или более имен файлов в качестве аргументов команде cat содержимое файлов будет объединено. cat читает файлы в последовательности, указанной в его аргументах, и отображает содержимое файла в той же последовательности.
Например, следующая команда прочитает содержимое file1.txt и file2.txt и отобразит результат в терминале:
Вы можете объединить два или более текстовых файла и записать их в файл.
Следующая команда file1.txt содержимое file1.txt и file2.txt и запишет их в новый combinedfile.txt file2.txt с помощью оператора ( > ):
cat file1.txt file2.txt > combinedfile.txt
Если combinedfile.txt файл не существует, то команда будет создавать. В противном случае он перезапишет файл.
Чтобы file1.txt содержимое file1.txt и file2.txt и добавить результат в file3.txt с помощью оператора ( >> ):
cat file1.txt file2.txt >> file3.txt
Если файла нет, он будет создан.
При объединении файлов с помощью cat вы можете использовать те же аргументы, что и в предыдущем разделе.
Создание файлов
Создавать небольшие файлы с помощью cat часто проще, чем открывать текстовый редактор, такой как nano , Vim, Sublime Text или Visual Studio Code .
Чтобы создать новый файл, используйте команду cat за которой следует оператор перенаправления ( > ) и имя файла, который вы хотите создать. Нажмите Enter , введите текст и, когда закончите, нажмите CRTL+D чтобы сохранить файл.
В следующем примере мы создаем новый файл с именем file1.txt :
Если присутствует файл с именем file1.txt , он будет перезаписан. Используйте оператор « >> », чтобы добавить вывод в существующий файл.
Выводы
Команда cat может отображать, комбинировать и создавать новый файл.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.