Uniwersytet w Białymstoku
Wydział Matematyki i Informatyki
Instytut Informatyki
Materiały bazowe do zajęć z przedmiotu:
Systemy operacyjne
Laboratorium nr 04
Temat:
Wyrażenia regularne. Pamięć i procesy
mgr Adam Bonda
Białystok 2008
Cel laboratorium: Zapoznanie się z narzędziami przetwarzającymi strumienie tekstowe obsługujące wyraŜenia regularne. Zarządzanie przestrzenią dyskową i procesami w systemie.
Substytucja tekstów:
Czyli zastępowanie znaczenia określonych zmiennych powłoki wprowadzanych w linii poleceń. Wiemy np. Ŝe metaznaki traktowane są w specjalny sposób przez powłokę.
Zanim powłoka wykona polecenie, interpretuje znaczenie poszczególnych parametrów i nazw, a dopiero później przekazuje je wywołanemu poleceniu.
JeŜeli zamierzeniem uŜytkownika nie jest wykonywanie substytucja parametrów lub nazw to uŜywa się symboli cytowania. Poszczególne cytowania mają jednak róŜne zastosowania.
\
– (backslash) – kasuje znaczenie znakowi występującemu po nim
'
– (apostrof) – blokuje znaki specjalne, aŜ do wystąpienia kolejnego apostrofu
"
– (cudzysłów) – blokuje specjalne znaczenie wszystkich znaków poza $ (który zarezerwowany jest dla określania zmiennych – substytucja zmiennych) ì (substytucja wyników poleceń)
`
– (akcent) – ciąg znaków otoczony akcentami jest traktowany jak komenda i jest wykonywany
WyraŜenia regularne:
c
– dopasowuje niespecjalny znak c.
\c
– dopasowuje dosłowny znak c.
.
– dopasowuje dowolny znak włącznie ze znakiem nowej linii.
^
– dopasowuje początek łańcucha.
$
– dopasowuje koniec łańcucha.
[abc...]
– lista znaków, dopasowuje dowolny ze znaków abc....
[^abc...] – zanegowana lista znaków, dopasowuje wszystkie znaki poza abc....
r1|r2
– alternatywa: dopasowuje albo r1 albo r2.
r1r2
– konkatenacja: dopasowuje r1, a następnie r2.
r+
– dopasowuje jeden lub więcej r-ów.
r*
– dopasowuje zero lub więcej r-ów.
r?
– dopasowuje zero lub jeden r.
(r)
– grupowanie: dopasowuje r.
r{n}
r{n,}
r{n,m}
– Jedna lub dwie liczby w nawiasach klamrowych opisują wyraŜenie
powtarzane. JeŜeli w nawiasach jest jedna liczba, to poprzedzające
wyraŜenie regularne r powtarzane jest n razy. JeŜeli uŜyto dwu rozdzielonych przecinkiem liczb, to r powtarzane jest od n do m razy. JeŜeli w nawiasach jest jedna liczba, z następującym po niej przecinkiem to r powtarzane jest co najmniej n razy. WyraŜenia powtarzane dostępne są tylko wtedy, gdy w
wierszu poleceń uŜyto albo opcji --posix albo --re-interval.
Sekwencje specjalne (podobnie jak w C):
\\
– dosłowny odwrotny ukośnik (backslash)
\a
– znak dzwonka, "alert"; zazwyczaj znak ASCII BEL
\b
– backspace
\f
– wysuw strony (form-feed)
– znak nowej linii (newline).
\r
– powrót karetki (carriage return).
\t
– tabulacja pozioma (horizontal tab).
\v
– tabulacja pionowa (vertical tab).
\xcyfry – hex
Znak reprezentowany przez łańcuch cyfr szesnastkowych występujących po \x. Tak jak w ANSI C, wszystkie kolejne cyfry szesnastkowe uwaŜane są za część sekwencji specjalnej.
Np., "\x1B" jest znakiem ASCII ESC (escape).
\ddd Znak reprezentowany przez 1-, 2- lub 3-cyfrową sekwencję cyfr ósemkowych. Np.,"\
033"jestznakiem ASCII ESC (escape).
\c Dosłowny znak c.
Sekwencji specjalnych moŜna teŜ uŜywać wewnątrz stałych wyraŜeń regularnych (np.,
/[ \t\f\n\r\v]/ dopasowuje białe znaki).
W trybie zgodności, znaki reprezentowane przez ósemkowe lub szesnastkowe sekwencje specjalne są traktowane dosłownie,jeśli uŜyto ich w stałych wyraŜeniach regularnych.
Zatem, /a\52b/ jest równowaŜnikiem /a\*b/.
Klasa znaków
Klasa znaków dozwolona jest wyłącznie w wyraŜeniu regularnym wewnątrz nawiasów klamrowych listy znaków. Klasy znaków składają się z [:, słowa kluczowego opisującego klasą, i kończącego :]. POSIX definiuje następujące klasy znaków:
[:alnum:] – Znaki alfanumeryczne.
[:alpha:] – Znaki alfabetu.
[:blank:] – Znaki spacji lub tabulatorów.
[:cntrl:] – Znaki sterujące.
[:digit:] – Znaki numeryczne (cyfry).
[:graph:] – Znaki, które są zarówno widoczne (przy wyświetlaniu) jak i drukowalne.
(Spacja jest drukowalna, ale nie jest widoczna, podczas gdy
a jest i takie, i takie.)
[:lower:] – Znaki małych liter alfabetu.
[:print:] – Znaki drukowalne (znaki, które nie są znakami sterującymi.)
[:punct:] – Znaki interpunkcyjne (nie będące literami, cyframi, znakami sterującymi ani znakami spacji).
[:space:] – Znaki spacji (takie jak zwykła spacja, tabulator, wysuw strony, by wymienić tylko kilka).
[:upper:] – Znaki duŜych liter alfabetu.
[:xdigit:] – Znaki będące cyframi szesnastkowymi.
Przykłady
$ tr a-z A-Z
$ tr [:lower:] [:upper:]
obie linijki zamieniają małe znaki na duŜe
$ tr -cd [:alnum:]
kasuje wszystkie znaki niealfanumeryczne
awk
Polecenie słuŜy do przetwarzania plików tekstowych
Awk przeszukuje i manipuluje dane tekstowe wiersz po wierszu zapisując określony wiersz i kolumnę w zmiennych. Jest uŜytecznym narzędziem, które moŜe między innymi posłuŜyć
do wyprowadzenia danego z pliku, bądź z przekierowanego wyjścia polecenia.
Opcje:
-F separator
– pozwala określić separator pól w wierszu
-f plik
– określa plik z którego zostanie wczytana wykonywana konstrukcja
-v zmienn=wartość – definiuje zmienna i przypisuje jej wartość dla programu awk
-mf N
– określa maksymalną liczbę analizowanych pól pliku danych
-mr N
– określa maksymalny rozmiar rekordu w pliku danych
-W słowo_kluczowe – określa tryb zgodności lub poziom ostrzeŜenia dla awk $ awk '{print "hello word"}'
$ cat przyklad1.txt
imię nazwisko wiek waga
Jaś Fasola 30 82
Benny Hill 60 95
$ cat przyklad.txt | awk '{print $2, $3}' lub awk '{print $2, $3}' < przyklad.txt
nazwisko wiek
Fasola 30
Hill 60
$0
- cały wiersz
$1
- pierwsza kolumna
...
$n
-n-ta kolumna
$ cat przyklad2.txt
imię;nazwisko;wiek;waga
Jaś;Fasola;30;82
Benny;Hill;60;95
awk -F";" '{print "zmodyfikowany: " $2, $1, $4}' < przyklad2.txt > wynik zmodyfikowany: nazwisko imię waga
zmodyfikowany: Fasola Jaś 82
zmodyfikowany: Hill Benny 95
$ awk '/home/' /etc/passwd
$ awk '/hom./' /etc/passwd
$ awk '/\/home/' /etc/passwd
$ awk ’{
> $2="zastąpił"
> print $0 }’
awk zastępuje wartość starą wartością nową
awk zastąpił wartość starą wartością nową
$ ls -l | awk '$3 == "student"'
listowane są katalogi spełniające warunek
$ cat a
a b c
d e f
$ cat a | awk '{print $1,$2,$3}'
$ echo " < table border=1> " > tab.html
$ cat a | awk '{print "<tr><td>"$1"</td>", "<td>"$2"</td>",/
"<td>"$2"</td></tr>"}>> tab.html $ echo "</table>">> tab.html
awk 'BEGIN{nagłówek} {właściwe przetwarzanie} END{zakończenie}'
$ cat a | awk 'BEGIN{print "<table border=1>"}{print
"<tr><td>"$1"</td>","<td>"$2"</td>","<td>"$3"</td></tr>"} END{print
"</table>"}' >tab.html
w pliku tab.html pojawi się tekst:
<table border=1>
<tr><td>a</td><td>b</td> <td>c</td></tr>
<tr><td>d</td> <td>e</td> <td>f</td></tr>
</table>
$ cat skladnia
{print "userid przypisany " $5 "'owi to " $1}
$ grep -v ,,, /etc/passwd | awk -F : -f skladnia
userid przypisany daemon'owi to daemon
userid przypisany bin'owi to bin
userid przypisany sys'owi to sys
...
...
...
http://gnu.univ.gda.pl/~tomasz/prog/awk/refcard/awkrefcard-pl.pdf
sed
edytor strumieniowy
ps
zgłasza status procesu
Opcje:
-e
– wypisuje informacje o wszystkich procesach w systemie
-f
– wyświetla pełną informację o procesach (przykład 3);
-l
– wyświetla długą informację o procesach (przykład 4)
-t
– wypisuje informacje o procesach skojarzonych z określonym terminalem
-p
– wypisuje informacje o procesach z podanym numerem PID
-u
– wypisuje tylko procesy z podanym numerem UID lub nazwą uŜytkownika.
$ps # zwraca listę procesów bieŜącego uŜytkownika i terminala w skróconej formie $ps -u student # wyświetla wszystkie procesy uŜytkownika student (mała ilość danych) $ps -u student u # wyświetla wszystkie procesy uŜytkownika student (cpu/mem i inne) ps -fu student
wszystkie procesy w systemie
ps -e; ps -ef; ps -eF; ps -ely; ps ax;ps axu
ps -ejH; ps axjf
informację o wątkach
ps -eLf; ps axms
informacje związane z bezpieczeństwem
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
wszystkie procesy w formacie zdefiniowanym przez uŜytkownika
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
Wyświetlenie tylko identyfikatora procesu syslogd:
ps -C syslogd -o pid=
Wyświetlenie tylko nazwy procesu o identyfikatorze 42
ps -p 42 -o comm=
Znaczenia nagłówków:
PID
– (Process IDentifier ) identyfikator (tego) procesu
PPID – (Parent Process IDentifier ) identyfikator procesu macierzystego S
– (Status) stan (S — sleeping lub R — running)
TTY
– terminal
TIME – czas wykonywania procesu w minutach i sekundach
CMD
– komenda skojarzona z procesem
USER – uŜytkownik
C
– wykorzystanie CPU przez proces
F
– znaczniki procesu
UID
– id uŜytkownika
PRI
– priorytet procesu (im większa liczba tym niŜszy priorytet)
NI
– „nice”, wartość wykorzystywana przy ustalaniu priorytetu
ADDR – adres procesu w pamięci
WCHAN – zdarzenie, na jakie oczekuje proces.
STIME – czas rozpoczęcia procesu
top
wyświetl najwaŜniejsze procesy CPU
kill
zakończ proces
Wysyła sygnały do procesu. Kill z flagą -l wyświetla listę sygnałów, jakie mogą być wysłane do procesu. Najczęściej wykorzystywane jest polecenie kill -9 NR_PID, usuwające proces o podanym PID. Sygnał moŜe być zapisany w postaci symbolicznej lub numerycznej.
jobs
Wyświetla procesy pracujące w tle, które są potomkami
aktualnego procesu shellowego
bg
Przenosi pracę określonego zadania w tło
Przywraca pracę zadania pracującego w tle
suspend
Zawiesza wykonywania procesu
wait
Oczekuje na zakończenie określonego zadania i zwraca
/etc/fstab
statyczna informacja o systemach plików
Plik fstab zawiera opisowe informacje na temat róŜnych systemów plików. fstab jest wyłącznie czytany przez programy i nie jest przez nie zapisywany. Prawidłowe stworzenie tego pliku i zarządzanie nim jest obowiązkiem administratora. KaŜdy system plików jest opisywany przez osobną linię; pola w kaŜdej linii są oddzielane przez znak spacji lub tabulacji. Kolejność rekordów w pliku fstab jest istotna, poniewaŜ fsck(8), mount(8) i umount(8) w celu wykonania swoich zadań dane z pliku fstab pobierają sekwencyjnie.
$ cat /etc/fstab
/dev/hda1 / ext2 errors=remount-ro
0
1
/dev/hda2 none swap sw
0
0
proc /proc proc defaults
0
0
/dev/hda5 /mnt/hd ext3 defaults
0
0
/dev/fd0 /floppy auto user,noauto
0
0
/dev/cdrom /cdrom iso9660 ro,user,noauto
0
0
Pierwsze pole, (fs_spec), opisuje specjalne urządzenie blokowe lub zdalny system plików przeznaczony do zamontowania.
Drugie pole, (fs_file), wskazuje na miejsce, w którym ma być zamontowany dany system plików. Dla partycji wymiany (ang. "swap partition") to pole powinno zawierać wartość ``none' .
Trzecie pole, (fs_vfstype), opisuje typ systemu plików. Obecnie system obsługuje poniŜsze rodzaje systemów plików:
minix
– lokalny system plików, obsługujący nazwy plików o długości 14, lub 30
znaków.
ext
– lokalny system plików z dłuŜszymi nazwami plików i większymi i-węzłami.
ext2
– lokalny system plików z dłuŜszymi nazwami plików, większymi i-węzłami i wieloma innymi dodatkami.
ext3
– obecnie uŜywany system plików, następca ext2; zapewnia księgowanie; Kronikowanie, inaczej nazywane księgowaniem lub dziennikowaniem (ang.
journaling) jest to taka funkcja systemu plików, która zapisuje operacje zlecone systemowi plików, ale jeszcze nie dokończone w specjalnym pliku nazywanym dziennikiem (ang. journal). Dzięki dziennikowi system jest w stanie w bardzo krótkim czasie powrócić do stanu spójnego po awarii.
hpfs
– lokalny system plików dla partycji HPFS.
Iso9660
– lokalny system plików uŜywany przez napędy CD-ROM.
nfs
– system plików słuŜący do montowania partycji z systemów zdalnych.
swap
– partycja dysku uŜywana jako przestrzeń wymiany.
vfat
– rozszerzony system plików (FAT(12|16|32))
Czwarte pole, (fs_mntops), opisuje opcje montowania związane z danymi systemami
plików. Jest sformatowane jako lista opcji, oddzielonych przecinkami. Zawiera co najmniej typ montowania oraz dodatkowe opcje, odpowiednie do danego typu systemu plików.
Piąte pole, (fs_freq), jest uŜywane przez komendę dump(8) aby wykryć, który system plików musi być odłączony. JeŜeli nie ma informacji o tym polu, zwracana jest wartość 0 i dump przyjmuje, Ŝe dany system plików nie musi być odłączany.
Szóste pole, (fs_passno), jest uŜywane przez program fsck(8) aby zadecydować, jaka powinna być kolejność sprawdzania systemów plików podczas ładowania systemu.
Główny system plików powinien mieć fs_passno równą 1, zaś inne systemy plików powinny mieć fs_passno równe 2. Systemy plików w obrębie dysku będą sprawdzane po kolei, natomiast systemy plików na róŜnych dyskach będą sprawdzane jednocześnie, aby wykorzystać wielozadaniowość udostępnianą przez sprzęt. JeŜeli nie podano szóstego pola, zostaje zwrócona wartość zero i fsck zadecyduje, Ŝe dany system plików nie musi być sprawdzany.
$ cat /proc/partitions
/etc/mtab
mtab – dynamiczna informacja o systemach plików (podobnie
jak /proc/mounts)
$ cat /etc/mtab
/dev/hda1
/
ext3
rw 0 0
none
/proc
proc rw 0 0
none
/proc/bus/usb
usbfs rw 0 0
none
/sys
sysfs rw 0 0
none /mnt/floppy supermount rw,sync,dev=/dev/fd0,fs=ext2:vfat,--,/
umask=0,iocharset=iso8859-2,codepage=852 0 0
/dev/hda6 /mnt/windows vfat rw,umask=0,iocharset=iso8859-2,codepage=852 0 0
df
raport wolnego i zajętego miejsca na dysku
$ df
System plików rozm. użyte dost. %uż. zamont. na
/dev/hda1 15G 1,3G 13G 9% /
/dev/hda6 23G 16K 23G 1% /mnt/windows
$ df -k
System plików bl. 1K B użyte dostępne %uż. zamont. na
/dev/hda1 15385852 1285324 13318968 9% /
/dev/hda6 23507632 16 23507616 1% /mnt/windows
$ df /home
System plików rozm. użyte dost. %uż. zamont. na
/dev/hda1 15G 1,3G 13G 9% /
du
szacuje zuŜycie miejsca na dysku
$ du
8,0K ./tmp
4,0K ./.mc/cedit
24K ./.mc
8,0K ./public_html
64K .
rozmiary podawane są w blokach po 512B
$ du -s
64K .
sumaryczna ilość zajmowanego miejsca
$ du -k
4 ./tmp/mc-root
8 ./tmp
4 ./.mc/cedit
24 ./.mc
8 ./public_html
64 .
rozmiary podawane są w kB
$ du -ks
64 .
$ du /etc
$ du -a /etc
(wyprowadza informacje równieŜ o plikach)
mount/umount
montuj system plików; zwraca informacje zamontowanych
systemach plików
Standardowa postać polecenia mount to
mount -t typ urządzenie katalog
Od wersji 2.4.0 Linuksa moŜliwe jest ponowne zamontowanie części systemu plików w innym miejscu.
SłuŜy do tego wywołanie:
mount --bind stary_katalog nowy_katalog
mount [-fnrsvw] [-t typ_systemu] [-o opcje] urządzenie katalog
$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev /dev tmpfs rw 0 0
/dev/root / ext3 rw 0 0
none /proc proc rw,nodiratime 0 0
none /sys sysfs rw 0 0
none /dev/pts devpts rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/bus/usb usbfs rw 0 0
none /mnt/floppy supermount rw,sync,dev=/dev/fd0,fs=ext2:vfat,/
tray_lock=onwrite,--,umask=0,iocharset=iso8859-2,codepage=852 0 0
/dev/hda6 /mnt/windows vfat rw,nodiratime,fmask=0000,dmask=0000,/
codepage=cp852,iocharset=iso8859-2 0 0
– dyski ATA (a – primary master b – primary slave, c – secondary master, d – secondary slave)
/dev/sd[a-z]
– dyski SATA, SCSI, USB (a – primary master b – primary slave, c – secondary master, d – secondary slave)
primary i secondary odnoszą się do pierwszego i drugiego kontrolera
master i slave są urządzenia nadrzędnymi i podrzędnymi
/dev/fd0
– dyskietka
/dev/(cd|dvd)
– napędy optyczne
Numeracja partycji
/dev/hd XY
X
– litera dysku
Y
– numer partycji
[1-4]
– partycje podstawowe
[5-63] – partycje rozszerzone
Przykłady:
$ mount /floppy
$ mount /dev/dvd /media/dvd
$ mount -t vfat /dev/sda /media/pendrive
$ mount -t auto /dev/hda5 /mnt/temp -o rw
$ mount -o remount,rw /
$ mount -o remount,rw /dev/sda2
$ umount /media/dvd
fdisk
Obsługa tablicy partycji dla Linuksa
Dyski twarde mogą być podzielone na jeden lub więcej logicznych dysków zwanych partycjami. Podział ten jest zapisany w tablicy partycji znajdującej się w sektorze 0 dysku.
$ fdisk /dev/hdX
$ fdisk -l /dev/hdX
fsck
sprawdzenie i naprawa linuksowego systemu plików
fsck słuŜy do sprawdzania i, opcjonalnie, do naprawy jednego lub kilku linuksowych systemów plików. filesys moŜe być nazwą urządzenia (np. /dev/hdc1, /dev/sdb2), punktem montowania (np. /, /usr, /home), albo etykietą ext2 lub identyfikatorem UUID (np.
UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd lub LABEL=root). W celu skrócenia łącznego czasu potrzebnego do sprawdzenia wszystkich systemów plików, program fsck będzie usiłował sprawdzać równolegle systemy plików umieszczone na fizycznie róŜnych napędach dysków.
Kod zakończenia zwracany przez fsck jest sumą następujących warunków: 0
– Bez błędów
1
– Poprawiono błędy systemu plików
2
– System powinien zostać przeładowany (reboot)
4
– Pozostawiono nie naprawione błędy systemu plików
8
– Błąd działania
16
– Błąd uŜycia (składni)
128
– Błąd biblioteki współdzielonej
Kod zakończenia zwracany, gdy w wyniku uŜycia opcji -A sprawdzane są wszystkie systemy plików jest bitową alternatywą (OR) kodów zakończenia dla kaŜdego ze
Zadanie1:
Stworzyć plik test2 (treść znajduje się pomiędzy znacznikami początku i końca pliku):
----początek-----
kolor zielony12
zielonny51 kwiat
zielonnny44 liść
Zielonnny64;fioletowy
ZielonnnNy16;bialy
Zieloniutkich 6 ździebeł
zieleń
zielony26
czerwony zielonNy
ZielonnnNny16
czekooolada
czerwony zielonny
zielonka61
zolty
bialy
czarny
rozowy
----koniec-----
Stosując egrep i wyraŜenia regularne znaleźć wyraŜenia pasujące do wzorca (oznaczenie: * oznacza dowolny ciąg znaków lub jego brak – czyli taką samą interpretację jak metaznak *. Uwaga! RegEx nie interpretują tego jako metaznak) 1) *ziel*6*
2) *onnnN* lub *onnnn* - chcemy znaleźć „o”, występujące po nim 3x”n” i „n” lub „N”
3) słowo *won* lub *lon*
4) wszystkie w których nie występują znaki od N do Z
5) wszystkie zaczynające się na „c” i kończące na „y”
6) puste linie
7) zaczynające się duŜą, lub małą literą „z” w których występuje kolejno przynajmniej 2
razy n
8) wyświetlić wszystkie wyrazy w których „o„ lub „n„ powtarza się nie mniej niŜ 2 a nie więcej niŜ 3 razy
Zadanie2:
Zapisz do pliku w katalogu domowym i jednocześnie wyświetl na ekranie zmodyfikowany plik /etc/fstab. Modyfikacja ma polegać na tym Ŝe w pierwszej kolumnie wyświetlany jest punkt montowania urządzeń, a w drugiej system plików, pozostałe kolumny mają być usunięte.
Zadanie3:
z pliku /var/log/messages znaleźć wszystkie rozpoznania przez jądro systemu rodzaju procesora od 15 do 22 bieŜącego miesiąca i wyświetlić liczbę zliczeń
Zadanie4:
Z katalogu /var/log/ we wszystkich plikach *.log
(a) znaleźć wszystkie próby udanego podłączenia (session opened for user) się
poprzez protokół „ssh” (deamon sshd).
(b) w pliku wynikowym (katalogu domowego) zamieścić informacje wg wzoru: dnia: <data logowania><znak tab>uŜytkownik: <nazwa uŜytkownika> zalogował się do systemu
np.: dnia: Oct 19
uŜytkownik: student zalogował się do systemu
(c) zliczyć logowania, posortować wg nazwy uŜytkownika.
(d) wylistować, jacy uŜytkownicy logowali się do systemu (bez powtarzania się loginów), wyniki zapisać w zewnętrznym pliku. Plik powinien zaczyna się tekstem:
„Lista wszystkich uŜytkowników którzy logowali się na bieŜącą maszynę” i kończyć tekstem „koniec listy”
(e) zadanie wykonać jako polecenie, oraz w formie skryptu (a więc z krótkim wywołaniem z linii zachęty typu $ awk skrypt <dane wejściowe> Zadanie5. Wyświetlić wszystkie procesy uŜytkownika student, sprawdzić które są procesami macierzystymi aktualnie pracujących procesów. Sprawdzić, który proces zajmuje najwięcej pamięci i obciąŜa procesor.
Zadanie6. Wywołać polecenie przeszukiwania plików począwszy od katalogu głównego, następnie zawiesić wykonywanie polecenia i przenieść je w tło, sprawdzić listę aktualnie pracujących w tle poleceń, przywrócić działanie polecenia. Z drugiego terminala zakończyć proces odpowiedzialny za wyszukiwanie plików.
Zadanie7. Sprawdzić ilość partycji na dysku, ich pojemność, oraz sumaryczne miejsce zajmowane przez katalog /usr/sbin. Jaki system plików zamountowany jest w katalogu głownym. Która partycja jest partycją aktywną?