background image

1

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

1 / 81

PODSTAWOWE 

POLECENIA I FILTRY 

W  SYSTEMIE OPERACYJNYM 

UNIX/LINUX

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

2 / 81

Przegl d istotnych cech powłoki (ang. shell)

• Proste i  zło one polecenia ( 

;  &  |   &&  ||

)

$ ls –l /bin
$ cp old new && rm old

rm

je eli 

cp

$ cp old new || rm old

rm

je eli nie 

cp

$ ps | grep sshd

przekierowanie wyj cia 

ps

na wej cie 

grep

• Procesy drugoplanowe (ang. background), sterowanie wraca do powłoki, bez 

oczekiwania na zako czenie procesu, zwracany jest kod zako czenia 0

$ /usr/local/bin/netscape &
$ cmd1 & cmd2 & cmd3 

równoległe wykonanie trzech polece

$ cmd1 ; cmd2 ; cmd3 

sekwencyjne wykonanie trzech polece

• Przekierowywanie wej /wyj  ( 

<   >   >> 

)

$ ls -l > my_files

zamiast do 

stdout

(1) dane do 

my_files

$ cat < input.data

zamiast z 

stdin

(0) dane z 

input.data

$ date >> logs

zamiast do 

stdout

(1) doł cza dane do 

logs

background image

2

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

3 / 81

Przegl d istotnych cech powłoki (ang. shell)

• „Dzikie karty”

$ ls file*

• Zmienne powłoki i  rodowiska

$ PATH=$PATH:.

• Zastosowanie znaku tyldy

$ cd ~kornj

• Zasady przywoływania

file="foo"

$ cat my file
$ cat "my file"
$ cat "my $file"
$ cat 'my $file'

my

file

my file
my foo
my $file

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

4 / 81

Cechy interakcyjno ci

• Pami tana jest historia polece
• Edytowanie linii polece
• Dopełnianie nazwy pliku (przycisk tab)
• Dopełnianie polecenia
• Wi zanie kluczy
• Korekta pisowni
• Kontrolowanie zada

background image

3

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

5 / 81

Skrypty na poziomie powłoki

• Skrypt powłoki jest plikiem tekstu regularnego, który 

zawiera polecenia powłoki lub UNIX

• Przed wykonaniem skryptu nale y nada  mu prawa 

wykonania

• Skrypty s  bardzo u yteczne podczas automatyzacji 

powtarzaj cych si  zada , zwłaszcza czynno ci 

administratora oraz do przechowywania polece , które 

maja by  wykonane w przyszło ci

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

6 / 81

J zyki skryptowe a j zyk C

• Korzy ci ze stosowania skryptów powłokowych

– Łatwa współpraca z innymi programami
– Prosta praca z plikami
– Prosta praca z napisami
– Brak konieczno ci kompilacji

• Braki skryptów powłokowych

– Wolniejsze ni  program napisany w C
– Niezbyt dobrze przystosowane do potrzeb projektowania 

algorytmów i struktur danych

background image

4

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

7 / 81

Podstawowe narz dzia do operowania na 

plikach i katalogach

• pwd

podaje nazw  aktualnego 

katalogu

• cat

ł czy pliki

• more, less

pokazuj  zawarto  pliku

• ls

listuje zawarto  katalogu

• rm

usuwa plik

• mv

zmienia nazw  pliku

• cp

kopiuje plik

• touch

tworzy pusty plik lub aktualizuje 

dat  jego modyfikacji

• ed, vi, emacs, nano edytory tekstu

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

8 / 81

Podstawowe narz dzia do operowania na 

plikach i katalogach

• ln

tworzy dowi zanie do pliku

• mkdir rmdir

tworzy i usuwa katalog

• mountumount zarz dzaj  punktami montowania
• lpr

wydruk zawarto ci pliku

• wc

podlicza słowa, znaki w pliku

• diff

porównuje zawarto  dwóch plików

• file

identyfikuje typ pliku

background image

5

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

9 / 81

Polecenia operowania atrybutami pliku

• chmod

zmiana praw dost pu do pliku

• chown

zmiana wła ciciela pliku

• chgrp

zmiana grupy zwi zanej z plikiem

• Tylko wła ciciel lub super u ytkownik mog  zmienia  

atrybuty pliku

• Po utworzeniu pliku domy lne prawa przypisywane plikowi 

s  modyfikowane przez warto  przypisana za pomoc  

polecenia umask

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

10 / 81

Prawa dost pu

- - - - - - - - -
r w x r w x r w x

user    group   others

---------

000

rwxr-x---

750  

user: read, write, execute
group: read, execute

rw----rw-

606

user: read, write
others: read, write

background image

6

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

11 / 81

Tryb dost pu symbolicznego [ugoa…][+–=][rwxs]

przykład: chmod a+r file

Tryb dost pu oktalnego (suid, sgid | user | group | others)

oktalnie

read 

write

execute

0

no

no

no

1

no

no

yes

2

no

yes

no

3

no

yes

yes

4

yes

no

no

5

yes

no

yes

6

yes

yes

no

7

yes

yes

yes

przykład: chmod 400 file

Polecenie chmod

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

12 / 81

Polecenia zarz dzania procesami

• ps

monitoruje stan procesów

• kill

wysyła podany sygnał do okre lonego

procesu (domy lnie TERM)

• wait

proces rodzicielski czeka na zako czenia

wykonywania si  procesu potomnego

• nohup

czyni polecenie odpornym na sygnały hangup

i terminate

• sleep

przejd  w stan u pienia na okres czasu podany

w sekundach

• nice

uruchom procesy ze zmodyfikowanym 

priorytetem

background image

7

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

13 / 81

Wprowadzenie do filtrów

• Klasa narz dzi systemu Unix nazywana filtrami.

– Narz dzia, które czytaj  ze standardowego wej cia, 

przekształcaj  (obrabiaj ) plik i wynik zapisuj  na standardowe 

wyj cie

• Stosowanie filtrów mo e rozumiane jako programowanie 

zorientowane na dane.

– Ka dy krok oblicze  filtra przekształca strumie  (ang. stream

danych.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

14 / 81

Przykłady filtrów

• sort

– wej cie: linie danych z pliku
– wyj cie: posortowane linie z pliku

• grep

– wej cie: linie danych z pliku
– wyj cie: linie, które odpowiadaj  zdefiniowanemu wzorcowi

• awk

– filtr programowalny (interpretowalny j zyk wyszukiwania i 

przetwarzania wzorców)

background image

8

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

15 / 81

Programy w systemie UNIX

ródła wej :

– Argumenty programu

[informacja struj ca]

– Zmienne  rodowiskowe

[informacje o stanie]

– Standardowe wej cie

[dane]

• Elementy wyj cia:

– Zwracany kod statusu

[informacje steruj ce]

– Standardowe wyj cie [dane]
– Standardowe wy cie diagnostyczne

[komunikaty o bł dach]

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

16 / 81

Potoki

• Wyj cie jednego programu staje si  wej ciem nast pnego

– Wykorzystywana jest koncepcja potoków systemu UNIX

• Przykład: 

$ who | wc -l

– Oblicza liczb  zalogowanych u ytkowników

• Potoki mog  by  długie i zło one

background image

9

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

17 / 81

cat: najprostszy filtr

• Polecenie cat kopiuje bez zmian swoje wej cie na wyj cie

(filtr to samo ciowy). Gdy na wej cie podana zostanie 

lista plików, wtedy filtr ł czy je i przekierowuje na 

standardowe wyj cie stdout

• Niektóre opcje: 

-n

numeruje linie wyj ciowe (pocz wszy od 1)

-v

wy wietla znaki kontrolne w postaci widocznej (np. ^C)

cat file*

ls | cat -n

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

18 / 81

W czym tkwi ró nica?

• Oba przedstawione poni ej polecenia przesyłaj  dane do 

polecenia (command) z pliku zamiast z klawiatury 

(standardowego wej cia):

cat file | command

command < file

lub

background image

10

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

19 / 81

Dodatkowy proces

cat

command

command

cat file | command

command < file

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

20 / 81

Polecenie head

• Pokazuje kilka pierwszych linii ze wskazanego pliku

• Składnia: 

head [-n] [filename...]

-n

– liczba wy wietlanych danych, domy lnie jest ich 10

filename...

– lista nazw wy wietlanych plików

• W przypadku podania wi cej ni  jednej nazwy pliku, 

pocz tek ka dego wy wietlanego pliku poprzedzony jest 

napisem

– ==>filename<==

background image

11

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

21 / 81

Polecenie tail

• Pokazuje ko cowa cz

 pliku

• Składnia: 

tail +|-numer [lbc] [f] [filename]

lub:  

tail +|-numer [l] [rf] [filename]

+numer

– kopiowanie rozpoczyna si  w odległo ci numer jednostek 

danych od pocz tku pliku; je li numer jest niezdefiniowany, to 

domy lnie jest równy 10

-numer

– kopiowanych jest numer ostatnich jednostek danych z pliku

l,b,c

– jednostki numer wyra one s  w liniach/blokach/znakach

r

– drukuje odwrotnym porz dku (tylko linie)

f

– je li wej ciem nie jest potok, to polecenie nie ko czy si  po 

napotkaniu ko ca pliku, ale czeka w p tli. Jest to przydatne w 

przypadku konieczno ci monitorowania pliku, który jest zapisywany 

przez inny proces.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

22 / 81

Przykłady polece  head i tail

head /etc/passwd

head *.c

tail +20 /etc/passwd

ls -lt | tail -3

head –100 /etc/passwd | tail -5

tail –f /usr/local/httpd/access_log

background image

12

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

23 / 81

Polecenie tee

• Kopiuje standardowe wej cie do standardowego 

wyj cia i do jednego lub wi cej plików

– Przechwytuje natychmiast wyniki filtrowania danych w 

potoku

Polecenie Unix

Standardowe wyj cie

Lista plików

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

24 / 81

Polecenie tee (cd.)

• Składnia: 

tee [ -ai ] file-list

-a

– dopisuje do wyj ciowego pliku (nie nadpisuje); domy lnie 

funkcjonuje nadpisywanie (zast powanie) danych w pliku.

-i

- ignoruje przerwania

file-list

– jeden lub wi cej plików przechwytuj cych wyj cie

• Przykłady

ls | head –10 | tee first_10 | tail –5

who | tee user_list | wc

background image

13

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

25 / 81

John

99

Anne

75

Andrew

50

Tim

95

Arun

33

Sowmya

76

COMP1011|2252424|Abbot, Andrew John |3727|1|M 
COMP2011|2211222|Abdurjh, Saeed |3640|2|M
COMP1011|2250631|Accent, Aac-Ek-Murhg |3640|1|M
COMP1021|2250127|Addison, Blair |3971|1|F
COMP4012|2190705|Allen, David Peter |3645|4|M
COMP4910|2190705|Allen, David Pater |3645|4|M

root:ZHolHAHZw8As2:0:0:root:/root:/bin/ksh 
jas:nJz3ru5a/44Ko:100:100:John Shepherd:/home/jas:/bin/ksh
cs1021:iZ3sO90O5eZY6:101:101:COMP1021:/home/cs1021:/bin/bash 
cs2041:rX9KwSSPqkLyA:102:102:COMP2041:/home/cs2041:/bin/csh 
cs3311:mLRiCIvmtI9O2:103:103:COMP3311:/home/cs3311:/bin/sh 

Znak Tab

Znak |

Znak dwukropka

Pliki tekstowe Unixa: ograniczniki danych

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

26 / 81

Polecenie cut: wybór kolumn

• Polecenie

mo e drukowa  wybrana cz

 linii 

wej ciowych. 

– mo na wybra  kolumny (domy lnie oddzielone znakami tabulacji) 
– mo na wybra  zakres pozycji listowanych znaków

• Niektóre opcje: 

-f listOfCols

drukuje tylko wybrane kolumny (oddzielone 

znakiem Tab lub innym okre lonym opcj  -d)

-c listOfPos

drukuje tylko znaki z okre lonych pozycji

-d c

definiuje znak jako separator kolumn

• Listy podawane s  w postaci zakresów (np.

) lub 

znaków oddzielonych przecinkami (np.

). 

background image

14

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

27 / 81

Przykłady u ycia cut

cut -f 1 < data

cut -f 1-3 < data

cut -f 1,4 < data

cut -f 4- < data

cut -d'|' -f 1-3 < data

cut -c 1-4 < data

nie ma sposobu odwołania si  do ostatniej kolumny 
bez obliczenia liczby kolumn

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

28 / 81

Polecenie paste: ł czenie kolumn

• Polecenie

wy wietla na wyj ciu „równolegle” 

zawarto  kilku plików tekstowych.

• Je li wej ciem sa pliki

, to 

– pierwsza linia wyj ciowa składa si  z pierwszych linii 

plików 

– druga linia  wyj ciowa składa si  z drugich linii plików 

– itd.

• Linie z ka dego pliku sa oddzielane od siebie 

znakiem Tab.

• Je li pliki sa ró nej długo ci, na wyj ciu wy wietlane 

s  wszystkie linie z najdłu szego pliku z pustymi 

ci gami w miejsce brakuj cych linii plików 

krótszych. 

1
2

3
4

5
6

1    3     5
2    4     6

background image

15

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

29 / 81

Przykład u ycia polecenia paste

cut -f 1 < data > data1

cut -f 2 < data > data2

cut -f 3 < data > data3

paste data1 data3 data2 > newdata

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

30 / 81

Polecenie sort: sortowanie linii pliku

• Polecenie 

kopiuje dane z wej cia na wyj cie, dbaj c 

aby wyj cie linie zostały uporz dkowane zgodnie z 

daniem.

– Domy lnie sortowanie jest realizowane na podstawie porównania 

kodów ASCII całej linii. 

• Inne cechy polecenia

– rozró nia dane tekstowe, wyst puj ce w kolumnach (potrafi sortowa  

według innych ni  tylko pierwsza kolumna)

– rozró nia liczby i wła ciwie je sortuje
– mo e sortowa  pliki pobierane z dysku jak równie  potrafi działa  

jako filtr danych wej ciowych.

– jest w stanie sortowa  bardzo du e pliki

background image

16

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

31 / 81

Polecenie sort: opcje

• Składnia: 

sort [-dftnr] [-o filename] [filename(s)]

-d

porz dek alfabetyczny (słownikowy); wpływ na porz dek 
sortowania maj  jedynie litery, cyfry i spacje

-f

ignoruje wielko  liter (tekst sortowany jest wg małych liter)

-t

okre la ograniczniki kolumn

-n

porz dek numeryczny, sortowanie zgodnie z warto ciami 
arytmetycznymi, nie za  wg pierwszej cyfry

-r

sortowanie w odwrotnym porz dku

-o filename

– zapisuje wyj cie do pliku o nazwie filename; nazwa 

pliku mo e by  nazw  pliku wej ciowego

• ... i wiele innych opcji.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

32 / 81

Polecenie sort: pozycje pól sortowania

• Ogranicznik : 

-t

d

• Stary sposób:

+field1[.char1][options] [-field2[.char2][options]

+2.1 
–3 
+0 
–2 
+3n

Z wył czeniem 

field2

Startuje od 0 (inaczej ni  w przypadku cut, które staruje od 1)

• Nowy sposób (POSIX):

-k field1[.char1][options][,field2[.char2][options]]

-k2.1 
–k0,1 
–k3n

Wł cznie z 

field2

Startuje od 1

background image

17

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

33 / 81

Przykłady u ycia polecenia sort

sort +2nr < data
sort –k2nr data

sort -t: +4 /etc/passwd

sort -o mydata mydata

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

34 / 81

Polecenie uniq: pomija powtarzaj ce si  

elementy

• Usuwa duplikaty wierszy z danych wej ciowych

• Składnia:

uniq [ -cdu] [input-file] [ output-file]

-c

zawiesza działanie opcji -u i -d oraz generuje raport wyj ciowy listuj c 
ka dy wiersz wraz z liczb  jego powtórze

-d

listuje jedynie powtarzaj ce si  wiersze

-u

listuje tylko te wiersze, które nie powtarzaj  si

Domy lnymi opcjami s  przeł czniki -d -u

background image

18

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

35 / 81

Polecenie wc: wynik podsumowania

• Narz dzie zliczania słów, wc, zlicza liczb  wierszy, 

znaków lub słów

• Opcje:

-l

zlicza wiersze

-w

zlicza słowa

-c

zlicza znaki

• Domy lnie: zlicza linie, słowa i znaki

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

36 / 81

Przykład wc uniq

who | sort | uniq –d

wc my_essay

who | wc

sort file | uniq | wc –l

sort file | uniq –d | wc –l

sort file | uniq –u | wc -l

background image

19

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

37 / 81

Polecenie tr: przekształcanie znaków

• Kopiuje dane ze standardowego wej cia na standardowe 

wyj cie z jednoczesnym zast powaniem lub usuwaniem 

wybranych znaków

• Składnia: 

tr [ -cds ] [ string1 ] [ string2 ]

-d

usuwa z wej cia wszystkie znaki zawarte w string1

-c

uzupełnia znaki w string1 w odniesieniu do całego zbioru 
znaków

ASCII

-s

kompresja wszystkich napisów powtarzanych znaków

wyj ciowych, wyst puj cych w string2 w pojedynczy znak.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

38 / 81

tr (cd.)

• tr czyta dane ze standardowego wej cia. 

– Ka dy znak nie pasuj cy do znaków w string1 jest przesyłany bez 

zmian na standardowe wyj cie

– Ka dy znak pasuj cy do znaków w string1 jest zamieniany na 

odpowiadaj cy mu znak ze string2 przesyłany na standardowe 

wyj cie

• Przykłady:

$ tr s z

zast puje wszystkie wyst pienia na z

$ tr so zx

zast puje wszystkie wyst pienia na oraz o na x 

$ tr a-z A-Z

zast puje wszystkie małe litery wielkimi

$ tr –d a-c

usuwa wszystkie znaki a-c

background image

20

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

39 / 81

U ycie tr

• zmie  ogranicznik

$ tr ‘|’ ‘:’

• przepisz liczby

$ tr ,. .,

• importuj plik DOS \ Windows

$ tr –d ’\r’ < dos_file

• znajd  znaki ASCII w pliku binarnym

$ tr –cd ’\n[a-zA-Z0-9 ]’ < binary_file

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

40 / 81

Co to s  wyra enia regularne?

• Wyra enie regularne (regex) opisuje zbiór mo liwych 

napisów wej ciowych.

• Wyra enia regularne s  typowe dla systemu Unix, np. w:

– viedsed emacs
– awktclperl Python
– grepegrepfgrep

• Wyra enia regularne wywodz  si  z podstawowej 

koncepcji informatyki nazywanej gramatykami

regularnymi, u ywanymi w teorii automatów sko czonych.

background image

21

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

41 / 81

Wyra enia regularne

• Najprostszymi wyra eniami regularnymi s  ci gi literałów 

dopasowywane do innych.

• Mówi si ,  e ci g znaków jest dopasowany do wyra enia 

regularnego, je li zawiera wła ciwy podci g.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

42 / 81

UNIX Tools rocks.

pasuje

UNIX Tools sucks.

pasuje

UNIX Tools might suck.

nie pasuje

wyra enie regularne

c k s

Przykład wyra enia regularnego

background image

22

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

43 / 81

Wyra enia regularne

Wyra enia regularne mog  by  dopasowane do ła cucha 

znaków (napisu) w wi cej ni  jednym miejscu.

Scrapple from the apple.

dopasowanie 1

dopasowanie 2

wyra enie regularne

a p p l e

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

44 / 81

Wyra enia regularne

Wyra enie regularne w postaci 

.

(kropka) pasuje do 

dowolnego znaku.

For me to poop on.

dopasowanie 1

dopasowanie 2

wyra enie regularne

.

background image

23

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

45 / 81

Klasy znaków

Znak klasy 

[]

(nawias kwadratowy) jest u ywany do 

dopasowania dowolnego wyspecyfikowanego zbioru znaków.

beat a brat on a boat

dopasowanie 1

dopasowanie 2

[eor]

a t  

dopasowanie 3

wyra enie regularne

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

46 / 81

Zanegowana klasa znaków

Klasy znaków mo na wykluczy  z procesu dopasowania 

za pomoc  wyra enia o składni

[^]

.

beat a brat on a boat

pasuje

[^eo]

a t  

wyra enie regularne

background image

24

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

47 / 81

Wi cej o klasach znaków

[aeiou]

dopasowywuje do dowolnego znaku 

a

e

i

o

lub

u

[kK]orn

oznacza dopasowanie do 

korn

lub

Korn

Klasy znaków mog  tak e specyfikowa  zakresy znaków:

[1-9]

oznacz to samo co zapis

[123456789]

[abcde]

jest równowa ne

[a-e]

– Mo na ł czy wiele zakresów

[abcde123456789]

jest rónowa ne

[a-e1-9]

– Zauwa my,  e znak 

ma specjalne znaczenie w obr bie klasy 

znaków tylko wtedy, gdy u yty jest do zdefiniowania zakresu,

[-123]

oznaczałby dopasowanie do znaków 

-

1

,

2

lub

3

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

48 / 81

Nazwana klasa znaków

• Do powszechnie stosowanych klas znaków mo na 

odwoływa  si  poprzez nazw (

alpha

lower

upper

alnum

digit

punct

cntl

)

• Składnia

[:

name:]

[a-zA-Z]

[[:alpha:]]

[a-z0-9]

[[:alnum:]]

[45a-z]

[45[:lower:]]

• Jest to wa ne w przypadku konieczno ci zapewnienia 

przenaszalno ci pomi dzy ró nymi j zykami narodowymi.

background image

25

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

49 / 81

Podstawowe znaki specjalne 

(tzw. kotwice, ang. anchors)

• Znaki specjalne s  u ywane do dopasowania pocz tku 

lub ko ca linii (lub jednego i drugiego).

^

oznacza dopasowanie pocz tku linii

$

oznacza dopasowanie ko ca linii

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

50 / 81

beat a brat on a boat

pasuje

wyra enie regularne

^

[eor]

a t  

[eor]

a t 

$

beat a brat on a boat

pasuje

^$

^word$

Przykład

wyra enie regularne

background image

26

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

51 / 81

Powtórzenia

Znak specjalny 

*

oznacza zero lub wi cej wyst pie  

pojedynczego wyra enie regularnego poprzedzaj cego 

znak 

*

.

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

52 / 81

I got mail, yaaaaaaaaaay!

pasuje

wyra enie regularne

y a 

*

y  

For me to poop on.

pasuje

o a 

*

o  

.*

Przykład

wyra enie regularne

background image

27

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

53 / 81

Zakresy powtórze

• Zakresy mo na definiowa  tak e w postaci:

{

n,m}

– notacja okre la zakres powtórze  bezpo rednio 

poprzedzaj cych regex

{

n}

oznacza dokładnie wyst pie

{

n,}

oznacza przynajmnie wyst pie

{

n,m}

oznacza przynajmniej wyst pie , ale nie wi cej ni  

wyst pie

• Przykład:

.{0,}

.*

a{2,}

aaa*

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

54 / 81

Podwyra enia

• Je li chcemy zgrupowa  cz

 wyra enia tak, aby 

*

odnosiło si  nie tylko do poprzednich znaków, to nale y 

u y  notacji 

( )

.

• Podwyra enia traktowane s  podobnie jak pojedynczy 

znak

a*

oznacza dopasowanie 0 lub wi cej wyst pie

a

abc*

odpowiada wzorcom

ab

abc

abcc

abccc

, …

(abc)*

odpowiada wzorcom

abc

abcabc

abcabcabc

, …

(abc){2,3}

odpowiada wzorcowi 

abcabc

lub

abcabcabc

background image

28

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

55 / 81

grep

• nazwa

grep

pochodzi od polecenia edytora ed do 

przeszukiwania “global regular expression print” albo

g/re/p

• polecenie było na tyle przydatne,  e zaimplementowano je 

jako samodzielne narz dzie

• istniej  warianty polecenia, m.in.:  

egrep

fgrep

• polecenie

grep

jest np. przydatne gdy chcemy znale  

plik zawieraj cy okre lon  fraz , nie pami tamy jednak 

jego nazwy

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

56 / 81

Polecenia z rodziny grep

• grep – u ywa wyra e  regularnych do dopasowania 

wzorców (ang. pattern matching)

• fgrep – (file grep) nie u ywa wyra e  regularnych, 

dopasowuje jedynie stałe ła cuchy znaków, mo e jednak 

pobra  taki ła cuch z pliku

• egrep – (extended grep) u ywa bardziej rozbudowanego 

zestawu wyra e  regularnych,  ale nie umo liwia 

stosowania odwoła  wstecznych (ang. backreferencing), 

najszybsze polecenie z rodziny grep

• agrep – (approximate grep) nie uj te w normach

background image

29

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

57 / 81

Składnia wyra e  regularnych dla polece  

rodziny grep

• polecenia grep egrep wykorzystuj  ide  wyra e  

regularnych 

• grep egrep maj  ró n  składni  wyra e  regularnych:

– grep

BRE

– egrep:  ERE

• Przykładowe ró nice w składni:

– grep

\(

,

\)

,  

\{

,

\}

– egrep

(

)

{

}

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

58 / 81

Zabezpieczenie zestawu znaków wyra e  

regularnych dla grep

Poniewa  wiele spo ród znaków u ywanych w wyra eniach 

regularnych ma równie  specjalne znaczenie dla powłoki, 

wskazane jest wi c umieszczanie wyra e  regularnych w 

apostrofach

– zabezpiecza to znaki specjalne przed interpretowaniem ich przez 

powłok

– wygodniej jest przyj ,  e taka ochrona zestawu znaków w 

wyra eniu regularnym jest zawsze niezb dna, ni  analizowa  

ka dy przypadek

background image

30

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

59 / 81

U ycie znaków specjalnych jako zwykłych 

symboli dla grep egrep

• w niektórych przypadkach mo emy chcie  u y  znaków 

specjalnych w ich podstawowym znaczeniu, jako zwykłych 

symboli

• w tym celu poprzedzamy znak specjalny symbolem 

\

(backslash)

• np. je eli szukamy ła cucha

a*b*

– u ycie wyra enia 

'a*b*'

pozwoli wyszuka  ła cuch zawieraj cy zero 

lub wi cej liter 

a

, po których wyst puje zero lub wi cej liter 

b

- nie 

tego oczekiwali my!

– poprawnie skonstruowane wyra enie regularne 

'a\*b\*'

– w tym 

przypadku gwiazdki nie s  traktowane jako symbole specjalne

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

60 / 81

egrep: symbol alternatywy

• wyra enia regularne pozwalaj  na u ycie znaku 

alternatywy

|

w celu dopasowania jednego lub wi cej 

podwyra e , np.:

– do

(K|T)en

pasuj ‘Ken’ albo ‘Ten’

– do  

^(From|Subject):

pasuj typowe linie From Subject 

nagłówka typowej wiadomo ci email (dopasowanie do ła cucha 

znaków, w którym pocz tek linii rozpoczyna si  znakami ‘

From

’ 

lub ‘

Subject

’, po których nast puje ‘

:

’)

• do ograniczenia zakresu działania alternatywy u ywane 

s  podwyra enia, np:

– do 

At(ten|nine)tion

pasuj “Attention” albo “Atninetion”

– do 

Atten|ninetion

pasuj  “Atten” albo “ninetion”

background image

31

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

61 / 81

egrep: powtórzenia

• symbol

*

(gwiazdka) oznacza zero lub wi cej wyst pie  

poprzedzaj cego go znaku (b d  podwyra enia)

• symbol

+

(plus) oznacza jedno lub wi cej wyst pie  

poprzedzaj cego go znaku (b d  podwyra enia)

ekwiwalentem symbolu 

+

jest zapis

{1,}

do

abc+d

pasuj ‘abcd’, ‘abccd’, albo ‘abccccccd’, ale nie pasuje ‘abd’ 

do

abc?d

pasauj ‘abd’ albo ‘abcd’, ale nie pasuje ‘abccd’

do

abc+d

pasuj ‘abcd’, ‘abccd’, ‘abccccccd’ albo ‘abd’

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

62 / 81

egrep: powtórzenia (cd.)

• symbol 

?

(znak zapytania) oznacza opcjonalne 

wyst pienie znaku znajduj cego si  bezpo rednio przed 

znakiem zapytania

do

July?

pasuj ‘Jul’ albo ‘July’

ekwiwalentem dla 

?

jest

{0,1}

ekwiwalentem dla 

July?

mo e by

(Jul|July)

• Symbole 

*

?

i

+

mog  by  u ywane w stosunku do 

pojedynczych znaków jak i całych podwyra e , np.:

– do

(a*c)+

pasuj  ‘c’, ‘ac’, ‘aac’ albo ‘aacaacac’, ale nie pasuj ‘a’ 

lub pusta linia

background image

32

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

63 / 81

grep: odwołania wsteczne

• Sometimes it is handy to be able to refer to a match that 

was made earlier in a regex

• This is done using backreferences

\

n

is the backreference specifier, where is a number

• For example, to find if the first word of a line is the same 

as the last:

^\([[:alpha:]]\{1,\}\).*\1$

– The 

\([[:alpha:]]\{1,\}\)

matches 1 or more letters

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

64 / 81

Przykłady u ycia wyra e  regularnych dla 

egrep

• nazwy zmiennych w C

[a-zA-Z_][a-zA-Z_0-9]*

• kwoty w dolarach (opcjonalnie z centami)

\$[0-9]+(\.[0-9][0-9])?

• godzina

(1[012]|[1-9]):[0-5][0-9] (am|pm)

• nagłówi HTML 

<h1> <H1> <h2> …

<[hH][1-4]>

background image

33

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

65 / 81

Składnia polece  rodziny grep

grep [-hilnv] [-e expression] [filename]
egrep [-hilnv] [-e expression] [-f filename] [expression] [filename]
fgrep [-hilnxv] [-e string] [-f filename] [string] [filename]

-h

nie wy wietla nazw plików

-i

ignoruje wielko ci liter we wzorcach i na wej ciu

-l

wypisuje jedynie nazwy plików zawieraj cych 

dopasowania

-n

poprzedza ka d  lini  wyj cia jej numerem w pliku 

wej ciowym

-v

odwraca sens dopasowania (wybór linii niepasuj cych)

-x

dopasowanie całych linii (opcja tylko dla fgrep)

-f filename

pobiera wzorzec z pliku filename

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

66 / 81

Składnia polece  rodziny grep (cd.)

Regular 

Expression 

 

Matches 

grepfgrep, and egrep 

 

xyz 

Ordinary characters match themselves (NEWLINES and 

metacharacters excluded) 

Ordinary strings match themselves 

grep and egrep 

\m 

[xy^$x] 

[^xy^$z] 

[a-z] 

[^a-z] 

r* 

r1r2 

Matches literal character 

Start of line 

End of line 

Any single character 

Any of x, y, ^, $, or z 

Any one character other than x, y, ^, $, or z 

Any single character in given range 

Any single character not in range 

zero or more occurrences of regex r 

Matches r1 followed by r2 

 

 

background image

34

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

67 / 81

Składnia polece  rodziny grep (cd.)

Regular 

Expression 

Matches 

grep only 

\(r\) 

\n 

 

\{n,m\} 

Tagged regular expression, matches r 

Set to what matched the nth tagged 

expression (n = 1-9) 

Repetition 

egrep only 

r+ 

r? 

r1|r2 

(r1|r2)r3 

(r1|r2)* 

 

{n,m} 

One or more occurrences of r 

Zero or one occurrences of r 

Either r1 or r2 

Either r1r3 or r2r3 

Zero or more occurrences of r1|r2, 

e.g., r1, r1r1, r2r1, r1r1r2r1,…) 

Repetition 

 

 

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

68 / 81

U ycie polece  rodziny grep

grep ‘men’ GrepMe
grep ‘fo*’ GrepMe
egrep ‘fo+’ GrepMe
egrep -n ‘[Tt]he’ GrepMe
fgrep ‘The’ GrepMe
egrep ‘NC+[0-9]*A?’ GrepMe
fgrep -f expfile GrepMe

• Odszukaj w plikach o rozszerzeniu .c linie zawieraj ce liczb  ze 

znakiem:

egrep ’[-+][0-9]+\.?[0-9]*’ *.c

bsearch. c: return 

-1

;

compile. c: strchr("

+1-2

*3", t-> op)[1] - ’0’, dst,

convert. c: Print integers in a given base 2

-16

(default 10)

convert. c: sscanf( argv[ i

+1

], "% d", &base);

strcmp. c: return 

-1

;

strcmp. c: return 

+1

;

background image

35

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

69 / 81

U ycie polece  rodziny grep (cd.)

• /usr/dict/words zawiera ok. 25,000 słów w j. angielskim. Jakie słowa zawieraj  

dwa znaki ‘hh’ obok siebie:

$ egrep hh /usr/dict/words
beachhead
highhanded
withheld
withhold

• Proste sprawdzenie pisowni (niepewna alternatywa):

$ egrep "n(ie|ei)ther" /usr/dict/words
neither

• W jakich słowach znajduj  si  trzy znaki ‘c’ rozdzielone pojedynczymi znakami:

$ egrep u.u.u /usr/dict/words
cumulus

• W ilu słowach znajduj  si  trzy znaki ‘a’ rozdzielone pojedynczymi znakami:

$ egrep a.a.a /usr/dict/words | wc –l
50

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

70 / 81

grep: inne uwagi

• u ycie /dev/null jako dodatkowej nazwy pliku powoduje 

wy wietlenie nazwy pliku, w którym zostało dokonane 

dopasowanie, np.:

$ grep test bigfile
This is a test.

$ grep test /dev/null bigfile
bigfile:This is a test.

• Wykorzystanie kodu powrotu z polecenia grep

$ grep fred filename > /dev/null && rm filename

/dev/null – „czarna dziura”  - wirtualne urz dzenie usuwaj ce wszystkie dane 

przekierowane do niego i nie generuj ce  adnych danych dla procesów 

czytaj cych z niego

background image

36

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

71 / 81

Maskowanie i wzorce (ang. wildcards & patterns)

powłoki

• Powłoki operuj  na pewnych (cz sto modyfikowanych) 

podzbiorach wyra e  regularnych. Przykładowo powłoka 

ksh

rozszerza zakres wzorców. 

• Zazwyczaj inna składnia ni  przyj ta w omawianych 

wyra eniach regularnych, np.:

*

w powłoce

.*

w wyra eniach regularnych

?

w powłoce

.

w wyra eniach regularnych

[]

ma takie samo znaczenie w powłoce i w wyra eniach 

regularnych, ale ju  negacja b dzie wyra ona inaczej:

wyra enie regularne: 

[^abc]

powłoka: 

[!abc]

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

72 / 81

Przechodzenie drzewa

• jak wybra  zbiór plików, w stosunku do których maj  by  

zastosowane filtry?

• pierwsza mo liwo : maski

grep word *

grep word * */* */*/*

• ale co np. z plikami:

– we wszystkich podkatalogach danego katalogu?
– utworzonymi po 1 stycznia 2001 roku?
– plikami wi kszymi ni 10K?

background image

37

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

73 / 81

Polecenie find

find [path...] [expression] 

• polecenie szuka plików w hierarchii katalogowej katalogu 

(lub wielu katalogów) 

path

• w skład

expression

wchodz :

– opcje
– testy
– akcje
– operatory

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

74 / 81

Polecenie find - opcje

-depth

- przetwarza zawarto  ka dego katalogu przed 

samym katalogiem jako takim

-maxdepth gł boko

- schodzi maksymalnie 

gł boko

(nieujemna liczba całkowita) poziomów 

katalogów od argumentów wiersza polece . `

-maxdepth

0

' oznacza, by testy i akcje stosowa  tylko do argumentów 

wiersza polece

-follow

- rozwikłuje dowi zania symboliczne 

-xdev

- nie zagł bia si  w katalogi na innych systemach 

plików

...

background image

38

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

75 / 81

Polecenie find - testy

Warto ci numeryczne mog  yb  podawane jako +n (wi kszy od n), -n (mniejszy od n) lub n

(równy n).

-amin n

- dost p do pliku nast pił ostatnio n minut temu

-cmin n

- status pliku został zmieniony n minut temu

-mmin n

- dane pliku były ostatnio modyfikowane n minut temu

-size n

- plik  zajmuje  jednostek miejsca (jednostki to domy lnie 512-bajtowe bloki)

-inum n

- plik ma numer iw zła n

-name wzorzec

- podstawa nazwy pliku (z usuni t   cie k  i poprzedzaj cymi katalogami) 

odpowiada wzorcowi powłoki wzorzec

-perm prawa

- bity praw pliku s  dokładnie równe prawom

-perm -prawa

- wszystkie bity prawa s  ustawione dla pliku

-perm +prawa

- który  z bitów praw jest ustawiony dla pliku

-type x

- plik jest typu (x=‘f’ zwykły plik, x=‘d’ katalog, x=‘l’ dowi zanie, itd.)

-user userid | username

- wła cicielem pliku jest username (lub numerycznie userid)

-group groupid | groupname

plik nale y do grupy groupname (lub numerycznie 

groupid)

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

76 / 81

Polecenie find - akcje

-print

- prawdziwe; wypisuje pełn  nazw  pliku na standardowe 

wyj cie, za nazw  daje now  lini  (akcja domy lna)

-exec polecenie ;

- wykonuje  polecenie;  prawdziwe  je li  

zwrócony  został  status 0; wszelkie nast pne argumenty find s  brane 

za argumenty polecenia, a  nie zostanie napotkany argument, 

składaj cy si  z ‘;’

-ok polecenie ;

- podobne do -exec, lecz pyta wpierw u ytkownika 

(na standardowym wej ciu); je li odpowied  nie rozpoczyna si  od `y' lub 

`Y',  nie  uruchamia polecenia i zwraca fałsz

...

background image

39

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

77 / 81

Polecenie find - operatory

Wymienione w malej cym priorytecie:

( wyra ) - wymusza pierwsze stwo.

! wyra - prawdziwe je li wyra jest fałszywe

wyra 1 wyra 2 - and (jawny); wyra 2 nie jest analizowany je li wyra 1 jest 

fałszywe

wyra 1 -and wyra 2 - to samo, co wyra 1 wyra 2

wyra 1 -or wyra 2 - or; wyra 2 nie jest analizowane je li wyra 1 jest 

prawdziwe 

wyra 1 , wyra 2 - lista; zarówno wyra 1 jak i wyra 2 zawsze s  

analizowane.  Warto  wyra 1 jest niszczona; warto  listy jest 

warto ci  wyra 2

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

78 / 81

U ycie find

• Znajd  w katalogu domowym wszystkie pliki na f

find ~ -name ‘f*’ -print

• Znajd  w katalogu domowym wszystkie pliki o wilek ci 10K

find ~ -size 10k -print

• Usu  pliki o nazwie core

find / -name core –exec rm {} \;

background image

40

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

79 / 81

Porównanie dwóch plików: diff

polecenie diff porównuje dwa pliki i wy wietla opis ró nic, u ycie:

diff [options] file1 file2

-q

- poinformowanie jedynie o tym, czy pliki si  ró ni

-i

- ignorowanie zmian w wielko ci liter

-w

- ignorowanie wszystkich odst pów przy porównywaniu plików

--binary

- wymuszenie odczytu i zapisu danych w trybie binarnym

-e

- generowanie skryptu ed transformacji file1 do file2

apples
oranges
walnuts

apples
oranges
grapes

diff test1 test2
3c3
< walnuts
---
> grapes

SYSTEMY OPERACYJNE KOMPUTERÓW

UNIX – PODSTAWOWE POLECENIA POWŁOKI

80 / 81

Porównanie dwóch plików: cmp comm

cmp

- porównuje dwa pliki lub zakresy bajtów

– narz dzie cmp porównuje dwa dowolnego typu pliki i wypisuje 

wynik na standardowym wyj ciu.  Domy lnie, cmp milczy gdy 

pliki s  takie  same.   Je li si  ró ni , zgłaszany jest numer bajtu

i linii, gdzie wyst piła pierwsza ró nica.

comm

porównaj dwa posortowane pliki linia po linii

– bez opcji comm wypisuje wynik w trzech kolumnach. Kolumna 

pierwsza zawiera linie unikatowe dla plik1, kolumna druga  

zawiera  linie  unikatowe  dla plik2, a kolumna trzecia zawiera 

linie wspólne obu plikom; 

– oba pliki musz  by  posortowane zanim b dzie mo na u y

comm, przy czym ko cz ce znaki nowej linii s  znacz ce.