Работа с файлами в Линукс является одним из базовых навыков. На этом занятии мы с вами узнаем способы вывода информации на экран из файлов. Оговорюсь сразу – сейчас я подразумеваю только обычные (регулярные) файлы.
Информация внутри них может содержаться в 2 видах – текстовом ASCII или бинарном. Для каждого из этих типов информации существуют программы, способные ее выводить на экран.
Для текстовых файлов наиболее часто используются команды cat, tac, more, less, head и tail.
Рассмотрим их поподробнее:
cat filename – команда используется для вывода текстовой информации из файла на экран. Например:
Рисунок 28.
Команда cat имеет несколько параметров. Опишем наиболее используемые из них:
-b (--number-nonblank) – пронумеровать все непустые строки;
-n (--number) – пронумеровать все строки;
-s (--squeeze-blank) – отобразить несколько подряд идущих пустых строк
в виде одной пустой строки;
-T (--show-tabs) – показать символы табуляции, отобразив их как “^|”;
-E (--show-ends) – показать символы конца строки как “$”.
Попробуем использовать некоторые из этих параметров:
Рисунок 29.
tac filename – эта команда используется для вывода на экран информации из файла в обратном порядке.
Рисунок 30.
По умолчанию разделителем записей для этой команды является символ корнца строки (/n). Но такое положение дел можно изменить, используя параметр -s (--separator=):
Рисунок 31.
Но может возникнуть ситуация, когда размер файла намного превосходит количество строк, способных уместиться на экране. В таком случае при использовании утилиты cat вы не сможете комфортно прочесть файл, так как он будет очень быстро выведен. Справиться с этой ситуацией помогут нам команды more и less.
more filename – эта команда позволяет просматривать длинные файлы по частям. Так например:
Рисунок 32.
Команда more использует для прокрутки две клавиши – пробел (показать следующий экран) и Enter (показать следующую строку). Но у more есть один недостаток – она способна прокручивать текст только вперед. То есть если вы уже смотрите второй экран, то к первому никак вернуться будет нельзя. Эту проблему с легкостью решает команда less.
less filename – позволяет просматривать файлы любой длины, прокручивая их в любую сторону. Например:
Рисунок 33.
Команда less понимает следующие комбинации клавиш:
Enter (стрелка вниз) – перейти на одну строку вниз;
Пробел (Page Down) – перейти на страницу вниз по тексту;
Page Up – перейти на страницу вверх по тексту;
стрелка вверх – перейти на строку вверх по тексту;
/ - поиск;
Home – перейти к началу текста;
End – перейти к концу текста;
q – выйти из программы less.
Но если нам не нужно отображать весь файл а только необходимо убедиться что это именно то, что мы ищем, то нам помогут команды head и tail.
head filename1 [filename2 ...] – по умолчанию выводит 10 первых строк файла. Команде head можно задавать параметры, вот самые используемые из них:
-n lines – вывести не 10 а lines строк от начала файл;
-c bytes – вывести bytes байт с начала файла;
-q – не печатать заголовки файлов перез выводом (при выводе нескольких файлов сразу).
Рисунок 34.
tail filename – по умолчанию выводит 10 последних строк файла. Вот наиболее используемые ее параметры:
-n lines – вывести не 10, а lines последних строк;
-c bytes – вывести bytes последних байт файла;
-f – войти в постоянный цикл по считыванию конца файла. Таким образом при поступлении в файл новой информации пользователь может вести мониторинг ее в реальном времени. Выход из этого режима осуществляется комбинацией клавиш <Ctrl>+<C>.
Рисунок 35.
Кроме техтового есть еще и второй тип содержимого файлов – бинарные данные. Для просмотра такого типа файлов нам не подойдут команды типа more или cat:
Рисунок 36.
Но вот команда od предназначена как раз для просмотра файлов такого типа.
od filename – просматриват бинарные файлы в виде дампа байтов. Наиболее популярные параметры команды od:
-A radix – указать систему счисления, в которой будут указываться
адреса. Параметр radix может принимать следующие
значения: d – десятичная, o – восьмеричная (по умолчанию),
x – шеснадцатиричная, n – не выводить адресов.
-radix – указать систему счисления, в которой будут указываться
данные. Параметр radix может принимать следующие
значения: d – десятичная, o – восьмеричная (по умолчанию),
x – шеснадцатиричная, n – не выводить адресов.
-j bytes – пропустить bytes байт от начала файла.
-v – включить вывод последовательных одинаковых строк. По умолчанию
od выводит только первую строку из множества, а вместо остальных – символ “*”.
Рисунок 37.