Druga część elementarnej wiedzy o Linuksie. Praca z plikami tekstowymi. Polecenia: cat, more, less, head, tail. Przekierowanie wejścia i wyjścia. Filtr grep. Edytory tekstu.
Hierarchia systemu plików
Filesystem Hierarchy Standard (1993) – powszechnie stosowana hierarchia katalogów:
/
– katalog główny (root)
/bin
, /sbin
– pliki wykonywalne, systemowe pliki wykonywalne (binaries, system binaries)
/boot
– boot loader
/dev
– urządzenia (devices)
/etc
– konfiguracja systemu i usług
/home
, /root
– pliki osobiste użytkowników i superużytkownika root
/lib
– biblioteki dla bin i sbin (libraries)
/media
, /mnt
– punkt montowania urządzeń podłączanych do komputera i tymczasowych (mount points)
/opt
– pakiety dodatkowe (optional)
/proc
– jądro, stan procesów (process’ status)
/tmp
– pliki tymczasowe (temporary files) mogą być (zazwyczaj są) usuwane przy ponownym uruchomieniu komputera
/var
– pliki zmienne (variable files) m.in.: log, spool, www, tmp
/usr
– zasoby systemowe, pliki użytkownika tylko-do-odczytu (Unix System Resources) bin, lib, share, src
Wyświetlanie pliku tekstowego
Do wyświetlenia zawartości plików tekstowych pod konsolą służą polecenia: cat
, more
, less
, head
i tail
.
Sprawdź do czego służą te polecenia komendą man
:
man cat man less ...
Pobierzemy przykładowy plik tekstowy, który przyda się podczas ćwiczeń.
Przechodzimy do katalogu domowego:
cd
I pobieramy przykładowy plik.
wget https://serwer-vps.pl/files/inwokacja.txt
1. Wyświetlamy zawartość pliku w terminalu.
cat inwokacja.txt
2. Wyświetlamy zawartość pliku w programie less
less inwokacja.txt
Program less jest przydatny do przeglądania długich plików, nie mieszczących się na ekranie.
Użyj klawiszy PageUp
, PageDown
, ↓
, ↑
aby przeglądać plik.
Aby wyszukać tekst użyj klawisza /
i wprowadź wyszukiwany ciąg znaków u dołu ekranu.
Aby wyjść z programu less
wciśnij klawisz q
.
3. Wyświetl fragmenty pliku przy pomocy programów head
i tail
head inwokacja.txt tail inwokacja.txt tail -15 inwokacja.txt
Dopełnianie nazw
Nie musisz wpisywać całych długich poleceń czy nazw plików.
Powłoka Bash posiada mechanizm uzupełniania, działa on dla komend, ścieżek i nazw plików.
Dopełnienie nazw wywołujemy za pomocą tabulatora TAB
.
Spróbuj:
cat inw[TAB] cat /etc/pas[TAB] ca[TAB]
Powłoka wyświetli możliwe dopełnienia lub jeśli jest tylko jedna możliwość dopełni polecenie.
Przekierowanie wejścia i wyjścia
Standardowym wejściem zazwyczaj jest klawiatura, a standardowym wyjściem ekran, lecz nie zawsze. Mamy do dyspozycji kilka operatorów dzięki którym możemy to zmienić.
>
– przekierowanie wyjścia z programu do pliku.
ls -alh /etc > lista.txt
Powyższe polecenie przekieruje wyjście komendy ls -alh
do pliku lista.txt
, czyli utworzy nam plik zawierający listę plików znajdujących się w katalogu /etc
.
echo "ala ma kota" > plik.txt
Wyjście z programu echo wpisze do pliku plik.txt
>>
– doklejenie wyjścia z programu na koniec pliku
echo "ala ma psa" >> plik.txt
dopisze “ala ma psa” na koniec pliku plik.txt
|
czyli tzw. potok pozwala na przekierowanie wyjścia jednego programu na wejście drugiego programu.
tail -15 inwokacja.txt | head
cat inwokacja.txt | wc -l
cat
wypisuje inwokacja.txt
na wyjście, które przekierowujemy na program liczący wiersze.
Wyszukiwanie w plikach – grep
Do wyszukiwania tekstu służy komenda grep
. Wyszukuje znaki, łańcuchy znaków lub słowa w podanym jako argument pliku lub plikach. Jest to jedna z najbardziej użytecznych komend w Linuksie. Kilka prostych przykładów:
grep owie inwokacja.txt grep gdzie inwokacja.txt grep -i gdzie inwokacja.txt grep bash /etc/passwd
Edytory tekstowe
Najpopularniejsze edytory tekstowe działające w terminalu to vim
(vi
) oraz nano
. Vim potężny, lecz wymaga poświęcania nieco czasu na naukę, nano prosty i można go zacząć używać z marszu.
Edytor nano
Obsługa nano
jest bardzo prosta. Funkcje wywołuje się kombinacją klawisza Ctrl
i odpowiedniej litery. U dołu okna edytor pokazuje dostępne funkcje.
Ctrl
+O
– zapisz plikCtrl
+K
– przenieś bieżącą linię do bufora kopiowaniaCtrl
+U
– wklej linię z buforaCtrl
+W
– wyszukiwanieCtrl
+X
– zakończ
Edytor Vim
Edytor vim
to potężne narzędzie, umożliwiające bardzo efektywną pracę z tekstem. Jednak na początku trzeba poświęcić chwilę – ok 30 minut – na jego naukę.
W sieci krążą dowcipy – zapewne oparte na faktach – o użytkownikach, którzy nie mogą wyjść z vima, więc podaję tutaj pewny sposób: [esc]:q!
😉
A pisząc już na poważnie to gorąco zachęcam do poświęcenia kliku chwili na naukę edytora vim, zwłaszcza, że posiada świetny interaktywny samouczek w języku polskim.
Aby go uruchomić wydajemy polecenie:
vimtutor
W praktyce administratora Linuksa, edycja plików tekstowych to naprawdę spora część pracy, a czas poświęcony na naukę edytora vim
na pewno szybko się zwróci.
Dzień dobry. Późno udało się tu trafi, ale się udało 🙂 Bardzo dziękuję za tę pracę. No i zdaje się, dowcipy o vim, nie są przesadzone. xD