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.