Podstawowe opracje na plikach i katalogach

Transkrypt

Podstawowe opracje na plikach i katalogach
Ćwiczenie 3. Podstawowe operacje na plikach i katalogach – ciąg dalszy.
Na dowolnej konsoli wirtualnej zaloguj się jako jacek1, katalogiem domowym tego
użytkownika jest /home/jacek1. Wszystkie ćwiczenia będziemy wykonywać w tym katalogu.
Ćwiczenie 3.1. Porównywanie plików (cmp)
Podczas robienia porządków na dysku zdarza się sytuacja, że spotykamy dwa pliki
o różnych nazwach ale identyczne co do zawartości. Stwierdzenie tego faktu pozwala na
usunięcie jednego z nich. Poleceniem służącym do tego celu jest cmp:
Skopiowaliśmy /etc/passwd pod nazwą plikcmp do naszego katalogu domowego
i następnie dokonaliśmy porównania /etc/passwd z plikcmp. Ponieważ pliki są identyczne,
nie otrzymaliśmy żadnego komunikatu o błędzie. Następnie pod nazwą plikcmp
skopiowaliśmy plik /etc/fstab i w wyniku kolejnego porównania otrzymaliśmy komunikat
o błędzie, czyli informację o tym, że pliki różnią się.
Polecenie cmp porównuje kolejno bajt po bajcie zawartości plików i zatrzymuje się
gdy, napotka pierwszą różnicę. W naszym przypadku nastąpiło to już w 1 znaku znajdującym
się w pierwszej linii.
Używając opcji –c otrzymujemy informacje, o jakie znaki ASCII chodzi (podawany jest
kod ASCII i odpowiadający wydruk znaku). Używając opcji –l powodujemy, że cmp nie
zatrzyma się przy pierwszej różnicy, lecz doprowadzi porównanie do końca, z wyświetleniem
wszystkich napotkanych różnic. Komunikat EOF oznacza napotkanie znaku końca pliku.
Poznane polecenie cmp służy do prostego porównywania plików, zwłaszcza
tekstowych.
Ćwiczenie 3.2. Wyszukiwanie plików (find)
Do wyszukiwania plików służy polecenie find. Prowadzi ono wyszukiwanie według
zadanych kryteriów od wskazanego katalogu, uwzględniając wszystkie podkatalogi.
Wówczas gdy wskazanym katalogiem jest root (/), wówczas przeszukiwany jest cały system
plików.
W powyższym zapisie tylda „~” oznacza katalog domowy użytkownika (punkt
rozpoczęcia poszukiwań), -name to opcja określająca wyszukiwanie według nazwy. Pliku
passwd nie znaleziono. Znaleziono natomiast jeden plik, którego nazwa zaczyna się na „p”.
Jeżeli nie podamy katalogu rozpoczęcia poszukiwań, find przyjmie domyślnie bieżący
katalog. Jeżeli korzystamy ze wzorca z użyciem znaków grupowych, musimy go zacytować,
czyli umieścić w cudzysłowie lub pomiędzy znakami apostrofu.
Następnie przejdźmy na inną konsolę wirtualną, zalogujmy się jako root i kontynuujmy
poszukiwania:
Przeszukaliśmy najpierw cały system plików (/), znajdując trzy pliki o nazwie passwd.
W kolejnym poleceniu zawęziliśmy poszukiwania do katalogu /etc, znajdując tylko dwa pliki.
Find może dać odpowiedź na bardziej skomplikowane pytania:
W wyniku wykonania powyższego polecenia zostanie przeszukany cały system plików
(/), a na ekran zostaną wyprowadzone ścieżki dostępu do tych plików, których właścicielem
jest jacek1 (-user jacek1). Lista nie mieści się na ekranie dlatego stosujemy more.
Każdy plik w Linuksie ma swojego właściciela. Domyślnie jest nim użytkownik, który
go utworzył. Prawo własności może zostać przeniesione na innego użytkownika.
Ćwiczenie 3.3. Łączenie plików (cat)
Używaliśmy już polecenia cat do oglądania zawartości pliku tekstowego, ale tak
naprawdę zostało ono stworzone do łączenia plików.
Przejdźmy z powrotem na konsolę użytkownika jacek1:
Pliki naszplik1 i naszplik2 są identyczne. Potwierdza to dodatkowo rezultat ich
porównania poleceniem cmp. Są one kopiami pliku /etc/passwd wykonanymi przez nas
na poprzednich ćwiczeniach. Plik powstały z połączenia mogliśmy obejrzeć na ekranie.
Wynika to z faktu, że polecenie cat przekazuje rezultat swojego działania na standardowe
wyjście (ekran). Aby opuścić more należy wcisnąć klawisz q.
Aby utworzyć na dysku plik będący połączeniem plików wyjściowych należy
skorzystać z operatora przełączającego standardowe wyjście do pliku:
Powstał plik suma, który jest sumą plików naszplik1 i naszplik2. Zwróćmy uwagę na
rezultat polecenia cmp. Ponieważ suma to podwojony plik naszplik1, zatem cmp prowadziło
porównanie do napotkania końca (EOF) krótszego pliku i zakończyło pracę nie znalazłszy
różnic.
Ćwiczenie 3.4. Oglądanie plików (more, less)
Do oglądania zawartości dużych plików tekstowych używa się najczęściej poleceń
more i less. Stosowane są one również do stronicowania elementów wyświetlanych na
ekranie uzyskiwanych z innych poleceń (np. ls). Polecenie less, jest funkcjonalnym
rozszerzeniem more.
Podstawowe operacje klawiszowe w obu poleceniach:

spacja, następny ekran (przewinięcie tekstu o stronę);

enter, następny wiersz (przewinięcie tekstu o jeden wiersz);

q, zakończenie pracy;

h, ekran pomocy z opisem komend wewnętrznych polecenia;

b, poprzedni ekran (przewinięcie tekstu o stronę wstecz);

d, pół ekranu do przodu (przewinięcie tekstu o pół strony).
Polecenie less umożliwia płynne przewijanie tekstu do przodu i wstecz za pomocą
klawiszy kursora (góra/dół) oraz wykorzystuje klawisze PageUP i PageDown.
W celu sprawdzenia poleceń more i less utwórzmy długi plik o nazwie suma.
Sprawdźmy działanie poszczególnych klawiszy realizujących operacje wyświetlania.