Создание редактирование и чтение файлов
Создание файлов и просмотр их в каталоге
Все примеры я буду показывать на Debian 11, так как на Ubuntu 22.04 все выполняется аналогично. Вообще в Linux работа в терминале на любых системах практически одинакова. Поэтому создание, редактирование и чтение файлов можно продемонстрировать на любой системе.
Для создания текстового файла служит команда touch:
$ touch file.txt
С помощью команды ls можно посмотреть какие файлы есть в каталоге:
$ ls
file.txt
У команды ls есть дополнительные опции:
-l— показывает информацию по каждому файлу;-h— показывает размер файла в удобном для человека виде (байты, килобайты, мегабайты и т.д.). Эту опцию можно использовать только вместе в-l.
$ ls -lh
итого 0
-rw-r--r-- 1 alex alex 0 ноя 26 16:15 file.txt
Команда touch не только создает файл, но если этот файл уже есть, то обновляет время доступа и модификации данного файла:
$ touch file.txt
$ ls -lh
итого 0
-rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Как вы могли заметить вначале время последнего изменения файла было 16:15, а после выполнения touch оно изменилось на 16:17. На самом деле команда touch не изменила файл, она лишь прикоснулась к файлу и тем самым изменила его время доступа. Кстати, с английского touch переводится как прикасаться.
Давайте теперь разберём вывод команды ls -lh:
Тип файла
| Права
| | Кол-во ссылок
| | | Владелец
| | | | Группа
| | | | | Размер
| | | | | | Дата и время последнего касания или изменения
| | | | | | | Имя файла
| | | | | | | |
- rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Пока что вам нужно запомнить что таким образом можно посмотреть размер файла и дату его изменения, с остальным разберемся позже. И ещё запомните 2 типа файлов:
- знак тире
-— обычный файл; - символ
d— каталог; - есть и другие типы файлов, но пока их рассматривать не будем.
Редактирование файлов
Отредактировать текстовый файл можно с помощью текстового редактора nano:
$ nano file.txt
После выполнения этой команды у Вас откроется текстовый редактор:

- Для того чтобы сохранить этот файл нужно нажать комбинацию клавиш Ctrl+o.
- Чтобы закончить редактирование и закрыть файл нужно нажать Ctrl+x. При этом у вас спросят, хотите ли вы сохранить этот файл.
Внизу я выделил подсказки текстового редактора Nano, в подсказках символ ^ — это клавиша Ctrl.
Если с помощью nano открыть несуществующий файл, то файл будет создан как только вы его сохраните. Поэтому выполнять touch перед nano не обязательно.
Чтение файлов
Команды cat и tac
Для чтения файлов чаще всего используется команда cat:
$ cat file.txt
И тут мы можем
вводить текст,
какой только пожелаем.
У команды cat есть опция -n, которая выводит номера строк:
$ cat -n file.txt
1 И тут мы можем
2 вводить текст,
3 какой только пожелаем.
Для команды cat есть команда перевёртыш, это команда tac. Она выводит текст задом наперед:
$ tac file.txt
какой только пожелаем.
вводить текст,
И тут мы можем
Команда grep
Чтобы найти слово или фразу в тексте, используйте команду grep. Например, мы ищем строку в которой встречается слово «какой»:
$ grep какой file.txt
какой только пожелаем.
Команда less
Если текст длинный то вместо cat лучше использовать less:
$ less /etc/ssh/sshd_config
Используя less мы можем кнопками вверх / вниз перемещаться по тексту:

Если нажать кнопу /, то откроется строка, куда можно ввести фразу для поиска в этом файле. Давайте, например, найдём строку со словом «Port»:

При поиске удобно использовать кнопку n для дальнейшего поиска введенной фразы, и комбинацию Shift+n для поиска в обратном направлении (к началу файла). Для выхода из программы используйте клавишу q.
Команды tail и head
Чтобы посмотреть последние строки файла используйте команду tail:
$ tail /etc/ssh/sshd_config
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
И наоборот, чтобы посмотреть первые строки файла - команду head:
$ head /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
Эти две команды выводят 10 последних (tail) или 10 первых (head) строк файла. У этих команд есть параметр -n, с помощью которого можно указать сколько строк выводить, например выведем по 3 строки:
$ tail -n 3 /etc/ssh/sshd_config
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
$ head -n 3 /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
А ещё команда tail позволяет выводить изменяющиеся файлы, например логи. Для этого используется опция -f. Чтобы закончить наблюдение за файлом, нужно нажать комбинацию Ctrl+c.
Если понравилась статья, подпишись на мой канал в VK или Telegram .