Чтение файлов в Linux: полное руководство

Создание тестового файла

Для демонстрации работы команд создадим большой файл с множеством строк. Воспользуемся генератором Lorem Ipsum и скопируем, например, 50 списков текста. Запишем скопированный текст в файл командой:

cat > large_file.txt

Эта команда перенаправляет стандартный ввод (stdin) в файл large_file.txt. Вставим скопированный текст и завершим ввод комбинацией клавиш Ctrl+C. Файл large_file.txt создан и содержит скопированный текст.

Чтение файла

Команда cat

Простейший способ чтения файла — команда cat:

cat large_file.txt

Эта команда выведет всё содержимое файла large_file.txt на экран.

Команды head и tail для больших файлов

Для больших файлов использование cat неэффективно. В таких случаях лучше использовать head и tail.

head выводит первые N строк файла:

head large_file.txt

(выведет первые 10 строк)

head -n 3 large_file.txt

(выведет первые 3 строки)

tail выводит последние N строк файла:

tail large_file.txt

(выведет последние 10 строк)

tail -n 5 large_file.txt

(выведет последние 5 строк)

Построчный просмотр: more

Для построчного просмотра больших файлов удобно использовать команду more:

more large_file.txt

more выводит содержимое файла постранично. Нажатие пробела перелистывает страницу.

Мониторинг изменений в реальном времени: tail -f

Для мониторинга изменений в файле в режиме реального времени используется опция -f с командой tail:

tail -f large_file.txt

Эта команда постоянно отображает последние 10 строк файла, обновляя вывод при появлении новых строк. Для завершения работы необходимо нажать Ctrl+C. Добавим строки в файл из другого терминала:

echo "additional line" >> large_file.txt
echo "additional line two" >> large_file.txt

(символы >> добавляют текст в конец файла, не перезаписывая его)

Новые строки появятся в выводе tail -f.

Рассмотрены различные команды Linux для чтения файлов различного размера и мониторинга изменений в файлах в реальном времени. Выбор конкретной команды зависит от размера файла и задачи.

Что будем искать? Например,программа