Polecenia użytkownika systemu operacyjnego UNIX^{∗}

Dariusz Wawrzyniak darek@cs.put.poznan.pl

25 maja 2001

1 System plików

W odniesieniu do system plików wymagana jest znajomość następujących terminów i zagadnień: hierarchiczna struktura katalogów (drzewo katalogów), katalog bieżący, podkatalog i nadkatalog, nazwy plików i katalogów, scieżka względna i bezwzględna (absolutna).

1.1 Katalogi

ls [<opcje>] [<spec>] — listing zawartości katalogu. Opcje: -l — szczegółowa informacja a plikach (typ, prawa

dostępu, właściciel, grupa, czas dostępu, rozmiar, nazwa),

-a — informacja o wszystkich plikach (również ukrytych),

-d — w przypadku katalogu informacjach o pozycji katalogowej, a nie o zawartości katalogu.

Specyfikacja plików obejmuje ścieżkę do katalogu, którego zawartość ma zostać wyświetlona (domyślnie jest to katalog bieżący), oraz nazwy plików. W nazwach plików mogą pojawić się znaki uogólniające:

* — dowolny ciąg znaków, w szczególności pusty,

? — dowolny, pojedyńczy, niepusty znak,

[<znaki>] — jeden ze znaków wymienionych w nawiasach kwadratowych.

pwd — wyświetlenie bezwzględnej ścieżki do bieżącego katalogu roboczego.

cd [<katalog>] — zmiana bieżącego katalogu roboczego. Szczególne przypadki polecenia cd: cd .. — przejście do nadkatalogu,

cd / — przejście do korzenia drzewa katalogów,

cd — przejście do katalogu domowego danego użytkownika.

mkdir <podkatalog> — utworzenie nowego podkatalogu. Jeśli <katalog> jest ścieżką składającą się z kilku katalogów, tworzony jest ostatni z nich, a wszystkie wymienione nadkatalogi muszą już istnieć rmdir <podkatalog> — usunięcie pustego podkatalogu.

Usuwany katalog musi być pusty, nie może być w nim żadnych plików ani żadnych innych podkatalogów.

rm -r <podkatalog> — usuwanie poddrzewa katalogów. Polecenie rm służy do usuwania plików, a opcja -r oznacza usuwanie rekurencyjne. Efekt jest zatem taki, że usunięty zostaje wskazany podkatalog wraz z całą zawartością.

find <katalog> <spec> — przeszukiwanie poddrzewa katalogów. Przeszukiwane jest poddrzewo począwszy od katalogu podanego jako pierwszy argument. Każda pozycja katalogowa w poddrzewie sprawdzana jest pod kątem specyfikacji. Jeśli pozycja nie spełnia któregoś z kryteriów określonych w specyfikacji, jest odrzucana bez dalszego sprawdzania pozostałych kryteriów. Specyfikacja jest koniunkcją kryteriów, zdefiniowanych przez następujące opcje: -name <nazwa> — pozycje o podanej nazwie (być

może uogólnionej),

-size +<rozmiar> — pliki o rozmiarze większym niż <rozmiar> bloków,

-size -<rozmiar> — pliki o rozmiarze mniejszym niż <rozmiar> bloków,

-atime +<dni> — pliki, na których była wykonwana jakaś operacja więcej niż 24 godz.·<dni> temu,

-atime -<dni> — pliki, na których była wykonwana jakaś operacja mniej niż 24 godz.·<dni> temu,

-mtime +<dni> lub -mtime -<dni> — pliki,

które były modyfikowane odpowiednio więcej niż lub mniej niż 24 godz.·<dni> temu,

-ctime +<dni> lub -ctime -<dni> — pliki, któ-

rych i-węzeł był modyfikowany odpowiednio więcej niż lub mniej niż 24 godz.·<dni> temu,

-type <typ> — pliki określonego typu: f — pliki zwykłe, d — katalogi, l — dowiązania symboliczne, c — urządzenia znakowe, b — urządzenia blokowe, p — kolejki FIFO,

-print — wyświetla ścieżkę prowadzącą od katalogu <katalog> do pliku odpowiadającego dotychczas sprawdzonym kryteriom, -exec <polcenie> \; — wykonuje polecenie,

∗W przypadku wykrycia jakichkolwiek błędów proszę o mail na podany adres.

którego jednym z parametrów może być plik odpowiadający dotychczas sprawdzonym kryteriom (jeśli po -exec występują dalsze kryteria, to status 0 polecenia ozancza, że plik plik spełnia kryterium -exec ,

 -ok <polcenie> \; — podobnie jak -exec , lecz

przed każdym wykonaniem polecenia użytkownik proszony jest o potwierdzenie zamiaru jego wykonania,

 <kryterium> -o <kryterium>  — alternatywa

(wystarczy, że plik spełnia jedno z tych kryteriów).

1.2 Pliki

cp <źródło> <cel> — kopiowanie plików. Plik wskazany przez <źródło> (nazwa, nazwa uogólniona przez zastosowanie znaków *, ? lub [] z ewentualną ścieżką do katalogu) zostaje skopiowany w miejsce wskazane przez <cel>. <cel> może być katalogiem — powstają w nim wówczas kopie plików źródłowych o takich samych nazwach — lub może obejmować nazwę docelową, która może być inna niż nazwa pliku źródłowego. W przypadku, gdy <cel> obejmuje docelową nazwę pliku, kopiowany może być tylko jeden plik, czyli <źródło> musi specyfikować dokładnie jeden plik.

mv <źródło> <cel> — przenoszenie plików. Polecenie mv działa podobnie jak cp, z taką różnicą, że plik źródłowy (lub pliki) jest usuwany z systemu plików. W szczególności, gdy przesunięcie odbywa się w tym samym katalogu, polecenie oznacza tylko zmianę nazwy pliku.

ln <źródło> <cel> — tworzenie dowiązania do pliku. Polecenie ln działa podobnie jak cp, z taką różnicą, że nie powstaje dodatkowa kopia pliku źródłowego (lub plików), tylko dodatkowa nazwa dla istniejącego pliku. Wyróżnia się dwa rodzaje dowiązań: twarde i miękkie. Opcje: -s — utworzenie dowiązania miękkiego.

rm [<opcje>] <spec> — usuwanie plików. Usuwane są pliki odpowiadające specyfikacji <spec>, która ma podobny charakter, jak to opisan przy poleceniu ls. Opcje: -i — tryb interaktywny, usunięcie każdego kolejnego

pliku musi zostać potwierdzone przez użytkownika;

-r — usunięcie rekurencyjne, usuwane jest całe poddrzewo.

cmp <plik1> <plik2> — porównywanie zawartości plików. Opcje: -s — „ciche wykonanie”, nie jest wyprowadzany ża-

den komunikat, a wynik polecenie odzwierciedlany jest w postaci statusu zakończenia (0 — pliki są identyczne, 1 — pliki są różne). cat <spec> ... — łączenie plików odpowiadającej podanym specyfikacjom i przekazanie wyniku na standarodowe wyjście.

file <plik> — określanie typu pliku

                                               comm [<opcje>] <plik1> <plik2>  — prównywanie

posortowanych linii i przekazanie wyniku w formie trzech kolumn: pierwszej zawierającej linie z pliku <plik1>, których nie ma w pliku <plik2>, drugiej zawierającej linie z pliku <plik2>, których nie ma w pliku <plik1> i trzeciej zawierającej linie znajdujące się zarówno w pliku <plik1> i <plik2>. Opcje: -1 — pominięcie pierwszej kolumny,

-2 — pominięcie drugiej kolumny,

-3 — pominięcie trzeciej kolumny,

-12 — pominięcie pierwszej i drugiej kolumny,

-13 — pominięcie pierwszej i trzeciej kolumny,

-23 — pominięcie drugiej i trzeciej kolumny.

1.3 Prawa dostępu

chmod <prawa> <spec> — zmiana praw dostępu do plików odpowiadających specyfikacji <spec>. Prawa mogą być podane w postaci trzycyfrowej liczby interpretowanej ósemkowo lub w postaci specyfikacji obejmującej klasę użytkowników (u — właściciel, g — grupa, o — pozostali użytkownicy, a — wszyscy użytkownicy), rodzaj operacji dla danej klasy użytkowników (+ — dodanie praw, - — zabranie praw, = — zastąpienie istniejących praw nowymi) i zbiór praw, których dotyczy operacja (r — prawo do odczytu, w — prawo do zapisu, x — prawo do wykonywania).

                                               chown <użytkownik> <spec>  — zmiana właściciela

plików odpowiadających specyfikacji <spec> na użytkownika o nazwie <użytkownik>.

chgrp <grupa> <spec> — zmiana grupy plików odpowiadających specyfikacji <spec> na <grupa>.

2 Procesy

W odniesieniu do procesów wymagana jest znajmość pojęcia proces i odróżnianie procesu od programu.

ps [<opcje>] — wyświetlenie listy procesów. Opcje specyfikujące zakres informacji o procesach (projekcja): -f — pełna informacja o procesach;

-l — informacja o procesach w tzw. długiej formie.

Opcje do selekcji procesów:

-e — informacje o każdym procesie (every process);

                                                    -u <nazwa użytkownika> — wyświetlenie proce-

sów danego użytkownika (w UNIX’ie System V).

kill [-<nr sygnału>] <pid> ...  — wysłanie do

procesu sygnału o podanym numerze (domyślnie sygnał numer 15, czyli sygnał TERMination). Wybrane sygnały: KILL (9) — zabicie procesu,

HangUP (4) — zawieszenie terminala,

INTerrupt (2) — przerwanie procesu (sygnał wysyłany do procesu po naciśnięciu kombinacji Ctrl-C na terminalu sterującym danego procesu).

3 Standardowe wejście-wyjście

4 Potoki i filtry

more [<spec>] — przekazanie na standardowe wyjście zawartości wyspecyfikowanych plików lub danych przekazanych na standardowe wejście strona po stronie.

grep <wyrażenie regularne> [<spec>]  — przeka-

zanie na standardowe wyjście tych linii z wyspecyfikowanych plików lub danych przekazanych na standardowe wejście, które są zgodne z podanym wyrażeniem regularnym.

sort — przekazanie na standarodowe wyjście posortowanych linii z wyspecyfikowanych plików lub danych przekazanych na standardowe wejście. Opcje: -n — sortowanie numeryczne,

-r — sortowanie w porządku malejącym,

head [-<num>] [<spec>] — przekazanie na standardowe wyjście pierwszych <num> linii (domyślnie 10) z każdego wyspecyfikowanego pliku lub ze standardowego wejścia.

tail [-<num>] [<spec>] — przekazanie na standardowe wyjście ostatnich <num> linii (domyślnie 10) z każdego wyspecyfikowanego pliku lub ze standardowego wejścia.

cut [<opcje>] [<spec>] — przekazanie na standardowe wyjście wskazanych kolumn z wyspcyfikownych plików lub danych przekazanych na standardowe wejście. Opcje: -d<znak> — definiuje <znak> jako separator ko-

lumn (istotne dla opcji -f;

 -f<n1>,<n2>,<n3>-<n4>  — określa numery ko-

lumn, które mają być wyświetlone (<n3>-<n4> oznacza zakres od kolumny numer <n3> do kolumny numer <n4>, numeracja kolumn zaczyna się od 1);

 -c<n1>,<n2>,<n3>-<n4>  — określa numery lub

zakresy znaków, które mają być wyświetlone.

wc [<opcje>] [<spec>] — przekazanie łącznej liczby linii, słów i znaków w wyspecyfikowanych plikach lub danych przekazanych na standardowe wejście. Opcje:

-l — przekazywana jest tylko liczba linii, -w — przekazywana jest tylko liczba słów, -c — przekazywana jest tylko liczba znaków.

                                               tr [<opcje>] <ciąg1> [<ciąg2>]  — zastąpienie

odpowiadających sobie znaków wymienionych w ciągu <ciąg1> znakami z ciągu <ciąg2> w strumieniu przekazanym na standardowe wejście. Wynik przekazywany jest na standardowe wyjście. Opcje: -s — łańcuch powtarzających się kolejno takich samych znaków z ciągu <ciąg1> zastępowany jest jednym odpowiednim znakiem z ciagu <ciąg2>, -d — usunięcie znaków wymienionych w ciągu <ciąg1> (<ciąg2> wówczas nie występuje).

                                               uniq [opcje] [plik_wej [plik_wyj]]  — usunię-

cie z danych przekazanych na standardwowe wejście lub pobranych z pliku <plik_wej> powtarzających się kolejnych linii lub linii, które się nie powtarzają (w zaweżności do opcji). Prowidłowe działanie filtru wymaga przekazania posortowanych danych. Opcje: -c — poprzedzenie każdej linii liczbą jej wystąpień w

danych źródłowych -d — wyświetlnie tylko linii, które mają duplikaty (usunięcie linii występujących w pojedynczym egzemplarzu),

-u — wyświetlnie tylko linii, które nie mają duplikatów (usunięcie linii występujących w więcej niż jednym egzemplarzu).

5 Informacje o użytkownikach

finger — przekazanie informacji o zalogowanych lokalnie użytkownikach.

who — przekazanie informacji o zalogowanych lokalnie użytkownikach.

6 Komunikacja pomiędzy użytkownikami

                                               write <użytkownik> [<terminal>]  — umieszczenie

komunikatu przekazanego na standardowe wejście na terminalu użytkownika określonego przez argumenty w linii poleceń.

wall — umieszczenie komunikatu przekazanego na standardowe wejście na terminalach wszystkich zalogowanych użytkowników.

                                               talk <użytkownik>@[<adres>] — nawiązanie komu-

nikacji dwukierunkowej z użytkownikiem określonym przez argument w linii poleceń.

mesg y/n — zablokowanie/odblokowanie terminala dla komunikatów wysyłanych przez write , wall lub

                                                   talk

mail — wysyłanie i odbiór poczty elektronicznej.

7 Polecenia specjalne

echo — wyświetlenie ciągu znaków lub wartości zmiennej.

expr — wykonanie operacji arytmetycznej i przekazanie wyniku na standardowe wyjście.

test — sprawdzenie dostępności pliku lub prorównanie wartości. Wynik polecenia odzwierciedlony będzie w statusie, którego wartość w zależności od opcji będzie 0 (SUKCES), jeśli: -f <plik> — istnieje plik zwykły <plik> ,

-d <katalog> — istnieje katalog o podanej nazwie,

-l <link> — istnieje dowiązanie symboliczne o na-

zwie <link> ,

-r <plik> — pliku <plik> jest dostępny do odczytu,

-w <plik> — pliku <plik> jest dostępny do zapisu,

-x <plik> — pliku <plik> jest dostępny do wykonania lub w przypadku katalogu udostępnia swoją zawartość,

<wart1> -gt <wart2> — wartość numeryczna <wart1> jest większa niż wartość <wart2> ,

<wart1> -ge <wart2> — wartość numeryczna <wart1> jest większa niż lub równa wartości

<wart2> ,

<wart1> -lt <wart2> — wartość numeryczna <wart1> jest mniejsza niż wartość <wart2> ,

<wart1> -le <wart2> — wartość numeryczna <wart1> jest mniejsza niż lub równa wartości

<wart2> ,

<wart1> -eq <wart2> — wartość numeryczna <wart1> jest równa wartości <wart2> ,

<wart1> -ne <wart2> — wartość numeryczna <wart1> jest różna od wartości <wart2> ,

<string1> = <string2>  — ciąg znaków

<string1> jest taki sam jak ciąg znaków

<string2> ,

<wartość zmiennej> — zmienna o podanej nazwie istnieje i ma niepustą wartość.

date — wyświetlenie bieżącej daty i czasu.

cal — wyświetlenie kalendarza.