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
- Za pomoc
ą
polecenia cat i strumieni mo
ż
emy utworzy
ć
nowy plik i od razu
linia tekstu
wypełni
ć
do danymi. Koniec wpisywania danych nast
ę
puje po wci
ś
ni
ę
ciu
druga linia tekstu
Ctrl+D.
^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.