- Команда Linux Cat: использование и примеры
- Синтаксис команд Cat
- Создание файла с помощью команды Cat
- Просмотр содержимого файла с помощью команды Cat
- Перенаправление содержимого с помощью команды Cat
- Объединение файлов с помощью команды Cat
- Выделение строки с помощью команды Cat
- Отображение номеров строк с помощью команды Cat
- Отображение непечатаемых символов с помощью команды Cat
- Подавление пустых строк с помощью команды Cat
- Нумерация непустых строк с помощью команды Cat
- Отображение файла в обратном порядке с помощью команды Cat
- Sysadminium
- Создание файлов и просмотр их в каталоге
- Редактирование файлов
- Чтение файлов
- Команды cat и tac
- Команда grep
- Команда less
- Команды tail и head
- cat в Linux – всё что нужно знать
- Создание нового файла с помощью cat
- Просмотр файлов с помощью cat в Linux
- Просмотр больших файлов с помощью cat
Команда Linux Cat: использование и примеры
Команда cat в Linux — одна из самых полезных команд, которую вы можете изучить. Он получил свое название от слова «объединить» и позволяет создавать, объединять или печатать файлы на стандартном экране вывода или в другой файл и многое другое.
Вам не требуется ничего устанавливать, поскольку он предустановлен с пакетом coreutils в любой системе на основе Debian или Red Hat.
В этом руководстве мы рассмотрим распространенное использование команды Linux cat, объясняя ее функции.
Синтаксис команд Cat
Прежде чем мы начнем изучать тему статьи, мы должны войти в VPS с помощью SSH и быстро проверить базовый синтаксис. Команда принимает имя файла в качестве аргумента вместе с параметрами для указания конкретных операций.
Создание файла с помощью команды Cat
Используя команду cat, вы можете быстро создать файл и поместить в него текст. Для этого используйте оператор перенаправления >, чтобы перенаправить текст в файле.
Файл создан, и вы можете начать заполнять его текстом. Чтобы добавить несколько строк текста, просто нажимайте Enter в конце каждой строки. Когда вы закончите, нажмите CTRL + D, чтобы выйти из файла.
Чтобы убедиться, что файл действительно создан указанной выше командой, просто используйте следующую команду ls в терминале:
Просмотр содержимого файла с помощью команды Cat
Это одно из основных применений команды cat. Без каких-либо параметров команда прочитает содержимое файла и отобразит его в консоли.
Чтобы предотвратить прокрутку больших файлов, вы можете добавить параметр | more для вывода через меньший или больший дисплей:
Вы также можете отображать содержимое более чем одного файла. Например, чтобы отобразить содержимое всех текстовых файлов, используйте в терминале следующую команду:
Перенаправление содержимого с помощью команды Cat
Вместо того, чтобы отображать содержимое файла в консоли, вы можете перенаправить вывод в другой файл, используя опцию > . Командная строка будет выглядеть так:
cat source.txt > destination.txt
Если целевой файл не существует, команда создаст его или перезапишет существующий с тем же именем.
Чтобы добавить содержимое файла назначения, используйте параметр >> вместе с командой cat:
cat source.txt >> destination.txt
Объединение файлов с помощью команды Cat
Эта команда также позволяет объединять несколько файлов в один. В основном он работает так же, как и функция перенаправления, описанная выше, но с несколькими исходными файлами.
cat source1.txt source2.txt > destination.txt
Как и ранее, указанная выше команда создаст целевой файл, если он не существует, или перезапишет существующий с тем же именем.
Выделение строки с помощью команды Cat
Команда cat также может отмечать концы строк, отображая символ $ в конце каждой строки. Чтобы использовать эту функцию, используйте параметр -E вместе с командой cat:
Отображение номеров строк с помощью команды Cat
С помощью команды cat вы также можете отобразить содержимое файла вместе с номерами строк в начале каждого файла. Чтобы использовать эту функцию, используйте параметр -n с командой cat:
Отображение непечатаемых символов с помощью команды Cat
Чтобы отобразить все непечатаемые символы, используйте параметр -v вместе с командой cat, как в следующем примере:
Подавление пустых строк с помощью команды Cat
Чтобы подавить повторяющиеся пустые строки и создать безопасное пространство на экране, вы можете использовать параметр -s . Имейте в виду, что эта опция сохранит одну пустую строку, удалив только повторяющиеся пустые строки. Команда будет выглядеть так:
Нумерация непустых строк с помощью команды Cat
Чтобы отобразить непустые строки с номерами строк, напечатанными перед ними, используйте параметр -b . Помните, что параметр -b имеет приоритет над параметром -n :
Отображение файла в обратном порядке с помощью команды Cat
Чтобы просмотреть содержимое файла в обратном порядке, начиная с последней строки и заканчивая первой, просто используйте команду tac , которая является просто cat в обратном порядке:
Sysadminium
На этом уроке по Linux мы рассмотрим создание (touch), редактирование (nano) и чтение (cat, tac, grep, less, tail) текстовых файлов.
Создание файлов и просмотр их в каталоге
Все примеры я буду показывать на Debian 11, так как на Ubuntu 22.04 все выполняется аналогично. Вообще в Linux работа в терминале на любых системах практически одинакова. Поэтому создание, редактирование и чтение файлов можно продемонстрировать на любой системе.
Для создания текстового файла служит команда touch:
С помощью команды ls можно посмотреть какие файлы есть в каталоге:
Для команды ls есть дополнительные опции:
- -l — показывает информацию по каждому файлу;
- -h — показывает размер файла в удобном для человека виде (байты, килобайты, мегабайты и т.д.). Эту опцию можно использовать только вместе в -l.
Опции можно писать слитно (ls -lh) или раздельно (ls -l -h). Вот пример:
alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:15 file.txt
Команда touch не только создает файл, но если этот файл уже есть, то обновляет время доступа и модификации данного файла:
alex@deb:~$ touch file.txt alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Как вы могли заметить вначале время последнего изменения файла было 16:15, а после выполнения команды touch оно изменилось на 16:17. На самом деле команда touch не изменила файл, она лишь прикоснулась к файлу и тем самым изменила его время доступа. Кстати, с английского touch переводится как прикасаться.
Давайте теперь разберём вывод команды ls -lh:
Тип файла | Права | | Кол-во ссылок | | | Владелец | | | | Группа | | | | | Размер | | | | | | Дата и время последнего касания или изменения | | | | | | | Имя файла | | | | | | | | - rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Пока что вам нужно запомнить что таким образом можно посмотреть размер файла и дату его изменения, с остальным разберемся позже. И ещё запомните 2 типа файлов:
- знак тире «-« — это обычный файл;
- символ «d» — это каталог;
- есть и другие типы файлов, но пока их рассматривать не будем.
Редактирование файлов
Отредактировать текстовый файл можно с помощью текстового редактора «nano»:
После выполнения этой команды у Вас откроется текстовый редактор:
Для того чтобы сохранить этот файл нужно нажать комбинацию клавиш «Ctrl+o«.
А чтобы закончить редактирование и закрыть этот файл нужно нажать «Ctrl+x«. При этом у вас спросят, хотите ли вы сохранить этот файл и если да, то нужно ввести «y» и нажать клавишу «Enter«. Таким образом необязательно использовать комбинацию «Ctrl+o» перед закрытием файла.
Внизу я выделил подсказки текстового редактора Nano, в подсказках символ «^» — это клавиша Ctrl.
Если с помощью nano открыть несуществующий файл, то файл будет создан как только вы его сохраните. Поэтому выполнять touch перед nano не обязательно.
Чтение файлов
Команды cat и tac
Давайте теперь научимся читать текстовые файлы. Чаще всего для этого используется команда cat:
alex@deb:~$ cat file.txt И тут мы можем вводить текст, какой только пожелаем.
У команды cat есть опция -n, которая выводит номера строк:
alex@deb:~$ cat -n file.txt 1 И тут мы можем 2 вводить текст, 3 какой только пожелаем.
Для команды cat есть команда перевёртыш, это команда tac. Она выводит текст задом наперед:
alex@deb:~$ tac file.txt какой только пожелаем. вводить текст, И тут мы можем
Команда grep
Если Вам нужно что-то найти в тексте, то для этого используйте команду grep. Например, мы ищем строку в которой встречается слово «какой»:
alex@deb:~$ grep какой file.txt какой только пожелаем.
Команда less
Если текст длинный то вместо cat лучше использовать команду less:
alex@deb:~$ less /etc/ssh/sshd_config
Используя less мы можем кнопками вверх / вниз перемещаться по тексту:
Если нажать кнопу «/», то откроется строка, куда можно ввести фразу для поиска в этом файле. Давайте, например, найдём строку со словом «Port»:
При поиске удобно использовать кнопку «n» для дальнейшего поиска введенной фразы, и комбинацию «Shift+n» для поиска в обратном направлении (к началу файла). Для выхода из программы используйте клавишу»q«.
Команды tail и head
Если Вам нужно посмотреть последние строки файла используйте команду «tail«:
alex@deb:~$ tail /etc/ssh/sshd_config # override default of no subsystems Subsystem sftp /usr/lib/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server
А если нужно посмотреть первые строки файла то команду «head«:
alex@deb:~$ head /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the
Эти две команды выводят 10 последних (tail) или 10 первых (head) строк файла. И у этих команд есть параметр -n, с помощью которого можно указать сколько строк выводить, например выведем по 3 строки:
alex@deb:~$ tail -n 3 /etc/ssh/sshd_config # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server alex@deb:~$ head -n 3 /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See
А ещё команда tail позволяет выводить изменяющиеся файлы, например логи. Для этого используется опция -f. Чтобы закончить наблюдение за файлом, нужно нажать комбинацию Ctrl+c.
cat в Linux – всё что нужно знать
90% книг написанных про Linux начинают знакомство с командной строкой с cat . По статистике (на которую все ссылаются, но которую ни кто не видел), cat является самой часто употребляемой командой в Linux. Так что же делает это чудо-команда?
cat образовано от английского concatenate (объединять), т.е. логично предположить команда предназначена для объединения чего то с чем, например нескольких файлов. Но чаще всего cat используют для создания файлов и для вывода содержимого файла непосредственно в консоль. Давайте разберем все возможности этой команды подробнее.
Создание нового файла с помощью cat
С помощью cat и символа > мы перенаправили стандартный вывод в файл new_file. Для завершения заполнения файла данными перейдите на новую строку и нажмите Ctrl+D .
Просмотр файлов с помощью cat в Linux
Для просмотра файла просто наберите:
#cat
Можно вывести с номерами строк:
Можно просмотреть содержимое нескольких файлов.
Обратите внимание, что содержимое выводится единым массивом данных, что хорошо видно по тому, что содержание второго файла вывелось строкой под номером 4 – нумерация не началась заново при выводе этого файла. Т.е. cat , как это и заложено в ее названии, склеила файлы.
Просмотр больших файлов с помощью cat
Типичная рекомендация – если файл не влезает в экран консоли использовать cat в сочетании с less или more :