Предположим, вы работаете на терминале и вам действительно нужно просмотреть текстовый файл, но вам лень просто зайти в этот каталог, использовать мышь и открыть его. Ну, Linux удовлетворяет вашу потребность просматривать содержимое текстового файла прямо в терминале.
cat
означает «конкатенация». Конкатенация чего-либо определяется как связывание в ряд. В данном случае мы говорим о конкатенации или связывании содержимого текстовых файлов. Эта небольшая утилита командной строки действительно оказывается полезной для ваших задач больше, чем вы думаете.
В этом руководстве мы расскажем вам о применении этой команды cat
и некоторых деталях, которые вам необходимо знать, чтобы эффективно ее использовать.
Узнать больше о cat
cat
помогает вам в конкатенации текстовых файлов, отсюда и название ‘cat’. Команда cat
считывает данные из файла и отображает его содержимое на терминале пользователя в качестве вывода.
Создание новых файлов с помощью этой команды также возможно. Следовательно, команда cat
имеет несколько измерений, о которых пользователь должен знать.
Давайте рассмотрим примитивное использование команды cat
в следующем примере.
Общий синтаксис:
cat [options..] [file_name]
Пример:
cat demo.txt
Вывод:
This is a demo file.
This article willl help you with learning the cat command.
cat command is pretty easy to use.
You can learn about its feqatures in this article.
End of file
Thank you.
Доступны варианты с cat
cat
может быть использовано для различных целей так, как мы хотим, используя опции, предоставляемые Linux. Вы узнаете о некоторых важных опциях в этой статье.
Вариант | Описание |
-n | печатает номера строк |
-s | пропустить пустые строки в выводе |
-T | различать табуляции и пробелы |
-e | показывать символы окончания строки |
оператор > | позволяет копировать содержимое из одного файла в другой |
>> (Оператор перенаправления) | добавляет вывод в указанный файл |
Далее по ходу статьи мы рассмотрим примеры этих вариантов один за другим.
Распечатайте номера строк с помощью cat
Использование опции -n
с командой cat
позволяет распечатать номера строк текстового файла.
Пример:
cat -n /etc/passwd
Вывод:
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
3 bin:x:2:2:bin:/bin:/usr/sbin/nologin
4 sys:x:3:3:sys:/dev:/usr/sbin/nologin
5 sync:x:4:65534:sync:/bin:/bin/sync
6 games:x:5:60:games:/usr/games:/usr/sbin/nologin
7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
8 lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
9 mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
10 news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
11 uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
12 proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
13 www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
14 backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
15 list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
Здесь каждая строка обозначена номером. Это также помогает получить представление об общем количестве строк в файле. Пустым строкам в текстовом файле также присваиваются номера при использовании опции -n
.
Использование оператора >
для копирования содержимого файла
Оператор >
может быть использован с командой cat
для копирования содержимого файла в какой-либо другой файл. Мы поймем это лучше на примере.
Общий синтаксис:
cat file1 > file2
Здесь содержимое файла file1 будет скопировано в файл file2. Не обязательно, чтобы файл file2 уже существовал. Если он существует, то хорошо, но если нет, то эта команда создаст его для вас.
Пример:
cat demo.txt > test.txt
Вывод:
gaurav@ubuntu:~$ cat test.txt
This is a demo file.
This article willl help you with learning the cat command.
cat command is pretty easy to use.
You can learn about its feqatures in this article.
End of file
Thank you.
gaurav@ubuntu:~$
Здесь содержимое файла ‘demo.txt’ направляется или копируется в файл ‘test.txt’. Теперь, в этом случае файл test.txt не существовал до запуска этой команды. Он был фактически создан этой командой.
Использование оператора >>
для добавления содержимого файла
Мы можем использовать >>
(оператор перенаправления) с командой cat
для добавления содержимого файла.
При добавлении файлов выходные данные одной команды отправляются в качестве входных данных в файл или какую-либо другую команду.
Например, если я запущу команду cat /etc/group
, то информация обо всех группах, присутствующих в вашей системе Linux, будет отображена на терминале. Теперь предположим, что вы хотели бы получить эти данные в виде файла, тогда, в этом случае, вы можете использовать оператор перенаправления >>
вместе с командой cat
.
Общий синтаксис:
cat /dir1/file.txt >> [new_file]
Пример:
cat /etc/group >> groups.txt
Эта команда отправит вывод команды cat /etc/group
в качестве входных данных в файл group.txt.
Вывод:
gaurav@ubuntu:~$ cat group.txt
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,gaurav
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
Пропуск пустых строк в выводе
В текстовых файлах могут быть некоторые пустые строки, которые увеличат длину вывода. Повторяющиеся пустые строки можно пропустить с помощью опции -s
с командой cat
.
Давайте рассмотрим один пример текстового файла.
This is a demo file.
This article willl help you with learning the cat command.
cat command is pretty easy to use.
You can learn about its feqatures in this article.
Above two lines are empty.
End of file
Thank you.
Вы можете видеть в выделенной части, что есть 3 пустые строки. Теперь давайте используем опцию -s
, чтобы подавить лишние пустые строки.
Пример:
cat -s demo.txt
Вывод:
This is a demo file.
This article willl help you with learning the cat command.
cat command is pretty easy to use.
You can learn about its feqatures in this article.
Above two lines are empty.
End of file
Thank you.
Вы можете видеть, что лишние пустые строки теперь опущены из вывода. Эта опция полезна, когда вы имеете дело с большими выводами на вашем терминале.
Указание конца строк в файле
Когда опция -e
используется с командой cat
, отображается невидимый символ, представляющий конец каждой отдельной строки. Этот конец любой строки задается символом ‘ $
‘.
Общий синтаксис:
cat -e [filename]
Пример:
cat -e /etc/issue
Вывод:
Ubuntu 18.04.5 LTS \n \l$
$
Здесь вывод показывает, что окончание каждой строки отмечено символом «$
».
Создайте новый файл с помощью cat
Команда cat
также может быть использована для создания нового файла, как и любой другой текстовый редактор, например nano
или vim
. Вы можете редактировать этот недавно созданный файл с помощью терминала.
Общий синтаксис:
cat > [newfile]
Пример:
cat > report.txt
Вывод:
gaurav@ubuntu:~$ cat > report.txt
This is a report file required for maintaining the logs.
Kindly do not modify this file.
End of file
...
..
^C
gaurav@ubuntu:~$
Таким образом, команда cat
создала новое имя файла report.txt.
Отобразить содержимое всех текстовых файлов в папке
Это одно из интересных действий, которые вы можете выполнить с помощью команды cat
. Если вы хотите отобразить содержимое более чем одного текстового файла одновременно, то вы можете использовать команду cat
следующим образом.
Общий синтаксис:
cat *.txt
Эта команда отобразит содержимое всех текстовых файлов в каталоге, в котором вы сейчас находитесь.
Давайте сначала рассмотрим два демонстрационных файла sample1.txt и sample2.txt.
gaurav@ubuntu:~/cat$ cat sample1.txt
This is the output of the first file 'sample 1'.
Thank You.
gaurav@ubuntu:~/cat$
gaurav@ubuntu:~/cat$ cat sample1.txt
This is the output of the first file 'sample 1'.
Thank You.
gaurav@ubuntu:~/cat$
Пример:
cat *.txt
Эта команда отобразит содержимое обоих текстовых файлов, имеющихся в моем текущем рабочем каталоге, в виде единого вывода.
Вывод:
gaurav@ubuntu:~/cat$ cat *.txt
This is the output of the first file 'sample 1'.
Thank You.
This is the output of the second file 'sample2'.
Thank You.
gaurav@ubuntu:~/cat$
Заключение
В этом руководстве мы узнали обо всех основных функциях команды cat
в Linux. Теперь вы можете использовать ее для объединения различных текстовых файлов, а также для изменения содержимого внутри текстового файла прямо из терминала. Вы также можете использовать ее в качестве текстового редактора, поскольку она также помогает вам создавать новые файлы. Универсальная природа этой команды cat
делает ее довольно популярной среди пользователей Linux.