Systemy operacyjne i sieci komputerowe
16. Linux cz.3: polecenia systemowe, ćwiczenia
Polecenia terminala, manualia systemowe, uprawnienia, kompresja, archiwizacja, ukrywanie plików, sudo su, ps, kill, chmod, chown, tar, gzip, whoami, ls, mkdir, rmdir, cp, mv, rm, cd, pwd, find, touch, rename, cat, ln, dowiązania, 6 ćwiczeń w terminalu
Korzystanie z terminala
Po uruchomieniu terminala użytkownik uzyskuje tzw. znak zachęty (ang. shell prompt), np. $ lub #. Po zobaczeniu znaku zachęty można już zacząć wpisywać polecenia dla systemu.
Historia wykonanych poleceń zapisywana jest w katalogu domowym użytkownika w pliku .bash_history. Aby przywołać użyte ostatnio polecenia podczas korzystania z terminala, należy użyć klawiszy [strzałka w dół], [strzałka w górę]
Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]
Aby przerwać działanie polecenia, należy użyć kombinacji klawiszy [Ctrl]+[C]
Znaki globalne w Linuxie
Znaki globalne - podobnie jak w Windowsie w systemie Linux występują specjalne znaki zastępujące inne, przydatne np. podczas wyszukiwania plików
* reprezentuje jeden lub wiele znaków
? reprezentuje dokładnie jeden znak
[abcde] reprezentuje dokładnie jeden znak z wymienionych
[a-e] reprezentuje dokładnie jeden znak z przedziału
[!abcde]reprezentuje dowolny niewymieniony znak
[!a-e]reprezentuje znak nienależący do przedziału
{plik,file}reprezentuje dowolny z wymienionych ciągów
Przykłady użycia znaków globalnych:
* reprezentuje wszystkie pliki
*.bmp reprezentuje wszystkie pliki kończące się na .bmp
?[0-9][a-d] reprezentuje plik o trzyznakowej nazwie, gdzie pierwszy znak jest dowolny, drugi jest cyfrą, zaś trzeci literą z przedziału a-d
{nowy,new}*.txt reprezentuje wszystkie pliki zaczynające się od nowy lub new będące plikami txt
Podręcznik systemowy
Podręcznik systemowy (ang. manual) najczęściej instalowany wraz z systemem, zawiera opisy poszczególnych poleceń systemowych. Do przewijania tekstu używamy klawiszy: [strzałka w góre], [strzałka w dół] zaś opis opuszczamy naciskając klawisz [Q]. Nową, ulepszoną wersją podręcznika man jest info.
Dostępna jest także skrócona wersja pomocy po wpisaniu polecenia: -help
Aby wywołać podręcznik dla np. polecenia ls możemy użyć następującej składni:
man ls
info ls
ls -help
Logowanie się na roota
W dystrybucji Ubuntu 11.04 na konto roota logujemy się poleceniem sudo su
Jeżeli podamy właściwe hasło uzyskujemy dostęp do konta root:
Zwróć uwagę: Zmienił się znak zachęty - my staliśmy się superużytkownikiem, zaś nasz terminal stał się konsolą
Oznaczenia specjalne w ścieżkach dostępu
Poruszanie się między katalogami ułatwiają specjalne oznaczenia:
~ katalog domowy zalogowanego użytkownika
/ katalog główny
. katalog bieżący
.. katalog bezpośrednio nadrzędny
Symboli tych można używać bezpośrednio w ścieżkach dostępu, np.:
cd ~/Publiczny/folder
touch ~/Dokumenty/plik.txt
Przegląd podstawowych poleceń
Polecenia związane z wielodostępnością:
whoami (ang. kim jestem) podaje identyfikator konta, z którego aktualnie się korzysta
who (ang. kto) wyświetla listę aktualnie zalogowanych w systemie użytkowników
Polecenia związane z wielodostępnością:
su (od ang. switch user) pozwala zmienić użytkownika, to znaczy zalogować się na inne konto w systemie
Polecenia związane z wielozadaniowością:
ps (od ang. processes) wyświetla listę procesów w systemie
kill (ang. zabij) usuwa w bezpieczny sposób proces o podanym numerze PID („bezpieczny” oznacza tutaj zwolnienie całego obszaru pamięci zajmowanego przez proces oraz zamknięcie plików otwartych dla procesu)
Polecenia związane z zarządzaniem plikami i katalogami:
ls (od ang. list) wyświetla listing zawartości katalogu
mkdir (od ang. make directory) tworzy katalog
rmdir (od ang. remove directory) usuwa katalog, jeżeli jest pusty
cp (od ang. copy) kopiuje plik
mv (od ang. move) przenosi plik lub zmienia jego nazwę
rm (ang. remove) usuwa plik
cd (od ang. change directory) zmienia bieżący katalog roboczy
pwd (od ang. print working directory) wyświetla ścieżkę dostępu do bieżącego katalogu roboczego
find (ang. znajdź) wyszukuje pliki
touch (ang. dotknięcie — nazwa wzięła się od Unixa, gdzie polecenie to zmieniało datę ostatniej modyfikacji pliku na obecną) tworzy plik
rename (ang. zmień nazwę) zmienia nazwę wielu plików
cat (ang. to concatenate - łączyć) wyświetla zawartość pliku (np. tekstowego), może też połączyć dwa pliki w jeden
Dowiązania. Rodzaje dowiązań
Dowiązanie twarde (ang. hard link) umożliwia odwoływanie się do jednego zbioru danych za pomocą różnych nazw (referencji). Przypisuje podaną nazwę do i-węzła danego zbioru danych. Aby można było utworzyć referencję dany plik/folder musi istnieć na dysku
i-węzeł (ang. index-node) struktura danych, która pozwala systemowi Linux przechowywać informacje o plikach i katalogach. Każdy węzeł jest skojarzony z jednym zbiorem (np. plikiem lub folderem) i ma unikatowy numer, który pozwala na jego identyfikację
Dowiązanie symboliczne (ang. symbolic link) tworzy wskazanie na nazwę danego pliku, która to nazwa dopiero jest powiązana z i-node. Odpowiednikiem dowiązania symbolicznego w Windowsie jest skrót
Polecenia związane z tworzeniem dowiązań:
ln (od ang. link - połączenie) tworzy dowiązanie twarde
ln -s (od ang. symbolic link) tworzy dowiązanie symboliczne
Zbiory ukryte
Zbiór ukryty plik lub katalog domyślnie ukryty przed użytkownikiem. Jego nazwa rozpoczyna się wówczas od kropki. Aby wyświetlić zbiory ukryte w terminalu należy użyć polecenia ls -a. Aby wyświetlić zbiory ukryte w trybie graficznym należy użyć kombinacji [Ctrl] + [H]
Uprawnienia do plików i katalogów
Każdy plik i katalog w systemie Linux posiada 10 bitów protekcji. Aby zobaczyć w terminalu uprawnienia do pliku wystarczy użyć polecenia:
ls -l wyświetla listing zawartości katalogu podając na ekranie 10 bitów protekcji każdego zasobu
bit 1 - rodzaj zbioru: d (directory, czyli katalog), - (plik), l (link)
bit 234 - uprawnienia właściciela pliku: r (read), w (write), x (execute)
bit 567 - uprawnienia grupy, do której należy właściciel: r, w, x
bit 8910 - uprawnienia pozostałych użytkowników w systemie: r, w, x
Administrowanie uprawnieniami
chmod polecenie służące do administrowania uprawnieniami
Wykonanie poniższego polecenia:
spowoduje dodanie (+) prawa do zapisu w (write) do pliku plik.txt właścicielowi u (user), jego grupie g (group) oraz wszystkim pozostałym użytkownikom o (others).
Administrowanie uprawnieniami
Prawa dostępu mogą też być reprezentowane przez cyfry. Możliwe kombinacje:
--- 0 brak praw
--x 1 prawo do uruchomienia
-w- 2 prawo do zapisu
-wx 3 prawo do zapisu i uruchomienia
r-- 4 prawo do odczytu
r-x 5 prawo do odczytu i uruchomienia
rw- 6 prawo do odczytu i zapisu
rwx 7 prawo do odczytu, zapisu i uruchomienia
3-cyfrowa liczba oznacza wówczas kolejno uprawnienia: właściciela, grupy oraz pozostałych użytkowników:
Właściciele zbiorów
chown (ang. change owner) polecenie służące do zmiany właściciela zbioru
Składnia: chown użytkownik:grupa plik
Zwróć uwagę, iż:
- przenieść własność zbioru na innego użytkownika może tylko administrator zbioru
- zmiana właściciela zbioru może spowodować zmianę uprawnień do danego zbioru
Archiwizacja zbiorów
tar program służący do archiwizacji danych
Program tar tworzy nieskompresowane archiwum. W utworzonym archiwum może znajdować się wiele plików
i folderów.
Program tar tworzy archiwum rekurencyjnie (to znaczy wraz z podfolderami), umieszczając w nim wszystko, co znajdzie we wskazanym folderze (w tym pliki i foldery ukryte).
Składnia: tar opcje nazwa archiwum plik
Najczęściej używane opcje to:
c (create) - tworzenie archiwum
v (view) - podczas tworzenia archiwum wyświetlane będą nazwy zbiorów
f (file) - użycie wskazanego pliku jako archiwum
x - wyodrębnienie zbiorów z archiwum
Kompresja zbiorów
gzip (gunzip) program służący do kompresji (dekompresji) zasobów
Istnieje wiele programów wykonujących kompresje zbiorów w Linuksie. Najczęściej używanym jest program gzip.
Składnia: gzip nazwa_archiwum.tar
Skompresowany plik archiwum otrzyma nazwę nazwa_archiwum.tar.gz (czasami stosuje się zapis skrócony: tgz)
Kompresji możemy poddać pliki lub całe foldery wraz z podfolderami. Można użyć programu tar z opcją -z, co spowoduje utworzenie skompresowanego archiwum za pomocą tar
Ćwiczenie 1 - wielodostępność
- Sprawdź, jacy użytkownicy są w danym momencie zalogowani do systemu
- Otwórz terminal oraz konsolę
- Przy pomocy polecenia write napisz w konsoli wiadomość, która trafi na terminal
- Przy pomocy polecenia wall napisz w konsoli wiadomość, która trafi do wszystkich zalogowanych użytkowników
Ćwiczenie 2 - wielozadaniowość
- Sprawdź, jakie procesy są uruchomione w systemie
- Otwórz dwa terminale
- Zabij jeden z terminali poleceniem kill -9
- Zabij proces uruchomiony przez roota
Ćwiczenie 3 - tworzenie plików i katalogów
Utwórz w swoim katalogu domowym (korzystając tylko z terminalu) następującą strukturę katalogów:
tydzien
|- poniedzialek
|- wtorek
| |- plik1.txt
| |- plik2.txt
| |- plik3.txt
|- sroda
|- czwartek
|- piatek
| |- weekend.txt
|- sobota
|- niedziela
Ćwiczenie 4 - wyszukiwanie plików
Wyszukaj :
- Wszystkie pliki tekstowe w katalogu tydzien oraz głównym
- Zbiory, których jesteś właścicielem
- Pliki plik1 i plik2.txt w katalogu domowym
- Pliki haseł: passwd
Ćwiczenie 5 - ukrywanie plików
- Ukryj plik weekend.txt korzystając z terminala
Ćwiczenie 6 - edycja plików tekstowych
- Skorzystaj z edytora vi i przygotuj w nim plik z planem lekcji na wtorek
- Zapisz plan lekcji w katalogu wtorek pod nazwą plan.txt
Opr. Adam Nawara |