Praca z plikami tekstowymi: cat, less, tail, grep i nano
Poznasz podstawowe narzędzia do czytania, przeglądania, wyszukiwania i prostej edycji plików tekstowych w terminalu Linux.
Wróć do listy lekcji1. Krótka teoria
W Linuxie wiele ważnych informacji znajduje się w plikach tekstowych. Plikami tekstowymi są między innymi pliki konfiguracyjne, listy użytkowników, ustawienia usług oraz logi. Dlatego administrator systemu powinien umieć szybko podejrzeć zawartość pliku, wygodnie przewijać dłuższy tekst, sprawdzić ostatnie linie logu, wyszukać konkretny fragment oraz bezpiecznie wykonać prostą edycję. Do podstawowych narzędzi należą cat, less, head, tail, grep oraz nano. Te komendy są fundamentem późniejszej pracy z konfiguracją usług, diagnostyką błędów i analizą logów.
2. Przykłady komend
cat /etc/os-release
Wyświetla całą zawartość krótkiego pliku tekstowego.
$ cat /etc/os-release
NAME="Rocky Linux"
VERSION="9"
less /etc/ssh/sshd_config
Otwiera plik w wygodnym podglądzie z możliwością przewijania.
$ less /etc/ssh/sshd_config
head /var/log/messages
Wyświetla początkowe linie pliku.
$ head /var/log/messages
tail /var/log/messages
Wyświetla końcowe linie pliku.
$ tail /var/log/messages
tail -f /var/log/messages
Obserwuje dopisywane na bieżąco linie pliku, co jest przydatne przy logach.
$ tail -f /var/log/messages
grep PermitRootLogin /etc/ssh/sshd_config
Wyszukuje w pliku linie zawierające podany tekst.
$ grep PermitRootLogin /etc/ssh/sshd_config
grep -i error /var/log/messages
Wyszukuje tekst bez rozróżniania wielkości liter.
$ grep -i error /var/log/messages
grep -n server_name /etc/nginx/nginx.conf
Wyszukuje tekst i pokazuje numery pasujących linii.
$ grep -n server_name /etc/nginx/nginx.conf
nano /opt/example-app/.env
Otwiera plik do prostej edycji w terminalu.
$ nano /opt/example-app/.env
3. Zadanie praktyczne
cat /etc/os-release, less /etc/os-release, head /etc/os-release oraz tail /etc/os-release. W programie less wyjdź klawiszem q. Następnie użyj grep, aby wyszukać wybrany tekst w pliku, na przykład grep NAME /etc/os-release. Na końcu otwórz testowy plik w nano, zapisz zmianę skrótem Ctrl + O, zatwierdź klawiszem Enter i wyjdź skrótem Ctrl + X.
4. Typowe błędy
-
Używanie
catdo bardzo długich plików zamiastless. -
Zapominanie, że z programu
lesswychodzi się klawiszemq. -
Mylenie
headitail. -
Używanie
tail -fbez wiedzy, że działanie można przerwać skrótemCtrl + C. -
Wyszukiwanie tekstu komendą
grepbez sprawdzenia wielkości liter. - Edycja ważnych plików konfiguracyjnych bez wcześniejszego sprawdzenia ich zawartości.
-
Zapominanie o zapisaniu zmian w
nanoprzed wyjściem.
5. Podsumowanie
Pliki tekstowe są bardzo ważne w codziennej pracy z Linuxem. Komenda cat pozwala szybko wyświetlić krótki plik, less ułatwia przeglądanie dłuższych plików, head i tail pokazują początek oraz koniec pliku, tail -f pozwala obserwować logi, grep wyszukuje tekst, a nano umożliwia prostą edycję plików w terminalu.