Podstawy obsługi systemów UNIX/Linux

Transkrypt

Podstawy obsługi systemów UNIX/Linux
Podstawy Informatyki (semestr I)
laboratorium 2
Podstawy obsługi systemów UNIX/Linux
WaŜne cechy charakterystyczne
1. Unix/Linux rozróŜnia wielkie i małe litery.
2. ‘.’ oznacza katalog bieŜący,
’..’ oznacza katalog nadrzędny,
’/’ oznacza katalog główny, „cd /” przejście do katalogu głównego
’~’ oznacza katalog domowy, cd ~
’~/praca’ oznacza plik ‘praca’ w domowym katalogu zalogowanego uŜytkownika
’~user/praca’ oznacza plik ‘praca’ w domowym katalogu uŜytkownika ‘user’
’/home/std/praca’ ścieŜka bezwzględna
’std/praca’ ścieŜka względna
3. Opcje poleceń moŜna łączyć, zamiast ‘ls -l -a’ moŜna zapisać ‘ls -la’.
4. Nazwa pliku rozpoczynająca się od kropki (np. ‘.plik’) oznacza, Ŝe plik ten jest ukryty.
Uzyskiwanie pomocy
man nazwa_polecenia - Wyświetla szczegółowy opis (ang. manual) polecenia. Po wyświetlanej
stronie moŜna się przemieszczać za pomocą strzałek i klawiszy Enter, Space=PageDown,
PageUp. Wyjście z podręcznika następuje po naciśnięciu „q”.
info nazwa_polecenia, pinfo nazwa_polecenia – Są to polecenia alternatywne do man.
nazwa_polecenia -h lub --help – Jedną z opcji kaŜdego polecenia jest opcja --help, umoŜliwiająca
wyświetlanie pomocy kontekstowej.
whatis nazwa_polecenia – Polecenie dostarcza krótkiej informacji na temat polecenia, na podstawie
własnej bazy nazw poleceń. Whatis przeszukuje bazę uwzględniając nazwę polecenia, która
musi być identyczna z podanym tekstem.
apropos nazwa_polecenia – jak wyŜej z róŜnicą taką, Ŝe przeszukiwane są takŜe opisy poleceń.
Podstawowe polecenia
cd – Zmiana bieŜącego katalogu. Po zalogowaniu do systemu, katalogiem bieŜącym jest katalog
domowy uŜytkownika.
pwd – Wypisuje pełną nazwę bieŜącego katalogu.
ls – Wyświetla listę plików w katalogu, jak równieŜ informacje o pliku. „ls -l” powoduje wyświetlenie
szczegółowych informacji o plikach.
echo tekst – Wyświetlanie komunikatu na ekranie.
Tworzenie katalogów
mkdir nazwa_katalogu – Utworzenie katalogu.
Tworzenie plików
touch nazwa_pliku – Polecenie słuŜy do tworzenia pustego pliku (za pomocą tego polecenia moŜna
równieŜ zmienić datę istniejącego pliku – pod warunkiem posiadania odpowiednich uprawnień)
>nazwa_pliku – Tworzenie nowego pliku za pomocą przekierowania wyjścia (pusty strumień
przekierowujemy do pliku)
cat > nazwa_pliku
linia tekstu
druga linia tekstu
^D
- Za pomocą polecenia cat i strumieni moŜemy utworzyć nowy plik i od razu
wypełnić do danymi. Koniec wpisywania danych następuje po wciśnięciu
Ctrl+D.
Usuwanie
rm nazwa_pliku – Usunięcie pliku.
Podstawy Informatyki (semestr I)
laboratorium 2
rm -r katalog – Usunięcie katalogu i całej jego zawartości.
rmdir katalog – Usunięcie pustego katalogu.
Kopiowanie, przenoszenie
cp plik_zrodlowy plik_docelowy – Kopiowanie plików, np. „cp /home/guest/* . ” skopiuje wszystkie
pliki z katalogu domowego uŜytkownika guest do katalogu bieŜącego (.)
mv plik_zrodlowy plik_docelowy – Zmiana nazwy/przeniesienie plików, np.
„mv ~/doc/plik1 ~/doc/out.txt” zmieni nazwę pliku
„mv ~/doc/plik1 out.txt” nastąpi przeniesienie pliku (ze zmienioną nazwą) do katalogu bieŜącego
Wyświetlanie zawartości pliku
cat nazwa_pliku – Wyświetlanie pliku na ekranie (zalecane dla małych plików).
cat nazwa_pliku nazwa_pliku2 – Wyświetlenie dwóch plików na ekranie.
more nazwa_pliku – Wyświetlanie pliku z moŜliwością nawigacji za pomocą spacji (w dół) i ‘b’
(w górę). Wyjście następuje po wciśnięciu ‘q’ lub wyświetleniu całej zawartości.
less nazwa_pliku – Wyświetla plik i umoŜliwia nawigację za pomocą strzałek, nie kończy pracy po
osiągnięciu końca pliku.
head -n 5 nazwa_pliku - Wyświetla pierwsze linie pliku (tu: 5 pierwszych linii).
tail -n 3 nazwa_pliku – Wyświetla ostatnie linie pliku (tu: 3 ostatnie linie).
wc nazwa_pliku – Zlicza i wyświetla ilość linii, słów i bajtów w pliku (word count).
find – Wyszukiwanie plików po nazwie, po dacie utworzenia, itd.
cmp, diff – Porównywanie dwóch plików.
Znaki uogólniające
Aby jednym zapisem objąć więcej plików zastosowań naleŜy znaki specjalne. Do znaków specjalnych
zaliczyć moŜna *, ?, [, ]. Znaki te wykorzystywać moŜna w przypadku niektórych poleceń których
argumentami są nazwy katalogów lub plików, np. cp, rm.
*
- Gwiazdka zastępuje dowolny ciąg znaków (w tym ciąg pusty) z wyjątkiem
plików, których nazwa rozpoczyna się od kropki. „*”.
?
- Zastępuje dokładnie jeden znak w nazwie pliku, podobnie jak wyŜej nie
zastępuje kropki w roli pierwszego znaku w nazwie.
[A,B,C] lub [ABC] - W nazwie ma wystąpić któraś z wymienionych liter.
[a-z]
- Oznacza dowolną małą literę.
[a-zA-Z0-9]
- Oznacza jeden znak alfanumeryczny.
{kot,pies}
- W nazwie ma wystąpić któryś z podanych ciągów literowych.
Przykład:
[123]*{txt,doc} oznacza wszystkie pliki, których nazwa zaczyna się od cyfr 1, 2 lub 3 i kończy się na
txt lub doc.
Prawa dostępu
KaŜdy plik i katalog posiada 10 bitów protekcji (wyświetlane przy okazji poleceni ls-l), gdzie:
- Bit 1 umoŜliwia identyfikację rodzaju pliku („d” – katalog, „-” – plik, „l” – link do pliku, itd...),
- bity 2-4 opisują uprawnienia dla właściciela pliku,
- bity 5-7 opisują uprawnienia dla grupy do której naleŜy właściciel,
- bity 8-10 odpowiadają prawom dla wszystkich pozostałych uŜytkowników.
Prawo odczytu (r) – umoŜliwia odczytanie zawartości pliku (w przypadku katalogu z takim prawem
umoŜliwia odczytanie listy plików znajdujących się w tym katalogu).
Prawo zapisu (w) – pozwala na modyfikacje pliku. Dla katalogów oznacza moŜliwość tworzenia
nowych i usuwania istniejących plików w tym katalogu.
Podstawy Informatyki (semestr I)
laboratorium 2
Prawo wykonywania (x) – pozwala na uruchomienie pliku wykonywalnego, a w przypadku katalogu
oznacza prawo dostępu do plików wewnątrz katalogu.
Przykład:
-rwxrw----- Oznacza pełne prawa dla właściciela pliku, odczyt i zapis/modyfikację dla grupy
właściciela pliku, pozostali uŜytkownicy nie posiadają Ŝadnych praw do tego pliku.
Administrowanie uprawnieniami
Prawa dostępu moŜe modyfikować właściciel pliku lub administrator!
Polecenie chmod umoŜliwia zmianę praw dostępu do pliku bądź katalogu.
chmod podmiot operator prawa nazwa_pliku
(pola podmiot, operator i prawa nie powinny być rozdzielane spacją)
podmiot: ‘u’ właściciel pliku, ‘g’ grupa właściciela, ‘o’ pozostali uŜytkownicy, ‘a’ wszyscy
operator: ‘+’ dodanie praw, ‘-‘ odebranie praw, ‘=’ przypisanie praw
prawa: ‘r’, ’w’, ’x’
Przykłady:
chmod g+x plik – nadanie grupie prawa do wykonywania (bez zmiany innych praw)
chmod ug=rwx,o=x plik – nadanie grupie i właścicielowi praw rwx, a innym uŜytkownikom tylko x
Wszystkie prawa moŜna zapisać równieŜ w sposób numeryczny. KaŜde prawo na swoją wagę
liczbową. Sumując poszczególne wagi otrzyma się sumaryczne prawo dostępu. Wagi: r=4, w=2, x=1.
Prawa w postaci liczbowej podaje się jako liczbę trzycyfrową. Pierwsza oznacza prawa dla właściciela,
druga dla grupy, trzecia dla pozostałych. Zatem rwxrw---- moŜna zapisać jako 760. Wówczas nadanie
takich praw dla pliku moŜna wykonać wywołując polecenie chmod 760 plik .
chown – UmoŜliwia zmianę właściciela pliku.
chgrp – UmoŜliwia zmianę grupy, do której naleŜy plik.
Dowiązania
ln źródło nazwa – Utworzenie dowiązania o nazwie „nazwa” do pliku/katalogu „źródło”
Dowiązania dzielimy na twarde (hard link) i miękkie, zwane teŜ symbolicznymi (soft/symbolic).
Link twardy to nadanie innej nazwy istniejącemu plikowi. KaŜdy fizyczny plik posiada specjalne pole,
przechowujące ilość twardych linków do danego pliku. Aby usunąć plik naleŜy usunąć wszystkie
twarde dowiązania. Podczas operacji usuwania twardego linku system operacyjny najpierw sprawdza
wartość wspomnianego pola. Jeśli wartość ta większa jest od jedności, wówczas zmniejszana jest o 1
a z katalogu usuwany jest wpis linku twardego. Jeśli natomiast wartość ta równa jest jeden, wówczas
dopiero usuwany jest fizyczny plik na dysku oraz odpowiadający mu wpis w katalogu. Twarde linki
stosować moŜna wyłącznie w obrębie jednego systemu plików.
Link symboliczny jest specjalnym typem pliku, który "wskazuje" na inny - oryginalny plik poprzez jego
nazwę (podobny do skrótu i Windows’ach). W odróŜnieniu od linków twardych, link symboliczny nie
modyfikuje licznika dowiązań do pliku. Co więcej, link miękki moŜna utworzyć nie tylko do pliku, lecz
równieŜ do katalogu (co w przypadku linków twardych było niemoŜliwe) jak równieŜ do nieistniejącego
obiektu.
Link symboliczny tworzy się w sposób analogiczny do twardego, dodając do polecenia ln opcję -s:
ln -s źródło nazwa
Podstawy Informatyki (semestr I)
laboratorium 2
Uzyskiwanie informacji o uŜytkownikach
who – Wyświetla listę zalogowanych uŜytkowników.
last – Wyświetla datę i czas ostatniego logowania uŜytkowników.
w, finger – Pozostałe polecenia o podobnym działaniu.
Potokowanie strumienia danych
Zastosowanie znaku ‘|’ pozwala na łączenie wyjścia jednego polecenia z wejściem innego. Takie
rozwiązanie pozwala np. na wygenerowanie zestawu danych za pomocą pierwszego polecenia, a
następnie przetworzenie go przy uŜyciu kolejnego, np. ls –al | more –p
Przekierowanie strumienia danych do pliku
- Znak ‘<’ umoŜliwia pobranie z pliku danych i przetworzenia ich przez polecenie, np. more < plik
- Znak ‘>’ umoŜliwia przekierowanie strumienia danych do pliku; jeŜeli plik istnieje, to jego zawartość
zostaje usunięta.
- Znak ‘>>’ jak wyŜej, z róŜnicą, Ŝe jeśli plik istnieje dane są dopisywane na koniec.
Procesowi przypisane są trzy strumienie danych:
- standardowe wejście, domyślnie jest to klawiatura i powłoka identyfikuje je jako plik 0
- standardowe wyjście, domyślnie jest to ekran i powłoka identyfikuje je jako plik 1
- standardowe wyjście błędów, domyślnie jest to ekran i powłoka identyfikuje je jako plik 2.
ls -y 1>plik1.txt 2>plik2.txt do plik1.txt trafi rezultat polecenia, a do plik2.txt ewentualne błędy
Procesy
Unix/Linux jest wielozadaniowym systemem operacyjnym. Oznacza to, Ŝe korzystając z systemu
mamy wraŜenie, Ŝe wiele programów działa jednocześnie. Działający w danej chwili program
nazywany jest procesem. KaŜdemu procesowi przypisany jest jednoznaczny numer zwany
identyfikatorem procesu, lub PID. Proces moŜe być wykonywany jako pierwszoplanowy (wówczas
zajmuje on standardowe wejście i wyjście, czyli monitor i klawiaturę) lub jako proces tła (wówczas „nie
widać” jego działania a procesem pierwszoplanowym jest inny proces). Na ogół proces uruchamiany
jest z prawami uŜytkownika, który proces uruchomił. Rozpocząć wykonywanie procesu moŜemy na
przykład poprzez wydanie dowolnej komendy.
jobs – Wyświetla procesy uśpione i procesy uruchomione w tle.
ps – Wyświetla wszystkie procesy (łącznie z pierwszoplanowymi), w zaleŜności od uŜytych opcji
wyświetla róŜne informacje o procesach.
kill – SłuŜy do „zabijania” procesów. Jako zwykły uŜytkownik moŜna zabić tylko te procesy, które
samemu się uruchomiło (root moŜe zabić kaŜdy proces).
Ctrl+Z – Skrót słuŜy do uśpienia procesu pierwszoplanowego. System zawiesza jego wykonywanie
pozostawiając go w pamięci.
bg, fg – Polecenia słuŜą do wznawiania uśpionych procesów. fg wznawia wykonywanie jako procesu
pierwszoplanowego, bg jako procesu tła. Polecenie bez parametru odnosi się do procesu
oznaczonego przez ‘+’ (polecenie jobs). JeŜeli chcemy wznowić wykonywanie innego procesu,
jako parametr podajemy numer zadania poprzedzony znakiem ‘%’.
& - Umieszczenie tego znaku na końcu polecenia uruchamia proces od razu w tle. Np. ls –R &
Podstawy Informatyki (semestr I)
laboratorium 2
Zadania do wykonania
Zadanie 1
•
•
Zaloguj się do systemu i wyświetl bieŜącą datę, sprawdź moŜliwości formatowania daty i
czasu.
Wyświetl listę zalogowanych uŜytkowników i szczegółowe informacje o jednym z nich.
Zadanie 2
Utwórz w katalogu domowym katalog lab2, a w nim source i target. W katalogu source utworzyć
17 pustych plików: plik0 ... plik9 oraz abc ... ghi.
• Znaleźć (uŜywając jednokrotnego polecenia find) pliki plik3 ... plik8.
• Skopiować (jednym poleceniem) wszystkie pliki z katalogu source do katalogu target, w
których nazwie występuje jedna z liter ‘b’,’h’ lub ‘i’.
Zadanie 3
Utworzyć w katalogu lab2 dwa pliki p1.txt i p2.txt z dowolnym tekstem. Zmień prawa dostępu w ten
sposób, aby tylko właściciel miał prawo do zapisu i odczytu pliku p1.txt. Plik p2.txt powinien być
moŜliwy do odczytania przez wszystkich, natomiast właściciel powinien mieć takŜe prawo do zapisu
danych w pliku.
Zadanie 4
•
•
Utworzyć dowiązanie twarde do pliku p1.txt o nazwie d1.txt. Sprawdź zawartość obu plików
i ich rozmiar. Zmień zawartość pliku p1.txt (lub d1.txt) i ponownie wyświetl zawartość obu
plików (najlepiej jednym poleceniem). Usuń plik p1.txt i sprawdź co wskazuje teraz
dowiązanie d1.txt.
Utwórz dowiązanie symboliczne s2.txt do pliku p2.txt i postępuj analogicznie jak w punkcie
poprzednim.
ZADANIA DODATKOWE
Zadanie 5
•
•
•
•
•
•
Uruchom trzykrotnie polecenie cat w taki sposób, by umoŜliwiało tworzenie nowego pliku
(dla kolejnych wywołań mają to być pliki o nazwach a1.txt, a2.txt, a3.txt). Po kaŜdym
uruchomieniu polecenia uśpij je za pomocą odpowiedniej sekwencji.
Uruchomić polecenie ls bezpośrednio jako proces tła.
Wyświetlić wszystkie uśpione procesy tła (poleceniem jobs).
Przenieść jeden proces „cat” do postaci pierwszoplanowego i dokończyć tworzenie nowego
pliku a?.txt.
Wykorzystać polecenie PS do wyświetlenia procesów uruchomionych przez uŜytkownika.
Za pomocą polecenia kill zabić procesy „ls” i 2x „cat”.
Zadanie 6
Wylistować wszystkie pliki z wszystkich katalogów systemu. Lista plików powinna być zapisana do
pliku lista.txt, a ewentualne błędy do err.txt. Proces ten uruchomić bezpośrednio w tle i zaraz
potem wykonać kilkakrotnie polecenie jobs. Zaobserwować wynik polecenia jobs.

Podobne dokumenty