Меню Рубрики

Команда cat в linux

Команда cat в Linux

cat — одна из наиболее часто используемых команд в Linux. Она считывает данные из файлов и выводит их содержимое. Это самый простой способ отображения содержимого файла в командной строке.

Синтаксис

Ее можно использовать для отображения текстовых файлов, копирования текстовых файлов в новый документ, присоединения содержимого текстового файла в конце другого текстового файла для их объединения.

Отображение текстовых файлов

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

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

Копирование текстового файла

Обычно копирование осуществляется командой cp, но для копирования текстовых файлов вы можете аналогичным образом использовать команду cat. cat отправляет результат в stdout (стандартный поток вывода), обычно это экран терминала. Однако, можно перенаправить результат в файл при помощи символа перенаправления “>”.

считает содержимое mytext.txt и отправить его в стандартный поток вывода, но вместо отображения текста оболочка перенаправит результат в файл newfile.txt. Если этот файл не существует, он будет создан. Если он будет же существует, то будет перезаписантс потерей предыдущего содержимого, поэтому будьте осторожны.

Аналогично можно объединять несколько файлов в один. Например, команда

считает содержимое mytext.txt и mytext2.txt и запишет объединенный текст в newfile.txt. При отсутствии файла он будет создан, при наличии — перезаписан.

Присоединение содержимого текстового файла в конец другого текстового файла

Вместо перезаписи файла можно присоединить текст файла-источника к другому файлу при помощи оператора перенаправления «>>».
Например, команда:

Прочтет содержимое mytext.txt и запишет его в конец файла another-text-file.txt. Если этот файл не существует, он будет создан, и содержимое mytext.txt будет записано в новый файл.
Это работает также для нескольких файлов. Следующая команда последовательно запишет содержимое mytext.txt и mytext2.txt в конец файла another-text-file.txt:

Добавление стандартного ввода в вывод cat

Если в качестве имени файла задать дефис («-«), cat осуществляет считывание из стандартного потока ввода. Например, если у вас есть файл list.txt со следующим текстом:

вы можете воспользоваться командой echo для вывода текста, направить этот текст команде cat и указать ей объединить его с содержимым файла:

На выходе получим следующий текст:

Опции

Данные опции доступны для 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. Она часто применяется опытными пользователями во время работы с терминалом. С помощью этой команды можно очень просто посмотреть содержимое небольшого файла, склеить несколько файлов и многое другое.

Несмотря на то что утилита очень проста и решает только одну задачу в лучшем стиле Unix, она будет очень полезной. А знать о ее дополнительных возможностях вам точно не помешает. В этой статье будет рассмотрена команда cat linux, ее синтаксис, опции и возможности.

Команда cat

Название команды — это сокращения от слова catenate. По сути, задача команды cat очень проста — она читает данные из файла или стандартного ввода и выводит их на экран. Это все, чем занимается утилита. Но с помощью ее опций и операторов перенаправления вывода можно сделать очень многое. Сначала рассмотрим синтаксис утилиты:

$ cat опции файл1 файл2 .

Вы можете передать утилите несколько файлов и тогда их содержимое будет выведено поочередно, без разделителей. Опции позволяют очень сильно видоизменить вывод и сделать именно то, что вам нужно. Рассмотрим основные опции:

  • -b — нумеровать только непустые строки;
  • -E — показывать символ $ в конце каждой строки;
  • -n — нумеровать все строки;
  • -s — удалять пустые повторяющиеся строки;
  • -T — отображать табуляции в виде ^I;
  • -h — отобразить справку;
  • -v — версия утилиты.

Это было все описание linux cat, которое вам следует знать, далее рассмотрим примеры cat linux.

Использование cat в Linux

Самое простое и очевидное действие, где используется команда cat linux — это просмотр содержимого файла, например:

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

Как вы знаете, в большинстве команд Linux стандартный поток ввода можно обозначить с помощью символа «-«. Поэтому мы можем комбинировать вывод текста из файла, а также стандартного ввода:

Теперь перейдем к примерам с использованием ранее рассмотренных опций, чтобы нумеровать только непустые строки используйте:

Также вы можете нумеровать все строки в файле:

Опция -s позволяет удалить повторяющиеся пустые строки:

А с помощью -E можно сообщить утилите, что нужно отображать символ $ в конце каждой строки:

Если вы не передадите никакого файла в параметрах утилите, то она будет пытаться читать данные из стандартного ввода:

Для завершения записи нажмите Ctrl+D. Таким образом можно получить очень примитивный текстовый редактор — прочитаем ввод и перенаправим его вместо вывода на экран в файл:

cat > file2
$ cat file2

Возможность объединения нескольких файлов не была бы настолько полезна, если бы нельзя было записать все в один:

cat file1 file2 > file3
$ cat file3

Вот, собственно, и все возможности команды cat, которые могут быть полезны для вас.

Выводы

В этой статье мы рассмотрели что представляет из себя команда cat linux и как ею пользоваться. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

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

Прежде чем мы начнём углубляться в тему статьи, мы должны войти в VPS через SSH и быстро проверить основной синтаксис. Команда принимает имя файла в качестве аргумента вместе с опциями, уточняющими отдельные операции.

Чтобы найти все доступные опции, просто введите cat –help в терминале.

Подготовительные действия

Сначала хотелось бы уделить время предварительным действиям, поскольку не все юзеры знакомы с принципом работы консоли. Дело в том, что при открытии файла требуется либо указывать точный путь к нему, либо производить запуск команды, находясь непосредственно в самой директории через «Терминал». Поэтому мы советуем для начала просмотреть такое руководство:

    Запустите файловый менеджер и перейдите в ту папку, где хранятся необходимые файлы.

Нажмите на одном из них правой кнопкой мыши и выберите пункт «Свойства».

Запустите «Терминал» через меню или комбинацию клавиш Ctrl + Alt + T.

Пропишите команду cd /home/user/folder, где user — имя пользователя, а folder — папка, где хранятся объекты. За перемещение по пути отвечает стандартная команда cd.

Таким методом осуществляется переход к определенной директории через стандартную консоль. Дальнейшие действия также будут производиться через эту папку.

Просмотр содержимого

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

    В консоли введите cat testfile, где testfile — имя необходимого файла, а затем нажмите на клавишу Enter.

Вы можете открыть сразу несколько файлов, для этого потребуется указать все их названия, например, cat testfile testfile1.

Строки будут совмещены и отобразятся одним целым.

Вот так работает cat без применения доступных аргументов. Если же вы просто пропишите в «Терминале»cat, то получите некое подобие консольного блокнота с возможностью записывать нужное количество строк и сохранять их нажатием на Ctrl + D.

Нумерация строк

Сейчас давайте затронем рассматриваемую команду с применением различных аргументов. Начать следует с нумерации строк, а за это отвечает -b.

    В консоли напишите cat -b testfile, где testfile — название нужного объекта.

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

Если есть желание пронумеровать все строки, включая пустые, придется задействовать аргумент -n, и тогда команда приобретает вид: cat -n testfile.

Удаление повторяющихся пустых строк

Случается так, что в одном документе присутствует множество пустых строк, возникших каким-либо образом. Вручную удалять их через редактор не всегда удобно, поэтому здесь тоже можно обратиться к команде cat, применив аргумент -s. Тогда строка приобретает вид cat -s testfile (доступно перечисление нескольких файлов).

Добавление знака $

В операционной системе Linux знак доллара в конце строчки, означает что команда будет выполнена без root прав. Бывает, что нужно добавить символ «$» в конец всех строк документа, для этого нам поможет опция -e.
cat -e script

Небольшой вывод

В итоге можно сказать, что популярная утилита имеет три основных функции:

  1. выводит на экран текст;
  2. перенаправляет стандартный вывод;
  3. добавляет символа $.

Отображение текстовых файлов

Простейший способ использования cat — задать команде имя файла. Содержимое текстового файла будет выведено на экран. Например, следующая команда прочитает содержимое файла mytext.txt и выведет его в стандартный поток вывода (экран вашего терминала):
cat mytext.txt

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

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

cat mytext.txt mytext2.txt

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

]# cat > new_file это новый файл

]# cat > new_file это новый файл

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

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

Для просмотра файла просто наберите:
#cat [hc@host

]# cat new_file это новый файл

]# cat new_file это новый файл

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

]# cat -n new_file 1 это 2 новый 3 файл

]# cat -n new_file 1 это 2 новый 3 файл

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

]# cat -n new_file old_file 1 это 2 новый 3 файл 4 Это старый файл

]# cat -n new_file old_file 1 это 2 новый 3 файл 4 Этостарыйфайл

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

Редирект Контента с Помощью Команды Cat

Вы можете не только отобразить содержимое файла в консоли, но и перенаправить вывод в другой файл, используя параметр >. Вот пример команды:

cat ishodnyifail.txt > failnaznachenija.txt

Если файл назначения не существует, команда создаст его или перезапишет существующий с таким же именем.

Чтобы добавить содержимое в файл назначения, используйте опцию >>:

cat ishodnyifail.txt >> failnaznachenija.txt

Конкатенация («Склеивание») Файлов с Помощью Команды Cat

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

cat ishodnyifail1.txt ishodnyifail2.txt > failnaznachenija.txt

Как и ранее, приведенная выше команда создаст файл назначения, если он не существует, или перезапишет существующий файл с таким же именем.

Обозначение Конца Строки Командой Cat

С помощью команды cat также можно обозначить конец строки. Маркер конца строки — символ $. Чтобы реализовать эту функцию, используйте параметр -E:

cat -E imiafaila.txt

Нумерация Строк с Помощью Команды Cat в Linux

Эта команда также позволяет отобразить содержимое файла с пронумерованными строками. Реализует эту функцию опция -n:

cat -n imiafaila.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

На выходе получим следующий текст:

Мой список покупок
яблоки
апельсины
масло
хлеб

Основные параметры команды cat

После того, как вы поиграли с различными форматами двоичных файлов, вернемся к простым старым текстовым файлам, изучив пару опций, специально предназначенных для работы с этими файлами. Несмотря на то, что они не являются частью стандарта POSIX, эти параметры являются переносимыми по версиям BSD и GNU для cat. Обратите внимание: мы не претендуем на то, что мы здесь разберем все моменты, поэтому проверьте страницу man, чтобы увидеть полный список опций, поддерживаемых вашей системой команду cat!

-n: числовые строки

С помощью опции n команда cat префикс каждой выходной строки по номеру строки:

cat -n andreyex.txt 1 2 andreyex andreyex n. 3 a natural family of lithe-bodied round-headed fissiped 4 mammals, including the cats; wildcats; lions; leopards; 5 cheetahs; and saber-toothed tigers. 6 7 Syn: family . 8 [WordNet 1.5] 9

В параметр -n число выходных линий. Это означает, что счетчик не сбрасывается при переходе от одного входного файла в другой, как вы увидите это, если вы попробовали самостоятельно следующую команду:

-s: подавление повторяющихся пустых выходных строк

С помощью опции -s команда cat сбрасывает несколько последовательных пустых строк:

cat -n ubuntu.txt andreyex.txt | sed -n 8,13p 8 lynx () is also called . 9 [1913 Webster +PJC] 10 11 12 andreyex andreyex n. 13 a natural family of lithe-bodied round-headed fissiped sylvain@bulbizarre:

$ cat -ns ubuntu.txt andreyex.txt | sed -n 8,13p 8 lynx () is also called . 9 [1913 Webster +PJC] 10 11 andreyex andreyex n. 12 a natural family of lithe-bodied round-headed fissiped 13 mammals, including the cats; wildcats; lions; leopards;

В приведенном выше примере вы можете увидеть, что в выводе по умолчанию строки 10 и 11 были пустыми. При добавлении опции -s вторая пустая строка была отброшена.

-b: число только непустые строки

Несколько связанный с двумя предыдущими вариантами, опция -b будет содержать строки, игнорируя пустые:

$ cat -b andreyex.txt | cat -n 1 2 1 andreyex andreyex n. 3 2 a natural family of lithe-bodied round-headed fissiped 4 3 mammals, including the cats; wildcats; lions; leopards; 5 4 cheetahs; and saber-toothed tigers. 6 5 7 6 Syn: family . 8 7 [WordNet 1.5] 9

В приведенном выше примере используются два экземпляра команды cat с различными параметрами в контейнере. Внутренняя нумерация происходит с помощью опции -b, используемой с первой командой cat. Внешняя нумерация исходит с помощью опции -n, используемой со второй командой cat.

Как вы можете увидеть, первая и последняя строки не были пронумерованы опцией -b, потому что они пусты. Но как насчет 6-й линии? Почему она по-прежнему нумеруется с опцией -b? Ну, потому что это строка заполненная пробелами, но не пустая, как мы увидим в следующем разделе.

-v,,-e, -t: Отображение непечатаемых символов

Три варианта,-v, -e `, and `-t которые используются для отображения различных наборов невидимых символов. Даже если наборы перекрываются, нет опции «catch-all», поэтому вам придется комбинировать их, если вы хотите отображать все невидимые символы.

-v: просмотр невидимых символов

Опция -v отображает все непечатаемые символы с кареткой и мета – обозначениями, за исключением строки и табуляции.

С помощью этой опции управляющие символы будут отображаться как каретка ( ^), за которыми следует соответствующий символ ASCII (например, возврат каретки, 13 байт отображается так, ^M как M в ASCII – 64 + 13), а символы с набором бит высокого порядка появится в «мета» описании M- за которой следует представление, соответствующее 7 младшим битам (например, байт 141 будет отображаться так, M-^M как 141 – 128 + 13).

Хотя, казалось бы, эзотерическая, эта функция может быть полезна при работе с двоичными файлами, например, если вы хотите изучить необработанную информацию, встроенную в файл JPEG:

$ cat -v cat.jpg | fold -75 | head -10 M-^?M-XM-^?M-`^@^PJFIF^@^A^A^A^@H^@H^@^@M-^?M-

Опция -e работает с опцией -v, только будет добавить знак доллара ($) перед каждым символом перевода строки, тем самым явно показывая конец линии:

$ cat -e andreyex.txt $ andreyex andreyex n.^M$ a natural family of lithe-bodied round-headed fissiped^M$ mammals, including the cats; wildcats; lions; leopards;^M$ cheetahs; and saber-toothed tigers.^M$ ^M$ Syn: family .^M$ [WordNet 1.5]^M$ $

-t: отображение невидимых символов, включая вкладки

Опция -t работает как вариант -v, за исключением того, что будет также отображать табличные данные с помощью курсора ^I (закладка хранится в виде байта удержания значение 9, а I в ASCII составляет 64 + 9 = 73):

$ cat -t andreyex.txt andreyex andreyex n.^M ^Ia natural family of lithe-bodied round-headed fissiped^M ^Imammals, including the cats; wildcats; lions; leopards;^M ^Icheetahs; and saber-toothed tigers.^M ^M ^ISyn: family .^M ^I^I [WordNet 1.5]^M

-et: показать все скрытые символы

Как мы уже говорили кратко, если вы хотите отобразить все непечатаемые символы, в том числе таблицы и маркеры конца строки, вам нужно будет использовать варианты -e и -t:

$ cat -et andreyex.txt $ andreyex andreyex n.^M$ ^Ia natural family of lithe-bodied round-headed fissiped^M$ ^Imammals, including the cats; wildcats; lions; leopards;^M$ ^Icheetahs; and saber-toothed tigers.^M$ ^M$ ^ISyn: family .^M$ ^I^I [WordNet 1.5]^M$ $

Копирование текстового файла

Обычно копирование осуществляется командой 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. При отсутствии файла он будет создан, при наличии — перезаписан.

Удаление Пустых Строк

Чтобы удалить пустые повторяющиеся строки и сэкономить место на дисплее, вы можете применить опцию -s. Но имейте в виду, что этот параметр удалит только повторяющиеся пустые строки, оставив одну пустую строку.

cat -s imiafaila.txt

Нумерация Непустых Строк с Помощью Команды Cat в Linux

Чтобы вывести номер каждой строки, не учитывая пустых, используйте опцию -b. Но помните, что параметр -b отменяет опцию -n:

cat -b imiafaila.txt

Отображение Файла в Обратном Порядке

Чтобы просмотреть содержимое файла в обратном порядке, начиная с последней строки и заканчивая первой, просто используйте команду tac (команду cat, написанную задом наперёд):

Примеры

Рассмотрим простой пример. Нужно узнать имя компьютера. Для этого, считаем файл hostname.
cat /etc/hostname

Читаем имя компьютера

Как видим выше на скриншоте, команда просто прочитала текст и показала его на экране. В нашем случае имя компьютера это debian.
сat -n /home/user/file

Результат выполнения с ключом -n

ВАЖНО! Опция -n нумерует все строки, в том числе пустые.

Заключение

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

Источник

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

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

  • Команда autoremove в linux
  • Количество слов в строке linux
  • Количество свободной памяти linux
  • Количество рабочих столов linux
  • Количество открытых дескрипторов linux