SO polecenia UNIX


Polecenia systemu UNIX
Wszystkie usługi jakie oferuje system operacyjny UNIX inicjowane są
na żądanie użytkownika wyrażone przez odpowiednie polecenie
systemu. System dostarcza użytkownikowi niezwykle bogaty zestaw
programów usługowych, takich jak: edytory, kompilatory języków
programowania, programy obróbki plików i in. Prawie wszystkie
polecenia wydane systemowi UNIX implementowane są jako niezależne
programy umieszczone w kilku ustalonych skorowidzach (skorowidzach)
w hierarchii plików systemu. Skorowidzami tymi są:
/bin - zawiera główne polecenia (binarne programy) systemowe,
/usr/bin - zawiera pozostałe polecenia,
/etc - zawiera polecenia i pliki konfiguracyjne zwiÄ…zane z administracjÄ…
systemu.
Standardowy zbiór poleceń wykonywanych przez system liczy
przeszło 100 w małych systemach do kilkuset w dużych. Użytkownik
może łatwo dodać dowolną liczbę poleceń, ponieważ między
poleceniami a innymi programami, z punktu widzenia systemu, nie ma
żadnych różnic. Polecenia identyfikowane są przez nazwę programu,
który je realizuje, dlatego też użytkownicy często tworzą lokalne
skorowidze poleceń w swoich poddrzewach hierarchii plików, np. w
skorowidzu:
$HOME/bin, gdzie $HOME oznacza skorowidz macierzysty danego
użytkownika.
Polecenia dodane przez użytkowników różnią się tym od
standardowych poleceń systemowych, że z pierwszych może korzystać
tylko i wyłącznie ich twórca, inni użytkownicy muszą na to otrzymać
zezwolenie, drugie są natomiast na równi dostępne dla każdego. Jeżeli
użytkownik nada nazwę globalnego polecenia systemowego swojemu
lokalnemu programowi, to o tym, które polecenie zostanie wykonane
(globalne czy lokalne), decyduje zawartość zmiennej środowiska PATH.
Jeśli specyfikacja globalnej ścieżki do polecenia w zmiennej PATH
poprzedza specyfikację lokalnej ścieżki, to wykonane zostanie polecenie
globalne - w przeciwnym razie lokalne. Podając pełną ścieżkę dostępu
do programu realizujÄ…cego polecenie unikamy poszukiwania programu
na podstawie zmiennej PATH.
1
W opisie poleceń kierowano się następującymi zasadami:
[ ] - zawiera parametr opcjonalny,
// - oznacza początek komentarza do końca danej linii (wiersza).
** - oznacza podstawowe polecenie systemu UNIX, które powinno
zostać opanowane przez każdego użytkownika
* - oznacza polecenie istotne, ale nie niezbędne do korzystania z
systemu
Sesja i środowisko użytkownika
Polecenie : env - wyświetl/ustaw środowisko wykonania programu
Składnia : env [ - ] [ name=value ]..[ command args ]
Opis :
polecenie pobiera aktualne środowisko, modyfikuje je zgodnie z
parametrami wywołania, a następnie wykonuje polecenie
command z argumentami args w zmodyfikowanym środowisku.
name - oznacza nazwę parametru środowiska, value - to nowa
wartość tego parametru. Flaga - powoduje, że polecenie
command wykonane będzie tylko w środowisku specyfikowanym
przez parametry name = value, tzn. bieżące środowisko nie
zostanie odziedziczone.
Jeśli nie podano żadnego parametru, wyświetlone jest aktualne
środowisko w formacie zmienna-wartość w jednej linii.
Przykład :
$ env - TEST=test env
TEST=test
Polecenie : exit** - kończ interpreter poleceń
Składnia : exit
Opis :
kończy aktualnie aktywny interpreter poleceń. Jeśli jest to ostatni
z aktywnych interpreterów w danej sesji użytkownika z
systemem, użytkownik zostaje rozłączony ("wylogowany").
Uwaga: jest to jedno z kilku poleceń systemowych, które
wykonywane jest przez interpreter poleceń, a nie program
wykonywalny.
2
Polecenie : id* - wyświetl identyfikatory użytkownika i grupy oraz ich
nazwy
Składnia : id
Opis :
wyświetla identyfikator użytkownika (uid), identyfikator grupy
użytkownika (gid) oraz odpowiadające im nazwy dla procesu
wywołującego. Jeśli efektywne i rzeczywiste identyfikatory są
różne, to wyświetlane są obydwa.
Polecenie : newgrp* - przypisz użytkownika do nowej grupy
Składnia : newgrp [ - ] [ group ]
Opis :
zmienia identyfikator grupy użytkownika. Użytkownik rozpoczyna
pracę w nowym interpreterze poleceń, który zastąpiłpoprzedni
(patrz funkcja exec). Eksportowane zmienne środowiskowe
zachowują swoje wartości. Wszystkie nieeksportowane zmienne
sÄ… ustawiane na puste lub przypisywana jest im standardowa
wartość.
Wywołane bez parametrów, polecenie zmienia identyfikator
grupy użytkownika na podany w pliku /etc/passwd.
Jeśli pierwszym argumentem jest -, aktualne środowisko zostaje
zmienione na środowisko, w którym pracowałby użytkownik,
gdyby jeszcze raz rozpoczÄ…Å‚ pracÄ™, tym razem w nowej grupie.
Polecenie : passwd** - zmień hasło
Składnia : passwd [name]
passwd -d name
passwd -l name
Opis :
zmienia lub instaluje nowe hasło dla danego użytkownika. Pyta o
stare i nowe hasło. O nowe hasło pyta dwukrotnie, by
zmniejszyć możliwość popełnienia błędu. Parametry wywołania
są następujące:
name nazwa (login) użytkownika, którego hasło ma być
modyfikowane
- l blokuje konto związane z użytkownikiem name,
-d usuwa hasło związane z użytkownikiem name. Użytkownik
name nie będzie pytany o hasło przy próbie wejścia do
systemu.
3
Jeżeli nie podano żadnego parametru, polecenie zmienia
aktualne hasło użytkownika. Tylko użytkownik uprzywilejowany
może zmieniać hasła różne od swojego.
Przykład :
$ passwd // zmień aktualne hasło użytkownika
$ passwd ellis // zmień hasło ellis (tylko root)
Polecenie : tty* - wyświetl nazwę terminala
Składnia : tty
Opis :
wyświetla nazwę urządzenia związanego z terminalem, na
którym aktualnie pracuje użytkownik.
Przykład :
$ tty
/dev/tty01
Informacja o systemie
Polecenie : date* - wyświetl i ustaw datę
Składnia : date [ + format ] (1)
date [ mmddhhmm[yy] ] (2)
Opis :
bez podania argumentu lub gdy argument rozpoczyna siÄ™ od +,
polecenie wyświetla bieżącą datę i czas (format nr 1). W
przeciwnym razie (format nr 2), ustawiane zostają bieżące: data i
czas. mmddhhmmyy odnosi siÄ™ do miesiÄ…ca, dnia, godziny,
minuty oraz roku.
Datę może ustawić tylko superużytkownik (root).
Jeśli argument rozpoczyna się od znaku +, format wyświetlanej
daty zależy od użytkownika. Format specyfikowany jest przez
zbiór jednoliterowych deskryptorów pól poprzedzonych znakiem
%.
Najważniejsze deskryptory pól (muszą być poprzedzone
znakiem %):
d - dzień miesiąca, od 01 do 31
D - data mm/dd/yy
4
H - godzina, od 00 do 23
I - godzina, od 01 do 12
j - numer dnia w roku, od 001 do 366
m - miesiÄ…c w roku, od 01 do 12
M - minuta, od 00 do 59
n - znak nowej linii
S - sekundy, od 00 do 59
t - znak tabulacji
T - czas w formacie: hh:mm:ss
y - rok w obrębie wieku, od 00 do 99
Y - rok jako liczba czterocyfrowa
Przykład :
# date 0115145295 // ustaw datÄ™ 15 stycznia 1995
godz. 14:52:00
$ date '+DATA: %d.%m.%Y%nCZAS: %H:%M:%S' // wyświetl
datÄ™
DATA: 15.01.1995
CZAS: 14:52:15
Polecenie : df* - podaj liczbę wolnych bloków dyskowych i węzłów
(inode)
Składnia : df [ -ltv ] [ system_plików | skorowidz |
zamontowany_zasób ]
Opis :
raportuje wielkość pamięci dyskowej oraz liczbę węzłów.
Wartości, w zależności od parametru wywołania, podają
całkowitą ilość bloków/węzłów, ilość bloków/węzłów wolnych i
zajętych.
system_plików - specyfikowany jest przez nazwę urządzenia
(np. /dev/dsk/0s1) lub przez punkt montowania systemu plików
(np. skorowidz /usr)
skorowidz - dowolny skorowidz w systemie plików. Raport
wyświetli informacje dotyczące urządzenia (systemu plików)
zawierajÄ…cego ten skorowidz.
zamontowany_zasób - może być nazwą zasobu zdalnego (np.
rezydujÄ…cego na serwerze)
Opcje wywołania polecenia df:
-l raportuj stan tylko lokalnych systemów plików
-t oprócz wartości wolny oraz zajęty podaj wartość całkowity
5
-v podaj procent zajętości urządzenia oraz liczbę bloków
wolnych i zajętych
Przykład :
$ df /dev/fd0 //podaj wolną przestrzeń na dyskietce
$ df /u //raportuj wolną przestrzeń w systemie
// plików zamontowanym w skorowidza /u
Polecenie : du* - raportuj zajętość dysku
Składnia : du [ -sar ] [ nazwy ]
Opis :wyświetla liczbę bloków dyskowych należących do
wszystkich plików i (rekursywnie) skorowidzów w każdym
skorowidza lub pliku wyspecyfikowanym w argumencie nazwy.
Jeśli nie podano argumentu nazwy, domyślnie użyty zostanie
bieżący skorowidz. Opcjonalnymi argumentami polecenia du są:
-s wyświetl tylko całkowitą liczbę bloków
-a dla każdego pliku generowana jest informacja o zajętości
(domyślnie tylko dla skorowidzów)
-r generuj komunikaty o skorowidzach, które nie mogą być
przeczytane i plikach, które nie mogą zostać otwarte
Pliki z dwoma lub więcej łącznikami (linkami) liczone są tylko
raz.
Przykład :
$ du -s // raportuj zajętość bieżącego poddrzewa
/usr/tst 1210 blocks
$ du -a /tmp // raportuj zajętość skorowidza /tmp
/tmp/mm11.aaa 35 blocks
/tmp/mm12.aaa 107 blocks
/tmp/Ex123sa.cd 1200 blocks
/tmp 1342 blocks
Polecenie : man* - wyświetlaj pozycje dokumentacji
Składnia : man tytuł
Opis :
wyszukuje i wyświetla informację na temat danego polecenia,
specyfikowanego przez tytuł.
Przykład :
$ man man // wyświetla dokumentację polecenia man
Polecenie : who* - wyświetl aktywnych w systemie użytkowników
Składnia : who
6
who am i
who am I
Opis :
wyświetla listę użytkowników, nazwę linii terminala oraz czas
wejścia do systemu dla każdego z użytkowników aktualnie
pracujÄ…cych w systemie.
polecenie who z parametrami am i lub am I identyfikuje
użytkownika, który je wywołał.
Uwaga :
Polecenie who ma znacznie więcej parametrów wywołania niż
przytoczono w powyższym opisie - używane są one jednak
rzadko przez zwyczajnych użytkowników.
Przykład :
$ who
NAME LINE TIME
donna /dev/tty0409:05
janusz /dev/tty0210:12
jurek /dev/tty0309:55
tst /dev/tty0110:28
$ who am i
NAME LINE TIME
tst /dev/tty0110:28
Pliki i skorowidze
Polecenie : cat* - Å‚Ä…cz i drukuj pliki
Składnia : cat [ -u ] plik ...
Opis :
czyta każdy plik, wyspecyfikowany w linii zlecenia, po kolei i
przesyła rezultat na standardowe wyjście. Jeśli nie podano
żadnego pliku wejściowego jako parametru, jako wejście
zostanie wtedy użyte wejście standardowe.
WyjÅ›cie jest buforowane, chyba że podana zostaÅ‚a flaga ©-u©.
Przykład :
$ cat plik1 plik2 plik3 > plik4 //połącz trzy pliki
w jeden
7
$ cat plik1 plik2 | lp // połącz pliki i wydrukuj
Polecenie : cd** - zmień bieżący skorowidz
Składnia : cd [ skorowidz ]
Opis :
jeśli skorowidz nie zostałwyspecyfikowany, wartość parametru
$HOME przyjmowana jest jako nowy bieżący skorowidz. W
przeciwnym razie skorowidz staje się nowym bieżącym
skorowidzem (zakładając, że skorowidz istnieje i użytkownik ma
do niego dostęp).
Ponieważ interpreter poleceń kreuje nowy proces do wykonania
większości poleceń, cd nie spełniałby swego zadania, gdyby
wykonywany był jak zwykłe polecenie; dlatego też jest to
wewnętrzne polecenie interpretera poleceń.
Przykład :
$ cd // powróć do skorowidza macierzystego ($HOME)
$ cd /usr/src // przejdz do skorowidza /usr/src
Polecenie : cmp - porównuje dwa pliki
Składnia : cmp [ -l ] [ -s ] plik1 plik2
Opis :
dwa pliki są porównywane bajt po bajcie. Jeśli są one identyczne
zwracana jest wartość statusu 0; jeśli się różnią status wynosi 1 i
drukowany jest numer bajtu oraz linii w pliku, w miejscu gdzie
nastąpiła różnica.
Opcje:
-l drukuj różniące się bajty
-s nic nie drukuj poza statusem wyjściowym
Podając - zamiast plik1 spowodujemy porównywanie plik2 ze
standardowym wejściem.
Przykład :
$ cmp plik1 plik2 //sprawdz, czy pliki sÄ… jednakowe
$ cmp -l plik1 plik2// wydrukuj różniące się bajty
Polecenie : cp** - kopiuj pliki
Składnia : cp plik1 [ plik2 ... ] przeznaczenie
Opis :
8
kopiuje jeden plik na drugi plik lub jeden lub więcej plików do
wskazanego skorowidza.
Przykład :
$ cp stary_plik nowy_plik // skopiuj 'stary_plik'
do pliku 'nowy_plik'
$ cp plik1 plik2 ../plik3 /usr/tst/tmp
// skopiuj trzy pliki do
// skorowidza /usr/tst/tmp
Polecenie : copy - kopiuj grupy plików
Składnia : copy [ opcja ] ... skąd ... dokąd
Opis :
kopiuje zawartość skorowidzów do innych skorowidzów. Za
pomocą polecenia copy możliwe jest skopiowanie całych
systemów plików. Jeżeli pliki, skorowidze lub pliki specjalne nie
istniejÄ… w miejscu przeznaczenia (dokÄ…d), to sÄ… one tworzone z
tymi samymi trybami dostępu jak w zródle (skąd). Warto
zauważyć, iż skorowidzów zródła może być kilka - wtedy efekt
działania copy jest taki sam jak kilkakrotne wydanie polecenia
copy z tym samym przeznaczeniem, dla każdego
wyspecyfikowanego zródła.
-l jeśli możliwe nie kopiuj, ale używaj powiązań (links)
-o ustaw właściciela i grupę pliku, zgodnie z oryginałem
-mzachowaj czasy modyfikacji pliku zgodnie z oryginałem
-r rekursywnie przeglądaj skorowidze zródłowe
skąd zródło może być plikiem zwykłym, skorowidzem lub plikiem
specjalnym. Musi istnieć. Jeśli nie jest skorowidzem, to
rezultaty polecenia copy sÄ… takie same jak polecenia cp.
dokąd przeznaczenie musi być albo plikiem zwykłym, albo
skorowidzem, który jest różny od skorowidza zródłowego
Przykład :
$ copy -rom /usr/tst /u/tst
// kopiuj poddrzewo /usr/tst do /u/tst
// zachowując atrybuty plików
Polecenie : find* - wyszukiwanie plików
Składnia : find lista_ścieżek wyrażenie
Opis :
9
rekursywnie przechodzi hierarchię skorowidzów, dla każdej
ścieżki wyspecyfikowanej w lista_ścieżek, wyszukując nazwy
plików, które spełniają określone przez wyrażenie (boolowskie)
własności.
Wyrażenie może być postaci:
-name file prawdziwe, jeśli file zgadza się z bieżącą nazwą
pliku. Metaznaki ( *, ?, [ ) mogą być używane.
-perm mode prawdziwe, gdy tryb dostępu do pliku zgadza się z
trybem wyspecyfikowanym przez mode (liczba oktalna).
-type c prawdziwe, jeśli typ pliku jest c, gdzie c może być
b, c, d, p lub f odpowiednio dla specjalnego pliku
blokowego, specjalnego pliku znakowego, skorowidza,
pliku fifo oraz zwykłego pliku.
-links n prawdziwe, gdy plik ma n dowiązań
-user uname prawdziwe, gdy właścicielem pliku jest uname
-group gname prawdziwe, gdy plik należy do grupy gname
-size n[c] prawdziwe, gdy wielkość pliku wynosi co najmniej
n bloków, lub znaków, jeśli dodano c
-atime nprawdziwe, gdy nie było dostępu do pliku przez ostatnie
n dni
-mtime n prawdziwe, gdy plik nie był modyfikowany przez
ostatnie n dni
-ctime nprawdziwe, gdy plik nie byłstworzony w ciągu ostatnich
n dni
-exec cmd prawdziwe, jeżeli wykonane polecenie cmd zwraca
wartość 0. Argument {} jest zastępowany przez bieżącą
nazwÄ™ pliku
-print zawsze prawdziwe; bieżąca nazwa pliku wysyłana jest na
standardowe wyjście.
-mount zawsze prawdziwe; ogranicza poddrzewo przeszukiwań
do systemu plików, na którym rezyduje skorowidz
wyspecyfikowany w lista_ścieżek
( wyrażenie) prawdziwe, jeśli wyrażenie logiczne w nawiasach
jest prawdziwe. Dozwolone operatory logiczne to: !
(unary not), -o (or). Nawiasy powinny być poprzedzone
znakiem \.
Przykład :
// Usuń wszystkie pliki a.out oraz core w systemie
plików /usr, do których nie było dostępu w ciągu
ostatnich 10 dni:
10
#find / \(-name a.out -o -name core\) -atime +10
-exec rm {} \;
// Znajdz w bieżącym poddrzewie wszystkie pliki
zwykłe, które w nazwie mają ciąg liter erm:
$ find . -type f -name  *erm* -print
Polecenie : ln* - utwórz łącznik do pliku
Składnia : ln [ -f ] plik [ nazwa ]
Opis :
tworzy dla wskazanego pliku łącznik (nazwę, która może być
używana jako synonim). Jeśli nazwa nie jest podana, wtedy
ostatni składnik ścieżki dostępu do pliku plik traktowany jest jako
nazwa. Gdy wyspecyfikowano parametr -f, ln działa bez
zadawania pytań.
Przykład :
// uczyń słowo 'nowa_nazwa' synonimem dla nazwy
pliku 'plik'
$ ln plik nowa_nazwa
// stwórz łącznik nazwany 'boss' w bieżącym
skorowidzu
$ ln /utl/bin/boss
Polecenie : ls** - wyświetl zawartość skorowidza
Składnia : ls [ -RadxmlnogrtucpFbqisf ] [ nazwa ... ]
Opis :
dla każdego argumentu nazwa wyświetl zawartość skorowidza
lub informacje o pliku, jeśli nie jest to skorowidz. Domyślnie
wydruk sortowany jest alfabetycznie według nazw plików. Kiedy
nie podano argumentu nazwa wyświetlany jest bieżący
skorowidz.
Najczęściej używane opcje wywołania:
-R rekursywnie wyświetlaj poddrzewo
-a wyświetl wszystkie pozycje skorowidza, nawet
rozpoczynajÄ…ce siÄ™ od ©.©
-d nie listuj zawartości skorowidzów
-i podaj numery węzłów dla plików
11
-l długi listing: tryb, ilość łączników, właściciel, grupa, wielkość,
czas
-r odwróć porządek sortowania
-s podaj wielkość w blokach
-t sortuj w/g czasu, najnowsze na poczÄ…tku
Pozostałe opcje wywołania opisane są w dokumentacji systemu
(man ls).
Przykład :
// wyświetl zawartość bieżącego skorowidza w długim
formacie;
// podaj numery węzłów plików
$ ls -ali
Polecenie : mkdir** - utwórz skorowidz
Składnia : mkdir [ -m tryb ] [ -p ] skorowidz ...
Opis :
utwórz skorowidz o nazwach skorowidz ... Utworzenie
skorowidza wymaga posiadania prawa dostępu do zapisu w
skorowidzu nadrzędnym. Identyfikatory właściciela oraz grupy
tworzonego skorowidza ustawiane sÄ… na podstawie
rzeczywistych identyfikatorów procesu użytkownika.
Dozwolone opcje wywołania:
-m ustawia tryb tworzonego skorowidza na tryb;
-p powoduje utworzenie nieistniejących skorowidzów
nadrzędnych
Przykład :
// załóż skorowidz tools w bieżącym skorowidza
$ mkdir tools
// załóż podany skorowidz wraz z utworzeniem
wszystkich
//nieistniejących skorowidzów nadrzędnych
$ mkdir -p /usr/utl/src/backup/cpio
Polecenie : more* - wyświetl plik stronami
Składnia : more [ flagi ] [ plik ... ]
Opis :
12
wyświetla pliki stronami wielkości ekranu. Po wyświetleniu
strony, w dolnej linii ekranu ukazuje siÄ™ komunikat ©--More--©.
Polecenie czeka na wydanie komendy.
Dozwolonymi komendami sÄ…:
SPACJA następna strony
d następne pół strony
RETURN następna linia
SPACJA następne i linii
z następne i linii i ustawienie długości strony na z
= aktualny numer linii
h lub ? pomoc; krótki opis komend polecenia more
p przeglÄ…danie pliku od poczÄ…tku
n następny plik
/ szukanie wyrażenia regularnego
q lub Q koniec pracy z more
Rozpoznawane są następujące flagi:
- ustalenie długości strony na numer linii
+ wyświetlanie od linii o numerze numer
-f obcinanie za długich linii
-s kompresja wielu pustych linii do jednej
Przykład :
// wyświetlaj zawartość bieżącego skorowidza stronami
$ ls -al | more
// wyświetl pliki generator.c oraz generator.h
stronami po 10 linii
$ ls -10 generator.c generator.h
Polecenie : mv** - przenieś lub zmień nazwę pliku
Składnia : mv [ -f ] plik1 [ plik2 ... ] plik_docelowy
Opis :
przenosi jeden (plik1) lub więcej (plik1, plik2, ...) plików do
pliku_docelowego. Zazwyczaj plik_docelowy jest skorowidziem,
jeśli nie jest - zawartość pliku plik_docelowy jest niszczona.
Parametr -f powoduje przejście do trybu bez zadawania pytań.
13
Przykład :
//zmień nazwę pliku ze stara_nazwa na nowa_nazwa
$ mv stara_nazwa nowa_nazwa
// przenieÅ› trzy pliki do skorowidza /u/tmp
$ mv plik1.txt plik2.txt plik3.txt /u/tmp
Polecenie : od - wyświetlaj plik w różnych formatach
Składnia : od [-bcdosx] [plik] [ [+] offset [ . ] [b]]
Opis :
wyświetla plik w różnych formatach. Jeśli nazwa pliku zostanie
pominięta, wówczas przetwarzane będzie standardowe wejście.
Parametr offset określa przesunięcie w pliku, od którego nastąpi
wyświetlanie bajtów. offset interpretowany jest jako liczba
oktalna, chyba że jest za nim kropka, która zmienia interpretację
na liczbę dziesiętną lub b wskazująca na bloki (512 bajtów). Jeśli
pominięto nazwę pliku, parametr offset musi zostać
poprzedzony znakiem ©+©.
Podstawowe opcje wywołania:
-b format oktalny bajtów
-c format ASCII bajtów
-d format słów (2 bajty) dziesiętny bez znaku
-o format słów (2 bajty) oktalny
-s format słów (2 bajty) dziesiętny ze znakiem
-x format słów heksalny
Przykład :
// wyświetl plik oktalnie i heksalnie
$ od -ox plik
// wyświetl plik dziesiętnie, poczynając od 5 bloku
$ od -d plik 5.b
// wyświetl plik w postaci ASCII od bajtu 1000
$ od -c plik 1000.
14
Polecenie : pg* - wyświetlaj plik
Składnia : pg [ -liczba ] [ -p łańcuch ] [ -cefns ] [
+ numer_linii ] [ pliki ... ]
Opis :
wyświetla plik strona po stronie. Jeśli nie podano argumentu
pliki, program czyta ze standardowego wejścia. Po wyświetleniu
strony w dolnej części ekranu ukazuje się znak zachęty
(standardowo dwukropek) i polecenie czeka na akcjÄ™
użytkownika. Dozwolonymi komendami wydawanymi przez
użytkownika są:
RETURN następna strona
l następna linia
d następne pół strony
/wyr_reg szukaj wyrażenia regularnego wyr_reg do przodu
?wyr_reg szukaj wyrażenia regularnego wyr_reg do tyłu
n następny plik
p poprzedni plik
w długość strony linii
h pomoc; krótki opis komend polecenia pg
q lub Q koniec pracy z pg
!komenda wykonanie polecenia komenda przez interpreter
poleceń
Opcje wywołania:
-liczba ustaw wysokości wyświetlanej strony na liczba linii
-p łańcuch łańcuch - nowy łańcuch zachęty; standardowo jest
to ":"; symbol %d zamieniany jest na numer strony
-c czyść ekran przed wyświetleniem strony
-n komenda wydawana przez użytkownika nie musi być
kończona znakiem nowej linii
+ numer_linii wyświetlanie od linii numer_linii
Pozostałe opcje wywołania opisane są w dokumentacji systemu
(man pg).
Przykład :
// wyświetl zawartość pliku /etc/passwd począwszy od
100 linii;
// wyświetlaj w oknie o rozmiarach 10 linii;
// przed wyświetleniem strony czyść ekran
$ pg -10 -c +100 /etc/passwd
15
// czytaj wiadomości systemowe (program news) i
wyświetlaj je
// w oknie o wymiarze ekranu, podając w łańcuchu
zachęty numer strony
$ news | pg -p "(Strona %d):"
Polecenie : pwd** - wyświetl pełną nazwę bieżącego skorowidz
Składnia : pwd
Opis :podaje pełną ścieżkę aktualnego skorowidza roboczego.
Przykład :
// wyświetl nazwę bieżącego skorowidza
$ pwd
Polecenie : rm** - usuń pliki
Składnia : rm [ -f ] [ -i ] plik ...
rm -r [ -f ] [ -i ] skorowidz ...
Opis :usuwa jeden lub więcej plików z skorowidza. Jeśli plik nie
zezwala na zapis i standardowym wejściem jest terminal,
polecenie wyświetla tryb dostępu dla danego pliku i pyta o
potwierdzenie usunięcia.
Opcje wywołania:
-f rm działa bez zadawania pytań użytkownikowi
-i wymusza tryb interaktywny, nawet gdy standardowym
wejściem nie jest terminal
-r rekursywnie usuwa zawartość skorowidzów i same
skorowidze, wyspecyfikowane w parametrach wywołania
Przykład :
// usuń pliki program.c tekst.txt pytając o
potwierdzenie
$ rm -i program.c tekst.txt
// usuń skorowidz /u/tst/backup z całym
poddrzewem, nie
// pytajÄ…c o potwierdzenia
$ rm -rf /u/tst/backup
Polecenie : rmdir** - usuń skorowidz
Składnia : rmdir [ -p ] [ -s ] skorowidz ...
Opis :
16
usuwa skorowidz skorowidz jeśli jest on pusty i nadrzędny
skorowidz ma ustawiony dostęp do zapisu dla danego
użytkownika.
Opcje wywołania:
-p pozwala na usunięcie wszystkich skorowidzów w ścieżce
wyspecyfikowanej w parametrze skorowidz. Możliwe jest
to tylko wtedy, gdy kolejne skorowidze stajÄ… siÄ™ puste.
Podczas usuwania, na ekranie wyświetlane są
odpowiednie komunikaty.
-s blokuje wyświetlanie komunikatów gdy użyto opcji -p
Przykład :
// usuń skorowidz /u/tst/tmp
$ rmdir /u/tst/tmp
Polecenie : size - wyświetl wielkości segmentów programu
Składnia : size [ plik ... ]
Opis :
podaje wielkość segmentu tekstu (text), danych (data),
niezainicjalizowanych danych (bss) oraz całości wskazanego
pliku lub plików. Gdy nie podano argumentów, wartością
domyślną parametru plik jest a.out.
Przykład :
$ size pcount
38796 + 12848 + 5524 = 57168
Polecenie : sum - podaj sumę kontrolną i liczbę bloków pliku
Składnia : sum [ -r ] plik
Opis :
oblicza i wyświetla 16-bitową sumę kontrolną dla pliku plik i
podaje ilość bloków w pliku. Zazwyczaj polecenie używane jest
do sprawdzenia poprawności transmisji przez linię
komunikacyjnÄ….
Opcje wywołania:
-r do obliczenia sumy używany jest inny algorytm
Polecenie : touch - zmień czasy dostępu i modyfikacji pliku
Składnia : touch [ -amc ] [ mmddhhmm[yy] ] plik ...
Opis :
17
ustawia czasy dostępu i modyfikacji pliku (plików) podanego jako
argument na mmddhhmm[yy] (miesiąc, dzień, godzina, minuta,
rok). Jeśli plik nie istnieje, to jest tworzony.
Opcje wywołania:
-a ustawiany tylko czas dostępu
-mustawiany tylko czas modyfikacji
-c zapobiega wykreowaniu pliku, który nie istniał
Standardowymi opcjami sÄ…: -am.
Przykład :
// ustaw czasy dostępu do pliku plik1 na teraz
$ touch plik1
Polecenie : umask - ustaw maskę tworzenia plików
Składnia : umask [ ooo ]
Opis :
maska tworzenia plików dla danego użytkownika ustawiana jest
na ooo. Trzy cyfry oktalne odnoszÄ… siÄ™ do praw czytania/pisania/
wykonywania odpowiednio dla właściciela pliku, grupy i reszty
użytkowników. Wartość wyspecyfikowaną przez ooo odejmuje
się (bit po bicie) od wartości trybu przekazywanego funkcji creat.
Przykładowo: umask 022 usuwa prawo pisania dla grupy i
reszty użytkowników ( pliki tworzone z trybem 777 będą miały
tryb 755, a z trybem 666 będą miały 644).
Jeśli ooo zostało pominięte, wyświetlana jest aktualna maska
tworzenia plików. Polecenie to wykonywane jest wewnętrznie
przez interpreter poleceń.
Przykład :
$ umask 026 // nowa umask
$ umask // wyświetl umask
026
18
Modyfikacja atrybutów pliku
Polecenie : chgrp** - zmień grupę pliku
Składnia : chgrp grupa plik ...
Opis :
zmienia pole identyfikatora grupy dla wskazanego pliku.
Parametr grupa może być liczbą naturalną identyfikującą grupę
(group ID) albo nazwÄ… grupy, powiÄ…zanÄ… z identyfikatorem grupy
w pliku /etc/group. Tylko właściciel pliku lub super-użytkownik
mogą korzystać z polecenia chgrp dla danego pliku.
Jeśli polecenie wywoływane jest przez użytkownika innego niż
super-użytkownik, bit set-group-ID w trybie pliku jest kasowany.
Przykład :
//zmień grupę plików: plik1, plik2, plik3 na informix
$ chgrp informix plik1 plik2 plik3
Polecenie : chmod** - zmień tryb pliku
Składnia : chmod tryb plik ...
Opis :
ustawia prawa dostępu do pliku plik zgodnie z wartością
parametru tryb. Tryb może być liczbą oktalną lub wyrażeniem
symbolicznym specyfikującym prawa dostępu do pliku przez
grupy użytkowników. Poniżej opisana zostanie składnia
polecenia w przypadku, gdy tryb jest liczbÄ… oktalnÄ… (tzw. tryb
absolutny). Składnia symboliczna opisana została szczegółowo
w dokumentacji systemu ($ man chmod).
tryb jest 12 bitową liczbą oktalną (4 cyfry oktalne, każda
obejmuje trzy bity) powstałą przez bitowe sumowanie (OR)
następujących wartości oktalnych:
4000 ustaw bit set-user-ID dla wykonania
2000 ustaw bit set-group-ID dla wykonania
1000 ustaw sticky bit
0400 pozwolenie na czytanie przez właściciela
0200 pozwolenie na pisanie przez właściciela
0100 pozwolenie na wykonywanie przez właściciela
0070 pozwolenia odpowiednio na czytanie, pisanie, wykonanie
przez grupÄ™
0007 pozwolenia odpowiednio na czytanie, pisanie, wykonanie
przez innych
19
Przykład :
// pozwól wszystkim użytkownikom wykonywać plik
mtest, grupie czytać go, a właścicielowi czytać i
pisać
$ chmod 00751 mtest
// prawa dostępu jak wyżej, ale ustaw bit set-group-
ID dla wykonania
$ chmod 02751 mtest
Polecenie : chown** - zmień właściciela pliku
Składnia : chown użytkownik plik ...
Opis :
zmienia pole identyfikatora użytkownika dla wskazanego pliku.
Parametr użytkownik może być liczbą naturalną identyfikującą
użytkownika (user ID) albo nazwą użytkownika, powiązaną z
identyfikatorem użytkownika w pliku /etc/passwd. Tylko
właściciel pliku lub super-użytkownik mogą korzystać z
polecenia chown dla danego pliku.
Jeśli polecenie wywoływane jest przez użytkownika innego niż
super-użytkownik, bit set-user-ID w trybie pliku jest kasowany.
Przykład :
// uczyń użytkownika informix właścicielem plików
plik1, plik2
$ chown informix plik1 plik2
Przetwarzanie plików tekstowych
Polecenie : comm - wybierz wspólne wiersze z dwóch plików
Składnia : comm [ - [ 123 ] ] plik1 plik2
Opis :
czyta dwa posortowane w/g standardu ASCII pliki: plik1 i plik2 i
produkuje trzykolumnowy raport. W kolumnie 1 wyświetlane są
linie z pierwszego pliku, w kolumnie 2 z drugiego a w kolumnie 3
wspólne linie obu plików. Nazwa pliku wyrażona jako - oznacza
standardowe wejście.
Parametry 1, 2, 3 wstrzymują wyświetlanie odpowiednich
kolumn.
20
Przykład :
// wyświetl linie wspólne dla plików: plik1 i plik2
$ comm -12 plik1 plik2
// wyświetl linie z pliku plik1, których nie ma w
pliku plik2
$ comm -23 plik1 plik2
// nic nie wyświetlaj
$ comm -123 plik1 plik2
Polecenie : emacs* - pełnoekranowy edytor tekstowy
Składnia : emacs
Opis :
jest pełnoekranowym edytorem tekstowym, który stał się
standardem współczesnych instalacji systemu UNIX. Krótki opis
podstawowych poleceń związanych z obsługą edytora znajduje
się w załączniku.
Przykład :
// edytuj plik test.c
$ emacs test.c
Polecenie : grep* - szukaj wzoru w pliku
Składnia : grep [ -cilnsv ] wzór [ plik ... ]
Opis :
przeszukuje jeden lub więcej plików i wybiera wiersze
zawierające podany wzór. Wzorem jest wyrażenie regularne o
następującej składni:
1. Dowolny dający się wyświetlić znak odpowiada sobie
samemu
2. .(kropka) odpowiada każdemu znakowi z wyjątkiem line feed
3. ^ odpowiada poczÄ…tkowi linii
4. $ odpowiada końcowi linii
5. \c odpowiada znakowi c (włączając w to . ^ $ itd.)
6. [łańcuch] odpowiada dowolnemu ze znaków łańcucha
7. [^łańcuch] odpowiada dowolnemu znakowi z wyjątkiem tych
w łańcuchu
8. [x-y] odpowiada dowolnemu znakowi z zakresu miedzy x i y
(np. [a-z])
21
9. wzór* odpowiada dowolnej ilości wystąpień podanego wzoru
Przykłady wyrażeń regularnych :
White whale # odpowiada Å‚aÅ„cuchowi ©White wale©
^$ # odpowiada pustej linii
^\..*\.$ # odpowiada linii zaczynającej się i kończącej się
kropkÄ…
^[a-z0-9]*$ # odpowiada linii składającej się z dużych liter i
cyfr dziesiętnych
[A-Za-z0-9] # odpowiada dowolnej linii zawierającej duże litery
bÄ…dz cyfry
Jeśli parametr plik nie został wyspecyfikowany, przyjmowane
jest standardowe wejście. Jeśli podano więcej niż jeden
parametr typu plik, przed każdą zawierającą wzór linią
drukowana jest nazwa pliku.
Opcje wywołania:
-c wyświetl tylko liczbę linii zawierających wzór
-i ignoruj rozróżnianie dużych/małych liter podczas
wyszukiwania wzoru
-l wyświetl nazwy zbiorów, w których znaleziono linie z wzorem
-n poprzedz każdą linię jej numerem w pliku (pierwsza linia ma
numer 1)
-s nie wyświetlaj komunikatów o błędach
-v wyświetlaj linie nie zawierające wzoru
Jeśli znaleziono line zawierające wzór, zwracany jest status 0,
jeśli nie znaleziono zwracane jest 1, w przypadku wystąpienia
błędu wartość statusu wynosi 2.
Przykład :
// wyświetl wszystkie linie pliku /etc/passwd nie
zawierające łańcucha other
$ grep -v other /etc/passwd
// wyświetl wszystkie podskorowidze skorowidza /etc
$ ls -al /etc | grep ^d
Polecenie : sort - sortuj plik linii ASCII
Składnia : sort [ -bcdfimnru ] [ -o nazwa ] [ -tx ] [
+poz1 [ -poz2 ]] [ plik ... ]
22
Opis :sortuje linie w plikach podanych jako parametry wywołania plik,
wynik wypisując na standardowe wyjście. Linie czytane są ze
standardowego wejścia, jeśli zamiast parametru plik podano -.
Porównania linii dokonywane są na podstawie kluczy
pochodzących z linii wejściowych. Domyślnie istnieje tylko jeden
klucz sortowania - cała linia wejściowa i uporządkowanie
dokonywane jest na zasadach porzÄ…dku leksykalnego.
Następujące opcje wywołania zmieniają standardowe
zachowanie polecenia:
-b opuszczaj poprzedzajÄ…ce spacje
-c sprawdz, czy plik jest posortowany; nie wyświetlaj niczego,
chyba że plik nie jest posortowany
-d porządek słownikowy - tylko litery, cyfry i znaki białe biorą
udział w porównaniach
-f traktuj małe litery jak duże
-i ignoruj znaki, których nie można wydrukować (kontrolne)
-mpołącz posortowane pliki
-n porządek numeryczny - traktuj klucze-łańcuchy jak liczby
-r odwróć porządek sortowania
-u usuwaj powtarzajÄ…ce siÄ™ linie
-o wynik sortowania zostanie skierowany do pliku nazwa
-txużyj x jako separatora pól
Notacja +poz1 -poz2 ogranicza klucz sortowania do pola
rozpoczynającego się na pozycji poz1 i kończącego tuż przed
poz2. Brak -poz2 oznacza koniec linii. Numer pola liczony jest od
0. poz1 oraz poz2 mogą być postaci m.n, opcjonalnie
zakończone flagą bdfinr (patrz opis powyżej). Notacja taka
interpretowana jest następująco: n+1 znak m-tego pola.
Przykład :
// sortuj zawartość pliku w/g klucza wyznaczanego
przez drugie pole
$ sort +1 -2 plik
// sortuj odwrotnie zawartości plików plik1 oraz
plik2, umieszczajÄ…c wynik w pliku plik3; kluczem
sortowania jest pierwszy znak drugiego pola
$ sort -r -o plik3 +1.0 -1.2 plik1 plik2
// wyświetl plik /etc/passwd posortowany w/g
numerycznych identyfikatorów użytkowników (trzecie
pole odseparowane przez średnik)
23
$ sort -t: +2n -3 /etc/passwd
Polecenie : split - podziel plik na części
Składnia : split [ -n ] [ plik [ przedrostek ] ]
Opis :
czyta wskazany plik i dzieli go na mniejsze n-liniowe pliki.
Domyślnie pliki wyjściowe nazywane są xaa, xab itd. Opcjonalny
drugi argument może być użyty jako alternatywny przedrostek
dla plików wyjściowych. Jeśli nie podano nazwy pliku lub podano
-, używane jest standardowe wejście.
Przykład :
// dziel plik na części po 150 linii
$ split -150 plik
Polecenie : tr - zamieniaj znaki
Składnia : tr [ -cds] [ łańcuch1 [ łańcuch2 ]]
Opis :
wykonuje translacje symboli: każdy znak występujący w
łańcuch1 zamieniany jest na odpowiadający mu znak w
łańcuch2. Polecenie czyta ze standardowego wejścia i wynik
wysyła na standardowe wyjście.
Opcje wywołania:
-c uzupełnij zbiór znaków w łańcuch1 do kodów ASCII z
przedziału 1-255
-d wymaż wszystkie znaki podane w łańcuch1
-s zwiń wszystkie ciągi znaków podane w łańcuch2 do jednego
Można stosować skróty w/g następujące konwencji:
[a-z] łańcuch małych liter
[a*n] n powtórzeń a; gdy nie podano n, tylko *, wtedy n
przyjmowane jest jako bardzo duża liczba
Przykład :
// zamień duże litery w plik1 na małe; wynik umieść w
plik2
$ tr "[A-Z]" "[a-z]" plik2
// usuń wszystkie cyfry z plik1; wynik umieść w plik2
$ tr -d "[0-9]" plik2
24
Polecenie : vi* - standardowy edytor tekstowy
Składnia : vi [ opcje ] [ plik ... ]
Opis :
pełnoekranowy edytorem tekstowym. Podstawowy edytor w
systemach UNIX.
Krótki opis podstawowych poleceń związanych z obsługą
edytora znajduje siÄ™ w dokumentacji systemowej.
Przykład :
// edytuj plik example.txt
$ vi example.txt
Polecenie : wc ą oblicz liczbę słów w pliku
Składnia : wc [ -lwc ] [ plik ...]
Opis :
zlicza liczbę jednostek w pliku/plikach plik. Jeśli nie podano
parametru wywołania plik, przyjmowane jest standardowe
wejście.
Opcje wywołania:
-l licz linie
-w licz słowa
-c licz znaki
Domyślnymi opcjami wywołania są: -lwc.
Przykład :
// licz liczbę linii, słów oraz znaków w plikach:
plik1 i plik2
$ wc plik1 plik2
// ilu użytkowników pracuje aktualnie w systemie?
$ who | wc -l
Interpretery poleceń
Polecenie : podstawowe interpretery poleceń
Składnia : bash - Bourne Again Shell
csh - C Shell
sh- Bourne Shell
rsh - Restricted Bourne Shell
ksh - Korn Shell
rksh- Restricted Korn Shell
Opis:
25
wymienione wyżej powłoki opisane zostały w oddzielnym
dokumencie i wymienione tutaj zostały ze względów
porzÄ…dkowych.
Polecenie : su - zostań super-użytkownikiem lub innym użytkownikiem
Składnia : su [ - ] [ nazwa [ argumenty ] ]
Opis :
pozwala na zmianę identyfikatora użytkownika, bez ponownego
rozpoczęcia pracy z systemem. By zostać użytkownikiem
nazwa, niezbędne jest podanie hasła. Jeśli pierwszym
argumentem jest -, środowisko pracy zostanie zmienione, na
takie jakie rzeczywiście występuje tuż po zalogowaniu się jako
użytkownik nazwa.
Opcja wywołania -c łańcuch powoduje, że wykonane zostanie
polecenie zawarte w łańcuchu.
Przykład :
// zostań użytkownikiem uucp zachowując bieżące
środowisko
$ su uucp
// zostań użytkownikiem uucp, ale przyjmij
środowisko właściwe dla uucp
$ su - uucp
// wykonaj polecenie z chwilowym środowiskiem i
prawami użytkownika uucp
$ su - uucp -c "polecenie arg1 arg2"
Archiwizacja plików
Polecenie : pack, unpack, pcat - kompresuj i dekompresuj pliki
Składnia : pack plik ...
unpack plik ...
pcat plik ...
Opis :polecenie pack zapisuje plik w postaci spakowanej. plik zostaje
zastÄ…piony skompresowanym odpowiednikiem o rozszerzeniu .z.
Polecenie unpack działa odwrotnie. pcat działa analogicznie jak
cat, tylko że dla plików skompresowanych.
26
Przykład :
// skompresuj plik plik1; powstanie plik1.z
$ pack plik1
// zrób odpakowaną kopię pliku plik1
$ pcat plik1.z > plik1.org
// odpakuj plik1.z
$ unpack plik1 // .z przyjmowane domyślnie
Polecenie : tar - archiwizuj pliki
Składnia : tar [ crtux ][ f tarplik ] [ plik ... ]
Opis :zachowuje i odczytuje plik na nośniku archiwalnym
specyfikowanym przez tarplik, zazwyczaj na taśmie, dysku,
dyskietce. Jeśli plik jest skorowidziem, archiwizowane jest całe
poddrzewo tego skorowidza. Opcje wywołania:
c utwórz nowe archiwum
r dopisz na koniec archiwum
t wyświetl zawartość archiwum
u uaktualnij plik w archiwum
v wyświetlaj informacje o wykonywanych operacjach
x wydobÄ…dz z archiwum
Jeśli nie podano parametru tarplik, wtedy przeglądany jest plik
/etc/default/tar w celu znalezienia nazwy domyślnego
urzÄ…dzenia.
Przykład :
//zapisz trzy pliki na dyskietce (urzÄ…dzenie
/dev/fd0)
$ tar cvf /dev/fd0 plik1 plik2 plik3
// czytaj plik2 z dyskietki
$ tar xvf /dev/fd0 plik2
// zapisz zawartość bieżącego skorowidza i jego
całe poddrzewo na dyskietce
$ tar cvf /dev/fd0
Polecenie : cpio - archiwizuj pliki
Składnia : cpio -o [ acBvV ] [ -C bufor ] [ -O plik ]
[ -M komunikat ]
cpio -i [ BcdmrtuvV ] [ -C bufor ] [ -I
plik ] [ -M komunikat ] [ wzór ... ]
27
cpio -p [ adlmuvV ] skorowidz
Opis :
cpio -o czyta standardowe wejście, by otrzymać listę plików do
zachowania na standardowym wyjściu. Pliki zachowywane są
razem ze ścieżką i parametrami.
cpio -i odczytuje pliki ze standardowego wejścia, którym jest
produkt polecenia cpio -o.
cpio -p czyta standardowe wejście, by otrzymać listę plików,
które przenosi do skorowidza skorowidz.
Znaczenie opcji wywołania:
-a ustaw ostatni czas dostępu do pliku na bieżący
-B wejście i wyjście jest buforowane w rekordy o długości 5 120
bajtów.
-c zapisz nagłówek w formacie ASCII
-C wejście i wyjście jest buforowane w rekordy o długości bufor
-d skorowidze kreowane sÄ… automatycznie kiedy trzeba
-I czytaj plik jako wejście
-l kiedy możliwe, nie kopiuj, lecz stosuj powiązania
-mzachowaj poprzedni czas modyfikacji pliku
-Mkomunikat - definiuje tekst pojawiajÄ…cy siÄ™ podczas zmiany
nośnika
-Opisz do pliku
-r interaktywnie zmieniaj nazwy plików
-t listuj zawartość archiwum cpio
-u kopiuj bezwarunkowo (standardowo tylko nowsze pliki mogÄ…
przykryć starsze)
-v wyświetlaj informacje o wykonywanych operacjach
-V wyświetlaj kropkę przy każdym zapisywanym/odczytywanym
pliku
Przykład :
// zachowaj wszystkie pliki z bieżącego
skorowidza
$ ls | cpio -oc -O ../plik_cpio
// umieść zachowane pliki w skorowidza /usr/tst
$ cd /usr/tst; cpio -icvud -I plik_cpio
// przenieś system plików /usr do /u
# cd /usr; find . -depth -print | cpio -pdlmv /u
28
Polecenie : dd - kopiuj plik
Składnia : dd [ opcja=wartość ] ...
Opis :
kopiuje plik wejściowy do wyjściowego dokonując,
wyspecyfikowanych przez opcje wywołania, konwersji danych.
Rozpoznawane są następujące opcje:
if = plik - plik wejściowy (domyślnie we stand.)
of = plik - plik wyjściowy (domyślnie wy stand.)
ibs = n - wielkość bloku we. (domyślnie 512B)
obs = n - wielkość bloku wy. ( domyślnie 512B)
bs = n - wielkość bloków we i wy (domyślnie 512B)
skip = n - opuść n bloków we przed czytaniem
seek = n - opuść n bloków wy przed zapisem
count = n - skopiuj tylko n bloków wejściowych
conv = lcase - zamień duże litery na małe
conv = ucase - zamień małe litery na duże
conv = swab - zamień każda parę bajtów
conv = noerror - ignoruj błędy
Wielkości n specyfikujące ilość bajtów w bloku mogą kończyć się
literami k, b lub w oznaczajÄ…cymi odpowiednio: kilobajty, bloki
(512B) oraz słowa (2 bajty).
Polecenie podaje na zakończenie ilość pełnych i częściowych
bloków, które zostały przeczytane i napisane.
Przykład :
// kopiuj dyskietkÄ™ do pliku dyskietka
# dd if=/dev/rfd0 of=dyskietka bs=18k
// skopiuj dziesięć 512-to bajtowych bloków z pliku
plik1 do plik2
$ dd if=plik1 of=plik2 count=10
ZarzÄ…dzanie procesami
Polecenie : kill* - wyślij sygnał do procesu
Składnia : kill [ -numer_sygnału ] PID ...
Opis :wysyła sygnał o numerze numer_sygnału (standardowo 15 -
SIGTERM) do procesu o identyfikatorze PID. Gdy identyfikator
29
procesu PID jest równy 0, sygnał wysyłany jest do grupy
procesów, związanych z danym użytkownikiem.
Przykład :
// wyślij sygnał 9 do procesu 1132
$ kill -9 1132
Polecenie : ps* - wyświetl status procesów
Składnia : ps [ opcje ]
Opis :wyświetla informacje na temat aktywnych procesów. Gdy nie
podano żadnych opcji, drukowane są parametry procesów
związanych z danym terminalem kontrolnym. Wydruk składa się
z informacji obejmujÄ…cych: identyfikator procesu, dotychczasowy
czas wykonania, nazwÄ™ polecenia. Inne parametry wydruku
specyfikowane są przez opcje wywołania.
Opcje wywołania (podstawowe):
-e wyświetl wszystkie procesy
-f generuj pełną informację o procesach
-t termlist wyświetl procesy związane z terminalem termlist
-u uidlist wyświetl procesy związane z użytkownikiem uidlist
-g gidlist wyświetl procesy związane z grupą gidlist
Przykład :
// wyświetl pełną informację o procesach w systemie
$ ps -ef
// wyświetl informację o procesach związanych z
terminalem tty04
$ ps -t tty04
Polecenie : sleep - wstrzymaj wykonanie procesu
Składnia : sleep czas
Opis :wstrzymuje wykonanie procesu na czas sekund.
Przykład :
//wykonaj program pcount w tle; rozpocznij za 5 minut
$ ( sleep 300; pcount )&
30
Polecenie : wait - czekaj na zakończenie procesu
Składnia : wait [ pid ]
Opis :czekaj na zakończenie procesu tła o identyfikatorze pid. Jeżeli
parametr pid zostanie pominięty, interpreter poleceń czeka na
wszystkie procesy w tle wykreowane przez ten interpreter.
Wait wykonywane jest wewnętrznie przez shell.
Przykład :
//czekaj na zakończenie procesu o identyfikatorze
1376
$ wait 1376
Inne
Polecenie : clear** - wyczyść ekran terminala
Składnia : clear
Opis :czyści ekran terminala
Przykład :
$ clear // czyść ekran terminala
Polecenie : echo** - drukuj argumenty wywołania
Składnia : echo [ -n ] argumenty ...
Opis :pisze podane argumenty na standardowe wyjście. Argumenty
oddzielone są spacjami a zakończone są przez znak line feed
(chyba że podano flagę -n). Polecenie to używane jest głównie w
skryptach powłoki.
Przykład :
// wyświetl napis " Witaj w systemie"
$ echo Witaj w systemie
Polecenie : expr* - oblicz wartość wyrażenia
Składnia : expr argumenty
Opis :wyświetla wartość obliczonego wyrażenia. Można stosować
normalne wyrażenia arytmetyczne, łącznie z nawiasami.
31
Przykład :
// wyświetl liczbę 7
$ expr 3 + 4
// wyświetl iloraz zmiennej $D przez 3
$ expr $D / 3
Polecenie : test* - zbadaj wartość wyrażenia
Składnia : test wyrażenie [ wyrażenie ]
Opis :
bada podane wyrażenia i, nie wyprowadzając nic na ekran,
zwraca wartość statusu 0, jeśli wyrażenia są prawdziwe i inną
wartość, jeśli fałszywe.
Postać warunku:
-r plik prawdziwe gdy plik istnieje i może być czytany
-w plik prawdziwe gdy plik istnieje i może być pisany
-x plik prawdziwe gdy plik istnieje i może być wykonywany
-f plikprawdziwe gdy plik istnieje i jest plikiem zwykłym
-d plik prawdziwe gdy plik istnieje i jest skorowidziem
-c plik prawdziwe gdy plik istnieje i jest plikiem znakowym
-b plik prawdziwe gdy plik istnieje i jest plikiem blokowym
-p plik prawdziwe gdy plik istnieje i jest potokiem (pipe)
-u plik prawdziwe gdy plik istnieje i ustawiony bit set-uid
-g plik prawdziwe gdy plik istnieje i ustawiony bit set-gid
-k plik prawdziwe gdy plik istnieje i ustawiony bit-sticky
-t numer prawdziwe gdy otwarty plik o deskryptorze numer jest
terminalem
-z s1 prawdziwe gdy łańcuch s1 ma długość 0
-n s1 prawdziwe gdy łańcuch s1 nie ma długości 0
s1 = s2 prawdziwe gdy łańcuchy są identyczne
s1 != s2 prawdziwe gdy łańcuchy są różne
s1 prawdziwe gdy łańcuch s1 nie jest pusty
n1 -eq n2 prawdziwe gdy liczby całkowite n1 i n2 są równe.
Inne porównania to: -ne, -gt, -ge, -lt, -le.
Powyższe wyrażenia mogą być łączone spójnikami:
! unarna negacja
-a binarna koniunkcja
-o binarna alternatywa
32
( expr ) grupowanie
Przykład :
// czy plik1 jest skorowidziem
$ test -d plik1
//czy zmienna $x jest równa 2, a zmienna $p jest
nazwÄ…
// znakowego pliku specjalnego
$ test $x = 2 -a -c $p
Polecenie : tee - powiel standardowe wejście
Składnia : tee [ -ai ] plik
Opis :
kopiuje standardowe wejście na standardowe wyjście i do
wskazanego pliku.
Opcje wywołania:
-i ignoruj przerwania
-a dołączaj do plików, zamiast właściwego zapisywania
(destruktywne)
Przykład :
// wyświetl plik1 oraz plik2 i zapisz te pliki do
pliku plik3
$ cat plik1 plik2 | tee plik3
Polecenie : time - zmierz czas trwania polecenia
Składnia : time polecenie
Opis :
podaje w sekundach jak długo trwa wykonywanie
wyspecyfikowanego polecenia; czasy dotyczÄ…: czasu
rzeczywistego, czasu użytkownika i czasu systemu.
Przykład :
// jak długo trwa program a.out
$ time a.out
33


Wyszukiwarka