Как посмотреть содержимое текстового файла
В Linux все настройки, все логи, и почти вся информация хранится в обычных текстовых файлах. Важно уметь правильно и эффективно посмотреть содержимое файла linux с помощью терминала. Это еще одна из статей, ориентированных на новичков.
Вот вы скажете, а что их там открывать, открыл и посмотрел или изменил, и все. Да, но не совсем, терминал Linux настолько гибкий инструмент, что даже обычный просмотр файлов можно очень сильно оптимизировать. Просмотр содержимого файлов Linux - это тоже искусство. В этой инструкции мы рассмотрим все команды, с помощью которых можно открыть текстовый файл linux, поговорим о том как ими пользоваться, а также приведем несколько примеров.
Просмотр файла в Linux полностью
Самая простая и в то же время наиболее часто используемая утилита для просмотра содержимого файла в Linux это cat. Выводит все содержимое файла в стандартный вывод. В параметре нужно передать только адрес файла, или нескольких файлов. Идеально подходит для просмотра небольших файлов. Общий синтаксис команды cat такой:
$ cat опции адрес_файла .
Например просмотр содержимого файла linux /etc/passwd:
Также можно посмотреть сразу несколько файлов:
cat /etc/passwod /etc/group
Если файл доступен только для пользователя root, то нужно перед командой написать sudo:
sudo cat /etc/shadow
Опция -n включает нумерацию строк:
cat -n /var/log/Xorg.0.log
Для удобства, можно включить отображение в конце каждой строки символа $
cat -e /var/log/Xorg.0.log
А также отображение табуляций, все табуляции будут заменены на символ ^I:
cat -T /var/log/Xorg.0.log
Больше о ней говорить не будем, потому что большинство её опций направлены на форматирование вывода, более подробную информацию вы можете посмотреть в статье: Команда cat в Linux.
Просмотр файла в Linux с прокруткой
Если файл очень длинный и его содержимое не помещается на одном экране, cat использовать не очень удобно. для таких случаев есть less. Синтаксис тот же:
$ less опции файл
Также ее можно комбинировать с cat:
$ cat адрес_файла | less
Например, посмотрим лог Х сервера:
Теперь мы можем листать содержимое файла в Linux с помощью стрелок вверх-вниз. Для того чтобы выйти нажмите q. Также эта утилита поддерживает поиск. Для поиска по файлу нажмите слеш "/". О более правильном способе поиска мы поговорим дальше.
Просмотр только начала или конца файла
Очень часто нам не нужен файл целиком. Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).
По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:
Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:
head /etc/passwd /etc/group
Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.
Если вам не нужны все 10 строчек, опцией -n и цифрой можно указать количество строк которые нужно вывести. Например, 5:
head -n5 /var/log/apt/history.log
Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:
head -5 /var/log/apt/history.log
Также можно задать количество байт, которые нужно вывести с помощью опции -с и числа. Например: 45:
head -c45 /var/log/apt/history.log
Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:
head -c45 /var/log/emerge.log | wc -c
Команда tail наоборот, выводит 10 последних строк из файла:
Утилита tail тоже поддерживает изменение количества строк, с помощью опции -n. Но она обладает еще одной интересной и очень полезной опцией -f. Она позволяет постоянно обновлять содержимое файла и, таким образом, видеть все изменения сразу, а не постоянно закрывать и открывать файл. Очень удобно для просмотра логов linux в реальном времени:
tail -f /var/log/Xorg.0.log
Просмотр содержимого файла с поиском
В большинстве случаев нам нужен не полностью весь файл, а только несколько строк, с интересующей нас информацией. Можно выполнить просмотр файла linux предварительно отсеяв все лишнее с помощью grep. Сначала синтаксис:
$ grep опции шаблон файл
Или в комбинации с cat:
$ cat файл | grep опции шаблон
Например выведем из лога только предупреждения:
cat /var/log/Xorg.0.log | grep WW
Но это еще не все, многие не знают, но у этой утилиты еще несколько полезных опций.
С помощью опции -A можно вывести несколько строк после вхождения:
cat /var/log/Xorg.0.log | grep -A2 WW
С помощью -B - до вхождения:
cat /var/log/Xorg.0.log | grep -B2 WW
А опция -С позволяет вывести нужное количество строк до и после вхождения шаблона:
cat /var/log/Xorg.0.log | grep -C2 WW
Также с помощью grep можно подсчитать количество найденных строк:
cat /var/log/Xorg.0.log | grep -c WW
Шаблоном может быть строка и простые спецсимволы замены. Если вы хотите использовать регулярное выражение укажите опцию -e или используйте egrep. Многие спрашивают, а какая разница между этими утилитами - уже никакой, в большинстве дистрибутивов egrep это ссылка на grep -e. А теперь пример:
cat /var/log/Xorg.0.log | egrep 'WW|EE'
В примерах этого раздела использовались символы перенаправления ввода, подробнее о них можно почитать в этой статье.
Просмотр файлов Linux в сжатом виде
Иногда можно встретить в системе текстовые файлы в сжатом виде, формате gz. Это, например, конфигурационный файл ядра, или логи некоторых программ. Для того чтобы открыть файл в linux через терминал не распаковывая его есть целый ряд аналогов вышеописанных утилит с приставкой z. Это zcat, zless, zgerp, zegrep.
Например, открываем сжатый файл для просмотра:
Или более практичный пример, распаковываем и копируем конфигурационный ядра в текущую директорию:
zcat /porc/cofig.gz .config
Так же можно использовать less, для просмотра сжатых файлов с прокруткой:
А для фильтрации сжатых файлов по шаблону есть zgrep и zegrep. Например, ищем в сжатом логе ошибки:
zgrep 'EE' /var/log/Xorg.log.gz
Редактирование файлов в Linux
$ nano /путь/к/файлу
sudo nano /etc/default/grub
Для большинства файлов в директории /etc/ запись доступна только пользователю root. Поэтому команду надо выполнять от имени суперпользователя с помощью sudo. После нажатия клавиши Enter утилита запросит пароль. Введите его, несмотря на то, что символы пароля не отображаются, это нормально. После внесения изменений сохраните их с помощью сочетания клавиш Ctrl + O.
Аналогично, можно открыть этот же файл в текстовом редакторе:
sudo gedit /etc/default/grub
Открывать подобные файлы из файлового менеджера не надо, вы сможете их открыть для просмотра, но при попытке записать в них что-то получите ошибку, лучше пользоваться терминалом.
Выводы
Вот и все. Разобрал все достаточно подробно. Теперь вы точно знаете как правильно открыть файл в терминале Linux. Если остались еще вопросы, оставляйте комментарии.
Файл может быть скомпилирован или создан только для просмотра определенной программой. Приведенные ниже примеры используются для открытия простого текстового файла. Если при открытии файл выглядит как мусор, используемая программа не может его просмотреть. Убедитесь, что программа, необходимая для открытия файла, установлена и связана с типом файла. Если вы не знаете, какую программу использовать, определите расширение файла и просмотрите нашу страницу расширений для получения списка связанных программ.
Пользователи Microsoft Windows
Дважды щелкните файл, который вы хотите открыть. Программа, связанная с файлом, открывает этот файл.
Вы можете одновременно открывать несколько файлов, таких как документы Word, электронные таблицы Excel, обычные текстовые файлы, файлы PDF и т. Д. Соответствующие программы открывают каждый файл и отображают их на экране компьютера.
Если файл не связан с программой, вы получите приглашение «Открыть с помощью». Если вы не знаете, какую программу использовать, попробуйте использовать WordPad или Notepad.
- В Windows при нажатии на файл появляется запрос «Открыть с помощью».
Если файл связан с программой, но вы хотите открыть его с другой программой, удерживайте нажатой клавишу Shift и щелкните файл правой кнопкой мыши. Выбрать Открыть с в раскрывающемся меню выберите программу, которую хотите использовать для открытия файла.
Альтернативный метод
- Откройте программу, которую вы хотите использовать для просмотра файла. Например, если вы хотите просмотреть файл в Microsoft Word, сначала откройте его.
- После открытия программы в меню «Файл» выберите открыто или используйте сочетание клавиш Ctrl + O,
- В открывшемся окне перейдите к местоположению файла, выберите файл и нажмите Ok или открыто,
Пользователи Windows также могут использовать методы, указанные ниже, чтобы открыть файл с помощью командной строки Windows.
Пользователи командной строки MS-DOS и Windows
Список файлов
Если вам нужно просмотреть список доступных файлов в текущем каталоге, вы можете использовать команду dir.
Редактировать команду
Найдите файл, который вы хотите просмотреть. В приведенном ниже примере мы открываем файл autoexec.bat в текущем каталоге.
Если файл не существует, был введен неправильно или является пустым, отображается пустое окно, подобное примеру ниже.
После нажатия кнопки «Выход», если были внесены какие-либо изменения, вас спросят, хотите ли вы сохранить файл. щелчок да чтобы завершить ваши изменения.
Команда запуска
Новые 64-разрядные версии Windows больше не поддерживают команду редактирования. Вы также можете использовать команду запуска, чтобы открыть файл в текстовом редакторе, таком как Блокнот, используя команду, подобную примеру ниже.
Команда запуска также может быть использована для открытия любого файла на вашем компьютере. Например, если на компьютере установлено приложение Microsoft Word и вы хотите открыть документ Word из командной строки, введите следующее:
- Смотрите нашу стартовую командную страницу для получения дополнительной информации.
Введите команду
Если вы хотите только просмотреть содержимое файла, вы также можете использовать команду типа:
В предыдущем примере команда type отображает содержимое по одной странице за раз. Нажатие клавиши «Ввод» будет продвигать вывод по одной строке за раз, а нажатие клавиши «пробел» переместит одну страницу за раз.
- В MS-DOS вы также можете использовать команду type для отображения содержимого текстового файла.
Копировать кон
Если вы не можете использовать любой из перечисленных выше методов, вы также можете использовать copy con для создания файла.
После того, как вы ввели вышеупомянутую команду, будет создан файл hope.txt.
После того, как вы набрали все строки, вы хотите быть в файле, нажмите и удерживайте Ctrl + Z. После того, как ^ Z отобразится на экране, нажмите Enter, чтобы сохранить файл.
Пользователи MacOS
На компьютере Mac можно дважды щелкнуть файл, чтобы открыть файл в программе, связанной с типом файла, который вы открываете. Как только файл открыт, вы можете просмотреть его содержимое и внести в него изменения.
Вы также можете открыть файл, выбрав его на рабочем столе или в приложении Finder. Затем нажмите клавишу Command + клавишу со стрелкой вниз.
Microsoft Windows Explorer
У пользователей Windows есть дополнительная утилита в виде Explorer. Любой файл, который вам нужно найти, можно найти через него. Нажмите клавишу Windows и «E» одновременно, чтобы получить доступ к Windows Explorer.
Пользователи Unix и Linux
Список файлов
Если вам нужно просмотреть список доступных файлов в текущем каталоге, вы можете использовать команду ls.
Открытие, создание, редактирование и просмотр файлов в Linux
Из-за всех доступных опций для каждого из различных вариантов Linux мы дали этому разделу отдельную страницу:
Если вы работаете с операционной системой Linux, вы должны уметь быстро и правильно просматривать содержимое Linux-файлов, используя терминал. В этой статье мы изучим команды, посредством которых можно открывать текстовые файлы Linux. И поговорим о том, как следует ими пользоваться.
Просмотр текстового файла в Linux полностью
Чтобы вывести содержимое всего текстового файла, в Linux используют команду cat. Она отлично походит для вывода небольших текстовых файлов, к примеру, конфигурационных файлов. Синтаксис прост:
Представьте, что надо посмотреть содержимое файла с названием myfile.txt:
Также можно вместо имени прописать адрес (путь) к файлу:
Если нужно посмотреть несколько файлов сразу, это тоже не вызовет проблем:
Кроме того, при просмотре текстового файла в Linux мы можем отобразить номера строк. Для этого потребуется всего лишь использовать опцию -n :
Команда nl функционирует аналогично команде cat с опцией -n , выводя номера строк в столбце слева.
При необходимости вы можете сделать так, чтобы при выводе текстового файла в конце каждой строки отображался символ $ :
Вывод будет следующим:
Кроме cat, для вывода содержимого текстового файла в Linux используется команда tac. Её разница заключается в том, что она выводит содержимое файла в обратном порядке.
Как просмотреть файл в Linux с прокруткой
Бывает, что текстовый файл большой, поэтому его содержимое не помещается в один экран. Использовать в таком случае cat неудобно, зато есть less. Синтаксис у неё такой же:
Команда less обеспечит постраничный просмотр, что очень удобно. При этом: 1) less позволяет просматривать текст по определённому числу строк, для чего достаточно указать - (тире или минус) и количество строк:
2) можно начать просмотр с конкретной строки в файле, указав + (плюс) и номер строки, с которой хотим начать чтение:
Открыв текст, мы можем управлять его просмотром:
Просматриваем начало или конец файла в Linux
Порой, нам не нужно выводить содержимое всего файла и мы хотим, к примеру, посмотреть лишь несколько строчек лога. Такое часто бывает, если мы подозреваем, что в начале или в конце конфигурационного файла есть ошибки. Для решения данного вопроса у нас существуют команды head и tail (как вы уже догадались, это голова и хвост).
Команда head по умолчанию показывает лишь 10 первых строчек в текстовом файле в Linux:
Вот, что мы увидим:
Кстати, тут мы тоже можем открыть сразу несколько текстовых файлов в Linux одновременно. Вот просмотр сразу двух файлов:
Если же вас не интересуют все 10 строчек, то, как и в случае с cat, можно использовать опцию –n , цифрой указывая число строк к выводу:
В итоге мы вывели только пять строк:
По правде говоря, букву n можно и не использовать, достаточно просто передать цифру:
Кстати, выводить содержимое текстового файла в Linux можно не построчно, а посимвольно. Давайте зададим число символов, которое нужно вывести (используем опцию -с ):
Итак, выводим 45 символов:
Не верите, что их действительно 45? Проверить можно командой wc:
С «головой» разобрались, давайте поговорим про «хвост». Очевидно, что команда tail работает наоборот, выводя десять последних строк текстового Linux-файла:
Количество строк при выводе тоже можно менять. Однако в tail есть такая полезная опция, как -f . С её помощью содержимое текстового файла будет постоянно обновляться, в результате чего вы станете видеть изменения сразу (постоянно открывать и закрывать файл не придётся). Это весьма удобно, если вы хотите просматривать логи Linux в реальном времени:
Просматриваем содержимое файла по шаблону в Linux
На практике зачастую нам необходим не весь текстовый файл, а лишь несколько строк из него. Используя grep, мы можем вывести Linux-файл, предварительно отсеяв лишнее:
Команду можно применять и совместно с cat:
Давайте выведем из лога лишь предупреждения:
Есть и ряд полезных опций: -A , -B , -C . Допустим, нам надо выполнить вывод двух строк после вхождения enp2s0:
А теперь, то же самое, но до вхождения loop:
Можно по две строки как до, так и после loop:
Просматриваем Linux-файл в сжатом виде
Порой, в системе встречаются текстовые файлы в сжатом виде и формате gz. Это могут быть конфигурационные файлы ядра либо логи программ. Открыть такие файлы можно тоже через терминал, не прибегая к распаковке. Для этого существует множество аналогов вышеназванных утилит с той лишь разницей, что они имеют приставку z: zgerp, zegrep, zcat, zless.
Давайте откроем сжатый файл в Linux для просмотра:
Или выполним просмотр сжатого файла с прокруткой:
Вот, пожалуй, и всё. Теперь вы точно в курсе, как правильно открывать и просматривать текстовые файлы в терминале Linux.
В этой статье рассмотрим команды просмотра текстовых файлов в терминале Linux.
Команды постраничного просмотра текстовых файлов less и more.
Для того, чтобы просмотреть огромный текстовый файл применяются команды для постраничного просмотра. Такие как more и less.
В общем виде команда more выглядит следующим образом:
Откроем для просмотра текстовый файл:
Теперь можно управлять просмотром текста с помощью нажатия следующих кнопок на клавиатуре:
SPACE | Переместиться на одну страницу вниз |
ENTER | Переместиться на одну строку вниз |
d | Переместиться на полстраницы вниз |
b | Переместиться на одну страницу вверх |
h | Помощь |
q | Выход |
У команды more есть и опции.
Если мы хотим читать текст по определенному количеству строк, то указываем - (тире/минус) и количество строк:
Если хотим начать чтение с определенной строки, то указываем + (плюс) и номер строки, с которой нужно начать чтение:
У команды more очень много недостатков. Нельзя читать текст вверх, только вниз. Текст остается в терминале после просмотра. Поэтому и была разработана less.
Просто совет, забудьте, что есть такая команда, как more и используйте less.
В общем виде команда less выглядит следующим образом:
Откроем текстовый файл для просмотра:
Сразу стоит упомянуть, что less умеет всё тоже, что и more. Поэтому не буду повторяться с опциями, которые позволяют начать чтения с определенной строки и количество строк на страницу.
Кнопки для управления просмотра текста:
стрелка_вверх | Переместиться на одну строку вверх |
стрелка_вниз | Переместиться на одну строку вниз |
PageUp | Переместиться на одну страницу вверх |
PageDown | Переместиться на одну страницу вниз |
SPACE | Переместиться на одну страницу вниз |
ENTER | Переместиться на одну строку вниз |
d | Переместиться на полстраницы вниз |
b | Переместиться на одну страницу вверх |
h | Помощь |
q | Выход |
Удобно искать слова в тексте.
Поиск текста вниз.
Просто набираем слеш / и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.
Обратный поиск.
Просто набираем ? (знак вопроса) и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.
Для перехода в начало документа используется клавиша g, для перехода в конец документа - G. Кроме того, мы можем перейти на определенную строку введя число и g, к примеру, 50g переведет нас на 50 строку.
Для того, чтобы открыть в редакторе просматриваемый файл, то нужно нажать клавишу v.
Для того, чтобы отобразить номера строк в файле, можно указать опцию -N или ввести её прямо во время просмотра:
Кроме того, команды less и more можно использовать для просмотра стандартных потоков вывода (подробнее о них в 3-ей статье). Для этого нужно указать в конце команды: | less или | more.
К примеру, хотим просмотреть список установленных приложений постранично:
При просмотре стандартного потока вывода, как в команде выше, если нажать s, то можно сохранить этот просматриваемый поток вывода в файл.
Ну и последнее, что хочется упомянуть, что если нажать F, то курсор будет переведён в конец файла и будет ожидание добавления новых строк (аналогично команде tail -f).
Команды head и tail.
Как не трудно догадаться по названиям (легко запомнить), то команда head отображает "голову" текстового файла, а tail - его "хвост". Они очень простые в использовании, давайте рассмотрим их более подробнее.
Выполнение команды head выведет первые 10 строк текстового файла, в общем виде выглядит следующим образом:
Давайте выведем первые 10 строк:
Если мы хотим вывести определенное количество строк (вместо 10 по умолчанию) с начала текстового файла, то укажем опцию - (тире/минус) и количество строк:
Если команду head мне не приходилось использовать никогда, то команда tail очень нужная и очень часто используется.
Выполнение команды tail выведет последние 10 строк файла, в общем виде выглядит следующим образом:
Давайте выведем последние 10 строк:
Если хотим вывести определение количество строк с конца текстового документа, то нужно указать опцию (как и в случае с heaf) - (тире/минус) и количество строк:
Либо -n и количество строк. Если указывать другие опции, помимо количества строк, то нужно использовать именно эту конструкцию:
Данная команда tail очень полезна, если нужно смотреть текстовый файл, в частности файл лога, в который добавляются новый строки. То есть, смотреть изменение файла в реальном времени. Например, работает у вас какое-то серверное приложение и вам надо отслеживать ошибки лога. В этом случае, нужно к команде tail добавить опцию -f:
Команда не завершается и если в этот текстовый файл добавятся другие строки, то мы увидим их.
C опцией -f можно указать количество строк -n:
Очень часто использую её для просмотра логов в режиме реального времени.
Команды cat и tac.
Команда cat используется для просмотра текстового файла полностью. В основном, для просмотра небольших текстовых файлов, например, каких-либо конфигурационных файлов.
В общем виде выглядит следующим образом:
Чтобы отобразить номера строк, нужно использовать опцию -n:
С помощью перенаправления стандартного потока вывода мы можем делать интересные вещи.
К примеру, можно создать копию текущего файла:
Можно добавить текст из одного файла в другой:
Можно объединить несколько файлов в один:
Как упоминалось выше, |less и |more можно использовать для просмотра стандартных потоков вывода. Команда cat не исключение:
Команда tac - это тоже самое, что и cat, только отображает строки в обратном порядке.
Для лучшего понимания, о чём идёт речь, просто посмотрите на следующий скриншот:
Читайте также: