Программист – Работа в командной строке linux (страница 3)
rm temp.txt # Удаление файла
rm -i *.tmp # Удаление с подтверждением
rm -r old_folder/ # Рекурсивное удаление каталога
Внимание: команда rm удаляет файлы безвозвратно. Используйте опцию -i для подтверждения.
2.6. Работа со скрытыми файлами и ссылками
Скрытые файлы начинаются с точки (.) и обычно содержат настройки программ (например, .bashrc, .ssh/).
Ссылки:
* Символьная ссылка (ln -s) — аналог ярлыка в Windows:
ln -s /home/user/documents/report.txt link_to_report
• Жёсткая ссылка (ln) — альтернативное имя для файла (указывает на тот же inode).
2.7. Практические упражнения
1. Перейдите в каталог /tmp.
2. Создайте каталог test_nav командой mkdir.
3. Внутри test_nav создайте три файла: file1.txt, file2.txt, config.cfg.
4. Создайте подкаталог subfolder и скопируйте в него file1.txt.
5. Переименуйте file2.txt в data.txt.
6. Выведите подробный список файлов в test_nav, включая скрытые.
7. Создайте символическую ссылку link_to_config на config.cfg.
8. Проверьте содержимое ссылки командой ls -l.
9. Удалите subfolder и все его содержимое.
10. Вернитесь в домашний каталог командой cd.
Заключение
Вы освоили основы навигации по файловой системе Linux и базовые операции с файлами и каталогами. Теперь вы можете: * ориентироваться в структуре каталогов; * перемещаться между директориями; * просматривать содержимое папок; * создавать, копировать, перемещать и удалять файлы.
В следующей главе мы рассмотрим работу с содержимым файлов: просмотр, редактирование и поиск информации.
Глава 3. Работа с содержимым файлов: просмотр, редактирование и поиск
Введение
В Linux большинство настроек системы и приложений хранятся в текстовых файлах. Умение просматривать, редактировать и искать информацию в них — ключевой навык для работы в командной строке.
В этой главе вы: * изучите команды для просмотра файлов разного размера; * освоите базовые текстовые редакторы в терминале; * научитесь искать информацию в файлах и каталогах; * познакомитесь с фильтрацией и обработкой текстовой информации; * выполните практические задания для закрепления навыков.
3.1. Просмотр содержимого файлов
1. cat (concatenate) — выводит содержимое файла целиком. Подходит для небольших файлов.
Примеры:
cat /etc/hosts # Просмотр файла hosts
cat file1.txt file2.txt # Вывод нескольких файлов подряд
cat -n script.sh # Вывод с нумерацией строк
2. tac — аналогична cat, но выводит строки в обратном порядке.
tac logfile.txt
3. head — показывает первые строки файла (по умолчанию — 10).
head /var/log/syslog # Первые 10 строк лога
head -n 5 config.cfg # Первые 5 строк файла
head -c 100 data.txt # Первые 100 байт файла
4. tail — показывает последние строки файла.
tail /var/log/auth.log # Последние 10 строк
tail -n 20 error.log # Последние 20 строк
tail -f /var/log/syslog # Мониторинг в реальном времени (новые строки добавляются автоматически)
5. less — интерактивный просмотр больших файлов с прокруткой.
less /var/log/dmesg
Управление в less:
* ↑/↓ — по строкам;
* PgUp/PgDn — по страницам;
* / + слово — поиск;
* n — следующий результат поиска;
* q — выход.
6. more — упрощённая версия less с ограниченными возможностями.
more long_document.txt
3.2. Редактирование файлов в терминале
1. nano — простой редактор для новичков.
nano config.ini
Базовые сочетания клавиш:
* Ctrl+O — сохранить;
* Ctrl+X — выйти;
* Ctrl+K — вырезать строку;
* Ctrl+U — вставить;
* Ctrl+W — поиск.
2. vim — мощный редактор для опытных пользователей.
vim script.py
Режимы:
* командный (Esc) — навигация и команды;
* вставка (i) — редактирование текста;
* командная строка (:) — сохранение, выход и др.
Основные команды:
* :w — сохранить;
* :q — выйти;
* :wq — сохранить и выйти;
* :q! — выйти без сохранения.
3.3. Поиск информации в файлах
1. grep — поиск строк по шаблону.
grep "error" /var/log/syslog # Найти строки с "error"
grep -i "warning" logfile.log # Поиск без учёта регистра
grep -r "config" /home/user/ # Рекурсивный поиск в каталоге
grep -n "function" script.js # Вывод с номерами строк
2. find — поиск файлов по имени, размеру, дате и т. д.
find /home -name "*.txt" # Найти все .txt файлы в /home
find /var/log -mtime -7 # Файлы, изменённые за последние 7 дней