Ćwiczenie 3: Edycja i analiza tekstu

Przed przystąpieniem do zadania wyczyść historię poleceń w terminalu za pomocą polecenia
history -c

ETAP 1: ARCHITEKTURA I TWORZENIE PLIKÓW "W LOCIE" (echo, >, >>)

Jako administrator musisz przygotować pliki powitalne dla użytkowników logujących się na serwer (tzw. MOTD - Message of the Day).

W Ćwiczeniu 2 tworzyłeś puste pliki za pomocą polecenia touch. W codziennej pracy administrator musi jednak tworzyć pliki od razu ze wstępną zawartością konfiguracyjną bez uruchamiania ciężkich edytorów. Wykorzystaj wiedzę o strumieniach wyjściowych, aby zrealizować to zadanie w locie.

  1. W swoim katalogu domowym utwórz dwupoziomową strukturę folderów: Serwer/Konfiguracja.
    • Warunek bezwzględny: Wykorzystaj polecenie do tworzenia katalogów z poznaną w Ćwiczeniu 2 flagą tworzenia katalogów nadrzędnych (-p).
  2. Wejdź do katalogu Serwer/Konfiguracja i potwierdź swoją bieżącą lokalizację poleceniem pwd.
  3. Utwórz plik komunikatu powitalnego motd.txt zawierający tekst: === SERWER PRODUKCYJNY TECHNET ===.
    • Warunek konieczny: Użyj polecenia echo oraz pojedynczego operatora przekierowania (>).
    • Wskazówka: Zwróć uwagę, że plik powstaje natychmiast, a w odróżnieniu od polecenia touch, od razu posiada rozmiar większy niż 0 bajtów.
  4. Dopisz do pliku motd.txt drugą linię: Dostep wylacznie dla uprawnionych pracownikow!.
    • Warunek bezwzględny: Użyj operatora dopisywania na końcu pliku (>>). Pierwsza linia nie może zostać skasowana ani nadpisana!
  5. Dopisz do pliku motd.txt trzecią linię: Wszelkie sesje terminala podlegaja rejestracji..
  6. Wykonaj kopię zapasową pliku motd.txt do folderu nadrzędnego Serwer pod nazwą motd_backup.txt.
    • Zastosuj poznane w Ćwiczeniu 1 i 2 polecenie cp wraz ze ścieżką względną wykorzystującą operator dwóch kropek (..).

ETAP 2: INSPEKCJA I ŁĄCZENIE PLIKÓW (cat)

Czas zweryfikować wprowadzone wpisy oraz scalić fragmenty dokumentacji w jeden spójny komunikat dla logujących się użytkowników.

  1. Wyświetl całą zawartość pliku motd.txt w terminalu za pomocą polecenia cat.
  2. Utwórz za pomocą echo > kolejny plik o nazwie kontakt.txt zawierający tekst: Pomoc techniczna: [email protected].
  3. Łączenie plików (konkatenacja):
    • Użyj jednego polecenia cat oraz operatora przekierowania strumienia, aby połączyć zawartość pliku motd.txt oraz pliku kontakt.txt w nowy plik o nazwie komunikat_pelny.txt.
    • Wskazówka: Pamiętaj, że cat potrafi przyjąć kilka plików jako argumenty po spacji (cat plik1 plik2 > wynik).
  4. Wyświetl szczegółową listę plików w katalogu za pomocą poznanego w Ćwiczeniu 1 polecenia ls -lh (długi format + czytelne rozmiary jednostek).
    • Zaobserwuj, w jaki sposób rozmiar pliku komunikat_pelny.txt odzwierciedla sumaryczną wagę połączonych plików.

ETAP 3: ANALIZA SYSTEMU I CZYTANIE LOGÓW (more ORAZ less)

W Ćwiczeniu 1 badałeś strukturę katalogów /etc oraz /var/log. Teraz zajrzysz do wnętrza znajdujących się tam plików systemowych. Pliki te liczą setki wierszy, dlatego użycie cat byłoby błędem - tekst błyskawicznie przewinąłby ekran.

  1. Test starszego narzędzia more:
    • Otwórz plik ze spisem znanych portów /etc/services za pomocą narzędzia more (użyj ścieżki bezwzględnej od korzenia systemu /).
    • Przewiń widok w dół o jeden ekran za pomocą klawisza [Spacja].
    • Spróbuj cofnąć się w górę tekstu (strzałkami ). Zauważ ograniczenie programu more - nie pozwala na swobodne cofanie się w pliku o jedną linijkę.
    • Opuść podgląd klawiszem [q] (dokładnie tak samo, jak wychodziłeś z podręcznika man w Ćwiczeniu 1).
  2. Praca z nowoczesnym pagerem less:
    • Otwórz plik /etc/services za pomocą narzędzia less.
    • Użyj strzałek [↑] oraz [↓] do płynnego przesuwania tekstu linia po linii.
    • Przeskocz o cały ekran w dół za pomocą [Page Down] (lub spacji) i wróć w górę klawiszem [Page Up].
    • Wyszukiwanie w pliku: Wpisz znak /, a następnie słowo https i zatwierdź klawiszem [Enter]. Program natychmiast odnajdzie i podświetli wpis usługi.
    • Wciśnij klawisz [n], aby przejść do kolejnego wystąpienia wyszukiwanego hasła.
    • Zakończ przeglądanie pliku i powróć do wiersza poleceń klawiszem [q].

ETAP 4: PRACA W EDYTORZE KONSOLOWYM (nano)

Ostatnim etapem wdrożenia jest przygotowanie sformalizowanego raportu technicznego z dyżuru. Administratorzy systemów bez środowiska graficznego wykonują takie zadania bezpośrednio w konsoli.

  1. Uruchom edytor nano, od razu otwierając plik o nazwie notatka_admina.txt.
  2. Wpisz w oknie edytora dokładnie poniższy tekst (4 linie):
    Raport z wdrozenia serwera TechNet
    Wszystkie uslugi sieciowe dzialaja poprawnie
    BLAD_SYSTEMU: Ta linia wpisana zostala pomylkowo
    Podpisano: Junior SysAdmin
  3. Praca ze skrótami klawiszowymi w nano:
    • Ustaw kursor na trzeciej linii (zaczynającej się od słowa BLAD_SYSTEMU).
    • Warunek bezwzględny: Nie używaj klawisza Backspace ani Delete! Wytnij całą tę linię jednym ruchem za pomocą skrótu Ctrl + K.
    • Przetestuj wyszukiwarkę wewnątrz edytora: naciśnij Ctrl + W, wpisz słowo poprawnie i zatwierdź klawiszem [Enter]. Kursor powinien natychmiast przeskoczyć do szukanego słowa.
  4. Zapis i wyjście:
    • Wywołaj zapis zmian skrótem Ctrl + O.
    • Uwaga: Zwróć uwagę na dolny pasek - potwierdź nazwę pliku, naciskając klawisz [Enter].
    • Opuść edytor skrótem Ctrl + X.
    • Sprawdź poleceniem cat notatka_admina.txt, czy plik został poprawnie zapisany i zawiera dokładnie 3 linie (bez usuniętej linii błędu).

ETAP 5: PORZĄDKOWANIE I GENEROWANIE RAPORTU

Zgodnie z procedurami z poprzednich ćwiczeń uporządkuj środowisko pracy i wygeneruj plik zdawczy z audytem wykonanych operacji.

  1. Przenieś plik notatka_admina.txt do katalogu nadrzędnego Serwer za pomocą polecenia mv oraz ścieżki względnej ...
  2. Wróć bezpośrednio do swojego katalogu domowego (użyj samego polecenia cd lub symbolu tyldy cd ~).
  3. Upewnij się poleceniem pwd, że znajdujesz się w /home/twoja_nazwa.
  4. Wpisz poniższe polecenie, zastępując dane swoimi:
    history > cw3_Nazwisko_Imie_klasaGrupa.txt
    # np. history > cw3_Jarecki_Szymon_2F1.txt
  5. Sprawdź poleceniem ls -l, czy plik o tej nazwie powstał w katalogu domowym i ma rozmiar większy niż 0 bajtów.
  6. Plik prześlij na serwer FTP ftp://172.28.29.50 do katalogu "Zadania" (login: uczen, hasło: uczen). Plik może być wysłany również z poziomu systemu Ubuntu. Upewnij się, że jesteś podłączony do sieci Wi-Fi.
  7. Wyłącz maszynę wirtualną bez tworzenia migawki.