Командная строка Linux, вывод и чтение содержимого: команды echo, cat, less
Приветствую!

Это третий пост из цикла, посвященного работе в командной строке Linux. Сегодня мы рассмотрим команды вывода текста в консоль и просмотра содержимого файлов: echo, cat, less.

Если вы только начинаете изучать Linux, то настоятельно рекомендую посмотреть предыдущие посты:

Практические примеры из постов данного цикла выполнялись в среде дистрибутива Linux Mint 21.

Приступим.

Про стандартные потоки данных в Linux: ввод, вывод, вывод ошибок

Стандартные потоки ввода, вывода и вывода ошибок в Linux (и в других операционных системах Unix) являются основными механизмами для взаимодействия между программами и операционной системой. Они представлены следующим образом:

В Linux и других операционных системах Unix используются специальные символы перенаправления, такие как >, < и |, чтобы перенаправлять данные между потоками и файлами.

По данной теме в ближайшем будущем сделаю отдельный пост с практическими примерами и подробным разбором. А пока просто знайте, что это такое и как называется)

Список команд

Итак, сегодня наш арсенал инструментов пополнится следующими командами:

КомандаОписание
echoвыводит передаваемый текст, используется также для вывода значений переменных (механизм подстановки)
catвыводит содержимое файла или нескольких файлов
lessпострочный просмотр стандартного вывода

Команда echo — вывод передаваемого текста

Синтаксис:

BASH
echo [ключи] [аргументы]
Нажмите, чтобы развернуть и увидеть больше

В квадратных скобка необязательные аргументы команды.

Команда echo в Linux — это простая команда, которая выводит аргументы, переданные ей, на стандартный вывод. Она является одной из базовых команд. Широко используемых в скриптах командной оболочки для вывода текстовых сообщений или переменных.

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

Примеры использования команды echo:

1. Простой вывод текстовой строки:

BASH
echo "Hello, R4ven!"
Нажмите, чтобы развернуть и увидеть больше

2. Вывод значения переменной:

BASH
hello="Привет, R4ven!"

echo $hello
Нажмите, чтобы развернуть и увидеть больше

Задаём переменную «hello» и выводим её значение на экран.

3. Вывод нескольких аргументов:

BASH
name="Ivan"

age=30

echo "Имя: $name, Возраст: $age"
Нажмите, чтобы развернуть и увидеть больше

Выводит «Имя: Ivan, Возраст: 30» на экран.

4. Использование опций:

BASH
echo -n "Текст без новой строки"
Нажмите, чтобы развернуть и увидеть больше

Выводит «Текст без новой строки» без символа перехода ( \n ) новой строки в конце.

Команда echo — это простой и удобный инструмент для вывода текстовых данных в терминале Linux. Однако, стоит быть осторожным при её использовании с переменными, содержащими специальные символы, так как они могут быть интерпретированы командной оболочкой. В таких случаях рекомендуется использовать механизм экранирования, чтобы избежать неправильной интерпретации данных. Про данный механизм я также расскажу в отдельном посте.

Команда cat (concatenate) — вывод содержимого файла/ов

Синтаксис:

BASH
cat [ключи] [имя_файла]
Нажмите, чтобы развернуть и увидеть больше

Данная команда выполняет вывод содержимого файла или несколько файлов (конкатенация) объединяя их в один поток.

Для примера создадим файл text_file.txt с помощью графического файлового менеджера в нашей домашней директории. Далее наполним его любым содержимым:

Теперь вернёмся в терминал и выведем содержимое только что созданного файла text_file.txt с помощью команды cat:

BASH
cat text_file.txt
Нажмите, чтобы развернуть и увидеть больше

Команда показала текст, добавленный нами в этот файл:

Для примера работы команды cat создадим еще один файл text_file2.txt и добавим в него любое содержимое. Чтобы было интереснее сделаем это через терминал:

BASH
touch text_file2.txt

xed text_file2.txt
Нажмите, чтобы развернуть и увидеть больше

Команда touch создаёт пустой файл, который мы откроем с помощью xed — это имя графического текстового редактора в Linux Mint.

Теперь выполним команду в терминале:

BASH
cat text_file.txt text_file2.txt
Нажмите, чтобы развернуть и увидеть больше

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

Попрактикуйтесь с данной командой, просмотрев содержимое скрытых (начинаются с точки) конфигурационных файлов, лежащих в вашей домашней директории, например посмотрите (и ужаснитесь) содержимое файла конфига оболочки bash:

BASH
cat ~/.bashrc
Нажмите, чтобы развернуть и увидеть больше

Идём дальше.

Команда less — построчный просмотр содержимого

Синтаксис:

BASH
less [ключи] имя_файла
Нажмите, чтобы развернуть и увидеть больше

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

Эту проблему с лихвой решает команда less. Попробуем посмотреть содержимое файла конфигурации нашей оболочки с помощью «леса» 😉

BASH
less $HOME/.bashrc
Нажмите, чтобы развернуть и увидеть больше

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

При использовании команды less вы попадаете в интерактивный режим просмотра файлов, который имеет удобный функционал навигации с использованием горячих клавиш в стиле vim-like. К слову данный стиль широко используется в unix-подобных системах в виде встроенного механизма навигации по содержимому во многих консольных программах. Знание этих горячих клавиш бывает очень полезно. Главное знать как выйти 😉

Для примера расскажу про поиск. Делается это так: в режиме просмотра нажмите слэш / и вы попадёте в режим ввода значений для поиска по содержимому.

Тут необходимо помнить, что Unix-подобные ОС чувствительны к регистру.

Далее вводим ключ поиска, для примера выполним поиск слова alias:

BASH
alias
Нажмите, чтобы развернуть и увидеть больше

Затем нужно нажать Enter. Найденные совпадения будут подсвечены. Нажимая клавишу n курсор поиска будет двигаться вперед по тексту, а при нажатии клавиши N (Shift+n) будет выполнен поиск в обратном направлении.

В режиме ввода ключей для поиска сохраняется история. Можно просмотреть ранее введенные значения используя стрелочки на клавиатуре, как с командами в терминале.

Чтобы убрать подсветку результатов поиска используйте сочетание клавиш Alt+u

Эта же комбинация и включает подсветку обратно.

less поддерживает постраничный просмотр, который выполняется с помощью клавиш PageUp / PageDown на клавиатуре.

Чтобы вернуться в начале файла нажмите клавишу g, а чтобы переместиться в конце нажмите клавишу G (Shift+g).

Для выхода из режима просмотра используйте клавишу q

Обращаю ваше внимание, что если у вас в режиме просмотра команды less включена раскладка клавиатуры отличная от английской, то горячие клавиши работать не будут. Для решения просто переключите раскладку на английскую и всё будет ок. Закрывать окно терминала и перезагружать компьютер не нужно 😉

Послесловие

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

В следующем посте мы рассмотрим команды по управлению файлами в терминале: touch, mkdir, cp, mv, rm.

Спасибо, что читаете. Успехов в изучении Linux

Полезные источники

Предыдущие посты цикла

  1. Командная строка Linux, введение: типы команд, plain text, файловая система, shell prompt
  2. Командная строка Linux, навигация в системе и просмотр директорий: команды pwd, ls, cd

Авторские права

Автор: Иван Чёрный

Ссылка: https://r4ven.me/linux/komandnaya-stroka-linux-vyvod-i-chtenie-soderzhimogo-komandy-echo-cat-less/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша