background image

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

background image

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) i ` 

(substytucja wyników polece

ń

)

`

– (akcent) – ci

ą

g znaków otoczony akcentami jest traktowany jak komenda i jest 

wykonywany

Wyra

Ŝ

enia regularne:

– 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)

background image

\n

– 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

ć

background image

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 

background image

$ 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

background image

drzewo procesów

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

background image

fg

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

background image

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

background image

4,0K    ./tmp/mc-root
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

background image

/dev/hd[a-z]

– 

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/hdXY
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

Ŝ

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

background image

sprawdzanych systemów plików.

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

ę

background image

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

ą

?