background image

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_poleceniapinfo 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. 

background image

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. 

background image

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 

 

background image

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 & 

 

background image

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.txta2.txta3.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