0 Obsługa systemu LINUX (cz. 1)
Tomasz Zaworski edited this page 2020-11-15 02:28:24 +01:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

  1. Logowanie
  2. System zdalny
  3. Lokalny Linuxa
  4. Po zalogowaniu
  5. Pomoc systemowa
  6. Obsługa
  7. Wydawanie poleceń
  8. Obsługa terminala
  9. Podstawy
  10. Skróty przeznaczone do edycji polecenia
  11. Skróty okien
  12. Edytor vi
  13. Poruszanie się po tekście (tryb komend)
  14. Usuwanie fragmentów tekstu (tryb komend)
  15. Wyszukiwanie i zastępowanie
  16. Wyjście z vi (tryb komend)
  17. Zadania domowe

Systemy operacyjne Unix są systemami wielodostępnymi i wielozadaniowymi. Wielodostępność pozwala na jednoczesną pracę wielu użytkowników, a wielozadaniowość umożliwia uruchamianie w systemie wielu zadań jednocześnie. Wielodostępność wymaga stosowania mechanizmów, które pozwalają na bezpieczną i jednoczesną prace różnym użytkownikom. Podstawowym rozwiązaniem w tym zakresie jest autoryzacja, która jest realizowana w oparciu o nazwy użytkowników i ich hasła.

W laboratoriach dostępne są na komputerach instalacje Linux oraz serwer Linux lts.wmi.amu.edu.pl.

Logowanie

System zdalny

Z poziomu Windows by zalogować się do systemu zdalnego (np. lts.wmi.amu.edu.pl) należy użyć programu ssh (ang. secure shell). Można użyć programu putty, który jest już zainstalowany na wydziałowych komputerach.

Zadanie 1

Uruchom system Windows.

Uwaga: twój wydziałowy login to sXXXXXX, gdzie XXXXXX to numer albumu (umieszczony na legitymacji studenckiej); jeśli nie logowałeś się wcześniej w systemie Windows, to hasłem jest twój PESEL; następnie system wymusi zmianę hasła.

Zadanie 2

Zaloguj się do serwera lts.wmi.amu.edu.pl (używajac programu putty).

Lokalny Linux

Przy starcie systemu należy wybrać system Linux. Po starcie sytemu pojawi się środowisko graficzne. Na razie nie będziemy z niego korzystać.

By uruchomić jeden z terminali wirtualnych, możemy użyć kombinacji klawiszy Alt+F1, Alt+F2 itd. lub Ctrl+Alt+F1, Ctrl+Alt-F2, itd. Aby wrócić do środowiska graficznego używamy kombinacji Alt+F7 lub Ctrl+Alt+F7. W środowisku graficznym można również uruchomić terminal. Służą do tego takie aplikacje jak termilal, xterm, uxterm, terminator (bardziej zaawansowana nakładka) i inne.

Zadanie 3

Uruchom system Linux. Zaloguj się do lokalnego systemu używając terminala tekstowego (używając kombinacji klawiszy Ctrl+Alt+F1).

Zadanie 4

Zaloguj się do serwera lts.wmi.amu.edu.pl (używając polecenia ssh). Wyloguj się z serwera poleceniem exit.

Po zalogowaniu

Po zalogowaniu do systemu użytkownik ma możliwość zmiany własnego hasła; służy do tego polecenie:

passwd

Po jego wydaniu należy wprowadzić dotychczasowe hasło, a następnie nowe hasło, które trzeba także powtórzyć, aby system mógł zweryfikować czy nie popełniono błędu przy jego wprowadzaniu (np. "literówki"). W trakcie wpisywania hasła na monitorze nie są wyświetlane żadne znaki.

Zadanie 5

Zmień własne hasło.


System identyfikuje użytkowników na podstawie specjalnych identyfikatorów numerycznych (takie numery są łatwiejsze do przetwarzania), tj. nazywanych id. Każdy użytkownik systemu operacyjnego może także sprawdzić jaki identyfikator numeryczny id został mu przydzielony; należy wówczas zastosować polecenie:

id

którego wynik może być następujący:

uid=1500(adam) gid=100(students) groups=100(students)

gdzie:

  • uid (ang. user identifier) oznacza identyfikator użytkownika, w nawiasie znajduje się jego nazwa,
  • gid (ang. group identifier) oznacza identyfikator grupy, w nawiasie znajduje się jej nazwa.
Zadanie 6

Sprawdź własny identyfikator oraz grupy, do których należysz.


Wielodostępność oznacza także, że każdy użytkownik może zalogować się do systemu wielokrotnie, korzystając np. z terminali wirtualnych dostępnych za pomocą klawiszy Alt+F1, Alt+F2, itd., lub Ctrl+Alt+F1, Ctrl+Alt+F2, itd.

Możliwe jest także pozyskanie informacji o wszystkich zalogowanych aktualnie w systemie użytkownikach. Aby tego dokonać należy wydać jedno z poleceń:

  • who wyświetla listę zalogowanych użytkowników (podobnie polecenie finger),
  • last wyświetla datę i czas ostatniego logowania użytkowników,
  • whoami wyświetla nazwę aktualnie zalogowanego użytkownika,

Wylogowanie się z systemu jest możliwe po wydaniu polecenia:

exit

Warto także zaznaczyć, że systemach UNIX rozróżniane są wielkie i małe litery dotyczy to zarówno logowania do systemu jaki i wydawania poleceń w systemie oraz nazw plików i katalogów.

Zadanie 7

Sprawdź kto jest zalogowany w chwili obecnej na serwerze lts.wmi.amu.edu.pl.

Pomoc systemowa

W systemach Unix dostępna jest pomoc systemowa w postaci dokumentów tekstowych opisujących różne aspekty systemu i jego narzędzia. Dostęp do dokumentacji możliwy jest dzięki przeglądarce interaktywnej, którą uruchamia się poleceniem:

man nazwa_polecenia

gdzie nazwa_polecenia to nazwa programu lub usługi, dla której chce się uzyskać pomoc, np.:

man passwd

pozwala na uzyskanie pomocy dla polecenia passwd. Istnieją także strony pomocy dla samej pomocy systemowej; można uzyskać do nich dostęp poleceniem:

man man

Strony dokumentacji podzielone są na sekcje, które separują informacje zawarte w pomocy. Oto lista najpopularniejszych sekcji:

  • NAME nazwa oraz krótki komentarz lub wyjaśnienie;
  • SYNOPSIS sposoby uruchamiania programu lub polecenia wraz z listą możliwych przełączników;
  • DESCRIPTION pełen opis programu oraz szczegółowy opis możliwych do zastosowania przełączników;
  • CONFIGURATION opis konfiguracji usługi lub programu;
  • FILES opis plików konfiguracyjnych;
  • SEE ALSO wskazówki dotyczące podobnych lub powiązanych poleceń.

Całość dokumentacji podzielona jest na rozłączne rozdziały, które zawierają opisy poleceń i programów określonego typu. Podział na rozdziały może się różnić w zależności od implementacji systemu, jednak najczęściej podział wygląda następująco:

  • rozdział nr 1 polecenia użytkownika;
  • rozdział nr 2 wywołania systemowe;
  • rozdział nr 3 funkcje biblioteczne;
  • rozdział nr 4 pliki specjalne;
  • rozdział nr 5 formaty plików;
  • rozdział nr 6 gry;
  • rozdział nr 7 konwersje i rozmaitości;
  • rozdział nr 8 administracja i polecenia administratora;
  • rozdział L funkcje bibliotek matematycznych;
  • rozdział N funkcje tcl.

Strony pomocy są oznaczane za pomocą hasła i numeru rozdziału, np.:

passwd(1)

oznacza, że dla polecenia użytkownika passwd pomoc systemowa znajduje się w rozdziale nr 1. Przywołanie pomocy ze wskazaniem rozdziału wygląda następująco:

man 1 passwd

Takie polecenie wyświetli pomoc systemową dla polecenia passwd z rozdziału nr 1.

Zadanie 8

Zapoznaj się z opisem polecenia ls, korzystając z pomocy systemowej.

Zadanie 9

Zapoznaj się z opisem struktury katalogów poprzez polecenie man 7 hier.

Obsługa

Pomoc systemowa wyświetlana jest za pomocą przeglądarki more, którą obsługuje się za pomocą następujących poleceń klawiszowych:

  • spacja przejście do następnej strony;
  • Ctrl+B przejście do poprzedniej strony;
  • q zamknięcie i opuszczenie przeglądarki;
  • / wyszukiwanie tekstu w przód, po znaku / należy wpisać tekst do wyszukania;
  • ? wyszukiwanie w tył;
  • n, N przejście do następnego (n) / poprzedniego (N) wystąpienia poszukiwanego wyrażenia.

Wyszukiwanie stron pomocy systemowej jest możliwe dzięki programom apropos oraz whatis, które wyszukują podanych słów w pomocy systemowej, np.:

apropos passwd
whatis passwd

Wydawanie poleceń

Polecenia w systemach Unix wydaje się wpisując nazwę polecenia oraz wybierając klawisz Enter. Polecenia mogą przyjmować argumenty oraz przełączniki, zgodnie ze wzorcem:

polecenie [przełączniki] [argumenty]

Oto przykład:

ls -al /etc

W tym przypadku polecenie ls zostało uruchomione z argumentem /etc oraz z przełącznikami al. Wydanie polecenia ls bez argumentu spowoduje wyświetlenie zawartości aktualnego katalogu; podanie natomiast jako argumentu nazwy katalogu, spowoduje wyświetlenie zawartości tego, wskazanego katalogu (w przykładzie jest to katalog /etc). Dalej, domyślne działanie polecenia można modyfikować stosując przełączniki, które są przeważnie jednoznakowymi skrótami, zawsze występującymi po znaku -. W przykładzie zastosowano dwa przełączniki a i l. Opis możliwych do zastosowania argumentów i przełączników można odnaleźć w pomocy systemowej dla właściwego polecenia. Przełączniki, jak widać, można łączyć; kolejny przykład przedstawia jak można wydawać polecenie z przełącznikami:

ls -a -l /etc
ls -l -a /etc
ls -al /etc
ls -la /etc
Zadanie 10

Wyświetl nazwy plików i katalogów znajdujących się w katalogu domowym korzystając z polecenia ls.

Obsługa terminala

Podstawy

  • Tab automatyczne dokończenie nazwy zaczętego polecenia
  • Tab wciśnięte dwa razy w przypadku gdy powłoka nie jest w stanie dokończyć zaczętego polecenia powtórne wciśnięcie klawisza Tab spowoduje wyświetlenie podpowiedzi z listą dostępnych komend zaczynających się od wpisanej wartości.
  • strzałki góra / dół Poruszanie się po historii poleceń, które wcześniej były już wpisywane w konsole,
  • Ctrl+P / Ctrl+N tak samo jak w przypadku strzałek poruszanie się po historii poleceń, które wcześniej były już wpisywane w konsole,
  • Ctrl+R wyszukuje w historii poleceń wcześniej już wykonanych, po wciśnięciu skrótu wpisujemy początkowy jakiejś komendy i otrzymujemy podpowiedź
  • Ctrl+G wychodzi z wyszukiwania historii poleceń
  • Alt+. wkleja ostatnie słowo z poprzedniego polecenia
  • Ctrl+C przerwanie/zabicie działania programu
  • Ctrl+Z zatrzymanie działania programu
  • Ctrl+S zatrzymanie transferu do terminala
  • Ctrl+Q kontynuowanie transferu do terminala (jeśli wcześniej użyto Ctrl+S)
  • Ctrl+L wyczyszczenie ekranu (działa jak polecenie clear)
  • !! wykonaj ostatnie polecenie
  • !wpis wykonaj najczęściej wykonywane polecenie zaczynające się od wpis
  • !wpis:p to samo co wyżej, tylko bez wykonywania (wyświetlenie pełnej nazwy komendy)

Skróty przeznaczone do edycji polecenia

  • Ctrl+A przesuwa kursor na początek linii
  • Ctrl+E przesuwa kursor na koniec linii
  • Ctrl+K usuwa wszystko od kursora do końca linii
  • Ctrl+U usuwa wszystko od kursora do początku linii
  • Ctrl+W usuwa słowo przed kursorem
  • Ctrl+Y wkleja poprzednio wymazany fragment poprzez Ctl-U oraz Ctl-K,W
  • Ctrl+D usuwa literę przed kursorem (lub słowo również Alt+Backspace)
  • Alt+B cofa kursor o słowo do tyłu
  • Alt+F przenosi kursor o słowo do przodu
  • Alt+T zmienia kolejność wpisywanych słów
  • Alt+C Zamienia pierwszą literę w wyrazie na Wielką, a kolejne na małe.
  • Alt+L Zamienia wszystkie znaki w wyrazie na prawo od kursora na małe litery
  • Alt+U Zamienia wszystkie znaki w wyrazie na prawo od kursora na Wielkie litery

Skróty okien

  • Ctrl+Alt+F1 Przełącza na pierwszy terminal.
  • Ctrl+Alt+FN (N=1..6) Przełącza na następne terminale.
  • tty wyświetla nazwę bieżącego terminalu.
  • Ctrl+Alt+F7 Przełącza na pierwszy terminal graficzny (jest na tym terminalu uruchomiony jest X-window).
  • Ctrl+Alt+FN (n=7..12) Przełącza na następny terminal graficzny (jeśli terminal GUI jest uruchomiony na ekranie n-1).
  • Shift+PgUp przewija dane wyjściowe z terminala w górę.
  • Shift+PgDown przewija dane wyjściowe z terminala w dół.
  • Ctrl+Alt+Esc zabija okno w które klikniesz myszką
  • Ctrl+Alt+Backspace zabija środowisko graficzne lub je restartuje. Warto skorzystać z tej kombinacji, kiedy wszystko inne przestało działać.

Edytor vi

W edytorze vi mamy dwa tryby pracy:

  • tryb komend,
  • tryb edycji.

Po uruchomieniu edytora vi jesteśmy w trybie komend, w którym możemy wydawać polecenia dla edytora. Przejście z trybu komend do trybu edycji następuje przez naciśnięcie jednego z poniższych klawiszy:

  • a (ang. append),
  • i (ang. insert),
  • c,
  • o,
  • O.

W trybie edycji mamy możliwość dopisywania tekstu. Przejście z trybu edycji do trybu komend następuje przez naciśnięcie klawisza Esc.

Poruszanie się po tekście (tryb komend)

  • l lub spacja przejście do następnego znaku,
  • h przejście do poprzedniego znaku,
  • j przejście o jeden znak w dół,
  • k przejście o jeden znak w górę,
  • 0 przejście na początek bieżącej linii,
  • $ przejście na koniec bieżącej linii,
  • - (minus) przejście na początek poprzedniej linii,
  • + lub Enter przejście na początek następnej linii,
  • G przejście do ostatniej linii,
  • 1G przejście do pierwszej linii,
  • nG przejście do linii o numerze n.

Usuwanie fragmentów tekstu (tryb komend)

  • x usunięcie znaku, na którym stoi kursor
  • X usunięcie znaku poprzedzającego kursor,
  • r zastąpienie znaku, na którym znajduje się kursor,
  • dd usunięcie bieżącej linii,
  • d$ usunięcie znaków od bieżącego położenia kursora aż do końca bieżącej linii włącznie,
  • dnd lub dn+ usunięcie kolejnych n linii począwszy do bieżącej w kierunku końca pliku,
  • dn- usunięcie kolejnych n linii począwszy do bieżącej w kierunku początku pliku,
  • dG usunięcie wszystkich linii od bieżącej do końca pliku,
  • dn usunięcie bieżącego znaku i n-1 następnych,
  • dnh usunięcie bieżącego znaku i n-1 poprzednich.

Usunięty fragment umieszczany jest w buforze i można go wstawić w następnej linii komendą p lub w miejscu położenia kursora komendą P. Odpowiedni fragment można też skopiować do bufora (bez usuwania go z dotychczasowego miejsca) w analogicznych sposób jak się go usuwało, przy czym zamiast litery d w wymienionych komendach należy użyć litery y.

  • J usunięcie znaku końca bieżącej linii (połączenie linii bieżącej i następnej)

Wyszukiwanie i zastępowanie

  • /wzorzec szukanie wzorca w kierunku końca pliku,
  • ?wzorzec szukanie wzorca w kierunku początku pliku,
  • n lub / szukanie następnego wystąpienia,
  • :od,dos/stary/nowy/gc zastąpienie tekstu stary tekstem nowy z zakresie od od (numer linii, . (kropka) bieżąca linia, $ - koniec pliku) do do lub globalnie (%); g oznacza, że w zastępowanie ma być wykonane w całym podanym zakresie, a c oznacza konieczność potwierdzenia każdej operacji zastąpienia.

Wyjście z vi (tryb komend)

  • ZZ lub :x- wyjście z edytora z zapisaniem dokonanych zmian,
  • :w zapis zmian bez wychodzenia z edytora,
  • :q! wyjście z edytor bez zapisywania zmian.

Aby otworzyć istniejący plik, w trybie komend wprowadzamy :o nazwapliku.

Zadanie 11

Używając programu vi:

  • stwórz plik o nazwie moj_plik,
  • dodaj do niego 10 linijek tekstu,
  • zapisz plik,
  • przejdź do 3. linii,
  • usuń ją,
  • znajdź wszystkie wystąpienia danego słowa,
  • zastąp wszystkie wystąpienia danego słowa na inne,
  • zapisz i wyjdź z edytora.

Zadania domowe

Poćwicz pracę z terminalem oraz edytorem vi, również łącząc się z poza uczelni.

Sprawna praca z tymi narzędziami będzie niezbędna na kolejnych zajęciach.