Wstęp
W systemie Linux dostępnych jest wiele narzędzi służących do pracy z plikami tekstowymi, przeszukiwania ich zawartości oraz porównywania. Do najczęściej używanych należą polecenia cat
, diff
i grep
. Znajomość tych poleceń pozwala efektywnie zarządzać plikami, wyszukiwać potrzebne informacje oraz analizować różnice pomiędzy różnymi plikami lub katalogami.
cat
(skrót od "concatenate") pozwala na wyświetlanie zawartości plików tekstowych, łączenie ich oraz tworzenie nowych.diff
umożliwia porównywanie zawartości plików lub katalogów, wskazując różnice między nimi.grep
to narzędzie do wyszukiwania wzorców w plikach tekstowych, z wykorzystaniem wyrażeń regularnych.
W tej lekcji nauczymy się korzystać z tych poleceń zarówno w prostych, jak i bardziej zaawansowanych scenariuszach.
Cele lekcji
- Zrozumienie funkcji polecenia
cat
:
- Wyświetlanie zawartości plików.
- Tworzenie nowych plików tekstowych i dodawanie do nich treści.
- Łączenie zawartości kilku plików w jeden.
- Opanowanie polecenia
diff
:
- Porównywanie zawartości plików tekstowych.
- Analizowanie różnic między katalogami, w tym podkatalogami.
- Interpretacja wyników w różnych formatach (np. kontekstowym).
- Umiejętność korzystania z
grep
:
- Wyszukiwanie konkretnych słów, fraz lub wzorców w plikach.
- Wykorzystanie opcji zaawansowanych, takich jak wyszukiwanie w katalogach czy ignorowanie wielkości liter.
- Praca z wyrażeniami regularnymi.
- Praktyczne zastosowanie nabytej wiedzy:
- Rozwiązywanie problemów z zarządzaniem i analizą plików w rzeczywistych scenariuszach.
- Utrwalanie umiejętności pisania własnych skryptów automatyzujących.
1. Polecenie cat
Polecenie cat
służy do wyświetlania zawartości plików, łączenia wielu plików w jeden, a także do tworzenia nowych plików. Jest bardzo przydatne przy pracy z plikami tekstowymi.
Najważniejsze opcje:
cat [plik]
– wyświetla zawartość pliku.cat [plik1] [plik2] > [plik_docelowy]
– łączy zawartość plików w jeden nowy plik.cat -n [plik]
– wyświetla zawartość pliku z numerami wierszy.cat > [plik]
– pozwala na zapis tekstu do pliku (zakończenie przezCTRL+D
).
Przykłady:
- Wyświetlenie zawartości pliku
dokument.txt
:
cat dokument.txt
- Połączenie plików
plik1.txt
iplik2.txt
w jeden o nazwiewynik.txt
:
cat plik1.txt plik2.txt > wynik.txt
2. Polecenie diff
Polecenie diff
porównuje zawartość dwóch plików tekstowych, wskazując różnice między nimi.
Najważniejsze opcje:
diff plik1 plik2
– porównuje dwa pliki i wyświetla różnice.diff -c plik1 plik2
– wyświetla wynik w formacie kontekstowym.diff -r katalog1 katalog2
– porównuje dwa katalogi (zawartość plików i podkatalogów).
Przykłady:
- Porównanie plików
plik1.txt
iplik2.txt
:
diff plik1.txt plik2.txt
- Porównanie zawartości katalogów
katalog1
ikatalog2
:
diff -r katalog1 katalog2
3. Polecenie grep
Polecenie grep
służy do wyszukiwania wzorców w plikach lub tekstach. Umożliwia korzystanie z wyrażeń regularnych, co czyni je potężnym narzędziem w analizie danych.
Najważniejsze opcje:
grep [wzorzec] [plik]
– wyszukuje podany wzorzec w pliku.grep -i [wzorzec] [plik]
– ignoruje wielkość liter.grep -v [wzorzec] [plik]
– wyświetla linie, które nie zawierają wzorca.grep -r [wzorzec] [katalog]
– wyszukuje wzorzec w katalogu i jego podkatalogach.
Przykłady:
- Wyszukiwanie słowa "Linux" w pliku
notatki.txt
:
grep Linux notatki.txt
- Wyszukiwanie słowa "Linux" bez względu na wielkość liter:
grep -i Linux notatki.txt
Ćwiczenia z dodatkowymi instrukcjami
Ćwiczenia do polecenia cat
:
-
Zadanie 1:
(a) Utwórz dwa pliki tekstowe o nazwachplik1.txt
iplik2.txt
za pomocą poleceniacat
. Wpisz w nich kilka dowolnych linii tekstu.
(b) Wyświetl zawartość obu plików, a następnie połącz je w jeden plik o nazwiepolaczony.txt
.
(c) Wyświetl zawartość plikupolaczony.txt
. -
Zadanie 2:
(a) Utwórz nowy plik o nazwienowy.txt
, wpisując w nim kilka linijek tekstu za pomocą poleceniacat >
.
(b) Dodaj do tego pliku nowe linie za pomocącat >>
.
(c) Wyświetl ostateczną zawartość plikunowy.txt
.
Ćwiczenia do polecenia diff
:
-
Zadanie 3:
(a) Utwórz dwa pliki tekstowe o nazwachplik1.txt
iplik2.txt
. Wprowadź w nich podobną treść, ale różniącą się w kilku miejscach.
(b) Porównaj oba pliki za pomocą poleceniadiff
i wyświetl wynik w formacie kontekstowym. -
Zadanie 4:
(a) Utwórz dwa katalogi o nazwachkatalog1
ikatalog2
. W każdym z nich utwórz kilka plików tekstowych o różnych nazwach i zawartości.
(b) Porównaj zawartość obu katalogów za pomocą poleceniadiff -r
.
Ćwiczenia do polecenia grep
:
-
Zadanie 5:
(a) Utwórz plik tekstowy o nazwiedziennik.log
zawierający kilka linijek tekstu, z czego niektóre powinny zawierać słowo "błąd".
(b) Użyj poleceniagrep
, aby wyszukać wszystkie linie w tym pliku zawierające słowo "błąd". Wyświetl je wraz z numerami wierszy. -
Zadanie 6:
(a) Utwórz katalogdane/
i w nim kilka plików tekstowych o różnych nazwach i zawartości. Niektóre pliki powinny zawierać słowo "Linux".
(b) Przeszukaj katalogdane/
oraz wszystkie jego podkatalogi w poszukiwaniu słowa "Linux" za pomocą poleceniagrep -r
.