HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Если вы работаете с операционной системой<a>Linux</a>, вы должны уметь быстро и правильно просматривать содержимое Linux-файлов, используя терминал. В этой статье мы изучим команды, посредством которых можно открывать текстовые файлы Linux. И поговорим о том, как следует ими пользоваться.</p>
1 <p>Если вы работаете с операционной системой<a>Linux</a>, вы должны уметь быстро и правильно просматривать содержимое Linux-файлов, используя терминал. В этой статье мы изучим команды, посредством которых можно открывать текстовые файлы Linux. И поговорим о том, как следует ими пользоваться.</p>
2 <h2>Просмотр текстового файла в Linux полностью</h2>
2 <h2>Просмотр текстового файла в Linux полностью</h2>
3 <p>Чтобы вывести содержимое всего текстового файла, в Linux используют команду<strong>cat</strong>. Она отлично походит для вывода небольших текстовых файлов, к примеру, конфигурационных файлов. Синтаксис прост:</p>
3 <p>Чтобы вывести содержимое всего текстового файла, в Linux используют команду<strong>cat</strong>. Она отлично походит для вывода небольших текстовых файлов, к примеру, конфигурационных файлов. Синтаксис прост:</p>
4 <p>Представьте, что надо посмотреть содержимое файла с названием myfile.txt:</p>
4 <p>Представьте, что надо посмотреть содержимое файла с названием myfile.txt:</p>
5 <p>Также можно вместо имени прописать адрес (путь) к файлу:</p>
5 <p>Также можно вместо имени прописать адрес (путь) к файлу:</p>
6 <p>Если нужно посмотреть несколько файлов сразу, это тоже не вызовет проблем:</p>
6 <p>Если нужно посмотреть несколько файлов сразу, это тоже не вызовет проблем:</p>
7 <p>Кроме того, при просмотре текстового файла в Linux мы можем отобразить номера строк. Для этого потребуется всего лишь использовать опцию -n:</p>
7 <p>Кроме того, при просмотре текстового файла в Linux мы можем отобразить номера строк. Для этого потребуется всего лишь использовать опцию -n:</p>
8 <p>Команда<strong>nl</strong>функционирует аналогично команде cat с опцией -n, выводя номера строк в столбце слева.</p>
8 <p>Команда<strong>nl</strong>функционирует аналогично команде cat с опцией -n, выводя номера строк в столбце слева.</p>
9 <p>При необходимости вы можете сделать так, чтобы при выводе текстового файла в конце каждой строки отображался символ $:</p>
9 <p>При необходимости вы можете сделать так, чтобы при выводе текстового файла в конце каждой строки отображался символ $:</p>
10 <p><em>Вывод будет следующим</em>:</p>
10 <p><em>Вывод будет следующим</em>:</p>
11 <p>Кроме cat, для вывода содержимого текстового файла в Linux используется команда<strong>tac</strong>. Её разница заключается в том, что она выводит содержимое файла в обратном порядке.</p>
11 <p>Кроме cat, для вывода содержимого текстового файла в Linux используется команда<strong>tac</strong>. Её разница заключается в том, что она выводит содержимое файла в обратном порядке.</p>
12 <h2>Как просмотреть файл в Linux с прокруткой</h2>
12 <h2>Как просмотреть файл в Linux с прокруткой</h2>
13 <p>Бывает, что текстовый файл большой, поэтому его содержимое не помещается в один экран. Использовать в таком случае cat неудобно, зато есть<strong>less</strong>. Синтаксис у неё такой же: Команда less обеспечит<strong>постраничный просмотр</strong>, что очень удобно. При этом: 1) less позволяет просматривать текст по определённому числу строк, для чего достаточно указать - (тире или минус) и количество строк: 2) можно начать просмотр с конкретной строки в файле, указав + (плюс) и номер строки, с которой хотим начать чтение: Открыв текст, мы можем управлять его просмотром:</p>
13 <p>Бывает, что текстовый файл большой, поэтому его содержимое не помещается в один экран. Использовать в таком случае cat неудобно, зато есть<strong>less</strong>. Синтаксис у неё такой же: Команда less обеспечит<strong>постраничный просмотр</strong>, что очень удобно. При этом: 1) less позволяет просматривать текст по определённому числу строк, для чего достаточно указать - (тире или минус) и количество строк: 2) можно начать просмотр с конкретной строки в файле, указав + (плюс) и номер строки, с которой хотим начать чтение: Открыв текст, мы можем управлять его просмотром:</p>
14 <h2>Просматриваем начало или конец файла в Linux</h2>
14 <h2>Просматриваем начало или конец файла в Linux</h2>
15 <p>Порой, нам не нужно выводить содержимое всего файла и мы хотим, к примеру, посмотреть лишь несколько строчек лога. Такое часто бывает, если мы подозреваем, что в начале или в конце конфигурационного файла есть ошибки. Для решения данного вопроса у нас существуют команды<strong>head</strong>и<strong>tail</strong>(как вы уже догадались, это голова и хвост).</p>
15 <p>Порой, нам не нужно выводить содержимое всего файла и мы хотим, к примеру, посмотреть лишь несколько строчек лога. Такое часто бывает, если мы подозреваем, что в начале или в конце конфигурационного файла есть ошибки. Для решения данного вопроса у нас существуют команды<strong>head</strong>и<strong>tail</strong>(как вы уже догадались, это голова и хвост).</p>
16 <p>Команда head по умолчанию показывает лишь 10 первых строчек в текстовом файле в Linux:<em>Вот, что мы увидим</em>: Кстати, тут мы тоже можем открыть сразу несколько текстовых файлов в Linux одновременно. Вот просмотр сразу двух файлов:</p>
16 <p>Команда head по умолчанию показывает лишь 10 первых строчек в текстовом файле в Linux:<em>Вот, что мы увидим</em>: Кстати, тут мы тоже можем открыть сразу несколько текстовых файлов в Linux одновременно. Вот просмотр сразу двух файлов:</p>
17 <p>Если же вас не интересуют все 10 строчек, то, как и в случае с cat, можно использовать опцию -n, цифрой указывая число строк к выводу:</p>
17 <p>Если же вас не интересуют все 10 строчек, то, как и в случае с cat, можно использовать опцию -n, цифрой указывая число строк к выводу:</p>
18 head -n5 /var/log/emerge.log<p><em>В итоге мы вывели только пять строк</em>:</p>
18 head -n5 /var/log/emerge.log<p><em>В итоге мы вывели только пять строк</em>:</p>
19 1394924012: Started emerge on: Mar 15, 2014 22:53:31 1394924012: *** emerge --sync 1394924012: === sync 1394924012: &gt;&gt;&gt; Synchronization of repository 'gentoo' located in '/usr/portage'... 1394924027: &gt;&gt;&gt; Starting rsync with rsync://212.113.35.39/gentoo-portage<p>По правде говоря, букву n можно и не использовать, достаточно просто передать цифру:</p>
19 1394924012: Started emerge on: Mar 15, 2014 22:53:31 1394924012: *** emerge --sync 1394924012: === sync 1394924012: &gt;&gt;&gt; Synchronization of repository 'gentoo' located in '/usr/portage'... 1394924027: &gt;&gt;&gt; Starting rsync with rsync://212.113.35.39/gentoo-portage<p>По правде говоря, букву n можно и не использовать, достаточно просто передать цифру:</p>
20 head -5 /var/log/emerge.log<p>Кстати, выводить содержимое текстового файла в Linux можно не построчно, а посимвольно. Давайте зададим число символов, которое нужно вывести (используем опцию -с):</p>
20 head -5 /var/log/emerge.log<p>Кстати, выводить содержимое текстового файла в Linux можно не построчно, а посимвольно. Давайте зададим число символов, которое нужно вывести (используем опцию -с):</p>
21 head -c45 /var/log/emerge.log<p><em>Итак, выводим 45 символов</em>:</p>
21 head -c45 /var/log/emerge.log<p><em>Итак, выводим 45 символов</em>:</p>
22 1394924012: Started emerge on: Mar 15, 2014 2<p>Не верите, что их действительно 45? Проверить можно командой<strong>wc</strong>:</p>
22 1394924012: Started emerge on: Mar 15, 2014 2<p>Не верите, что их действительно 45? Проверить можно командой<strong>wc</strong>:</p>
23 head -c45 /var/log/emerge.log | wc -c 45<p>С "головой" разобрались, давайте поговорим про "хвост". Очевидно, что команда<strong>tail</strong>работает наоборот, выводя десять последних строк текстового Linux-файла:</p>
23 head -c45 /var/log/emerge.log | wc -c 45<p>С "головой" разобрались, давайте поговорим про "хвост". Очевидно, что команда<strong>tail</strong>работает наоборот, выводя десять последних строк текстового Linux-файла:</p>
24 <p>Количество строк при выводе тоже можно менять. Однако в tail есть такая полезная опция, как -f. С её помощью содержимое текстового файла будет постоянно обновляться, в результате чего вы станете видеть изменения сразу (постоянно открывать и закрывать файл не придётся). Это весьма удобно, если вы хотите просматривать логи Linux в реальном времени:</p>
24 <p>Количество строк при выводе тоже можно менять. Однако в tail есть такая полезная опция, как -f. С её помощью содержимое текстового файла будет постоянно обновляться, в результате чего вы станете видеть изменения сразу (постоянно открывать и закрывать файл не придётся). Это весьма удобно, если вы хотите просматривать логи Linux в реальном времени:</p>
25 tail -f /var/log/emerge.log<h2>Просматриваем содержимое файла по шаблону в Linux</h2>
25 tail -f /var/log/emerge.log<h2>Просматриваем содержимое файла по шаблону в Linux</h2>
26 <p>На практике зачастую нам необходим не весь текстовый файл, а лишь несколько строк из него. Используя<strong>grep</strong>, мы можем вывести Linux-файл, предварительно отсеяв лишнее:</p>
26 <p>На практике зачастую нам необходим не весь текстовый файл, а лишь несколько строк из него. Используя<strong>grep</strong>, мы можем вывести Linux-файл, предварительно отсеяв лишнее:</p>
27 <p>Команду можно применять и совместно с cat:</p>
27 <p>Команду можно применять и совместно с cat:</p>
28 cat файл | grep опции шаблон<p>Давайте выведем из лога лишь предупреждения:</p>
28 cat файл | grep опции шаблон<p>Давайте выведем из лога лишь предупреждения:</p>
29 cat /var/log/Xorg.0.log | grep WW<p><em>Вывод</em>:</p>
29 cat /var/log/Xorg.0.log | grep WW<p><em>Вывод</em>:</p>
30 (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 85.839] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled. [ 85.839] (WW) Disabling Keyboard0 [ 85.839] (WW) Disabling Mouse0 [ 87.395] (WW) evdev: A4TECH USB Device: ignoring absolute axes.<p>Есть и ряд полезных опций: -A, -B, -C. Допустим, нам надо выполнить вывод двух строк после вхождения enp2s0:</p>
30 (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 85.839] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled. [ 85.839] (WW) Disabling Keyboard0 [ 85.839] (WW) Disabling Mouse0 [ 87.395] (WW) evdev: A4TECH USB Device: ignoring absolute axes.<p>Есть и ряд полезных опций: -A, -B, -C. Допустим, нам надо выполнить вывод двух строк после вхождения enp2s0:</p>
31 $ ifconfig | grep -A2 enp2s0<p><em>Вывод из файла</em>:</p>
31 $ ifconfig | grep -A2 enp2s0<p><em>Вывод из файла</em>:</p>
32 enp2s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500 inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::beae:c5ff:febe:8bb7 prefixlen 64 scopeid 0x20&lt;link&gt;<p>А теперь, то же самое, но до вхождения<strong>loop</strong>:</p>
32 enp2s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt; mtu 1500 inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::beae:c5ff:febe:8bb7 prefixlen 64 scopeid 0x20&lt;link&gt;<p>А теперь, то же самое, но до вхождения<strong>loop</strong>:</p>
33 <p><em>Вывод</em>:</p>
33 <p><em>Вывод</em>:</p>
34 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 0 (Local Loopback)<p>Можно по две строки как до, так и после<strong>loop</strong>:</p>
34 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 0 (Local Loopback)<p>Можно по две строки как до, так и после<strong>loop</strong>:</p>
35 <p><em>Вывод из файла</em>:</p>
35 <p><em>Вывод из файла</em>:</p>
36 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 0 (Local Loopback) RX packets 9810 bytes 579497 (565.9 KiB) RX errors 0 dropped 0 overruns 0 frame<h2>Просматриваем Linux-файл в сжатом виде</h2>
36 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10&lt;host&gt; loop txqueuelen 0 (Local Loopback) RX packets 9810 bytes 579497 (565.9 KiB) RX errors 0 dropped 0 overruns 0 frame<h2>Просматриваем Linux-файл в сжатом виде</h2>
37 <p>Порой, в системе встречаются текстовые файлы в сжатом виде и формате gz. Это могут быть конфигурационные файлы ядра либо логи программ. Открыть такие файлы можно тоже через терминал, не прибегая к распаковке. Для этого существует множество аналогов вышеназванных утилит с той лишь разницей, что они имеют приставку z: zgerp, zegrep, zcat, zless.</p>
37 <p>Порой, в системе встречаются текстовые файлы в сжатом виде и формате gz. Это могут быть конфигурационные файлы ядра либо логи программ. Открыть такие файлы можно тоже через терминал, не прибегая к распаковке. Для этого существует множество аналогов вышеназванных утилит с той лишь разницей, что они имеют приставку z: zgerp, zegrep, zcat, zless.</p>
38 <p>Давайте откроем сжатый файл в Linux для просмотра:</p>
38 <p>Давайте откроем сжатый файл в Linux для просмотра:</p>
39 <p>Или выполним просмотр сжатого файла с прокруткой:</p>
39 <p>Или выполним просмотр сжатого файла с прокруткой:</p>
40 <p>Вот, пожалуй, и всё. Теперь вы точно в курсе, как правильно открывать и просматривать текстовые файлы в терминале Linux.</p>
40 <p>Вот, пожалуй, и всё. Теперь вы точно в курсе, как правильно открывать и просматривать текстовые файлы в терминале Linux.</p>
41 <p><em><strong>Источники</strong>: - https://losst.ru/kak-otkryt-tekstovyj-fajl-linux; - https://linuxrussia.com/terminal-view-text-files.html; - https://pingvinus.ru/note/show-text-file.</em></p>
41 <p><em><strong>Источники</strong>: - https://losst.ru/kak-otkryt-tekstovyj-fajl-linux; - https://linuxrussia.com/terminal-view-text-files.html; - https://pingvinus.ru/note/show-text-file.</em></p>
42  
42