Polecenia systemu UNIX



Podobne dokumenty
Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Znaki globalne w Linuxie

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Linux: System Plików

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

1 Przygotował: mgr inż. Maciej Lasota

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Technologie Informacyjne - Linux 2

Przekierowanie wejścia wyjścia:

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

LABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

S P I S POLECEŃ LINUXA

Ćwiczenia Linux konsola

Wstęp do informatyki Shell podstawy

Powłoka interpreter poleceń systemu UNIX

Podstawy użytkowania Linux a

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Linux cz.3: polecenia systemowe, ćwiczenia

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

Wyrażenia regularne. Wyrażenia regularne 1/41

Pracownia Komputerowa wykład III

I. Interfejs użytkownika.

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Powłoka (shell) Powłoka ksh

Umożliwia ona pokazanie ukrytych plików i katalogów, nazwa ich zaczyna się od kropki.

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Ćwiczenie 1. Podstawowe wiadomości

Systemy operacyjne Programowanie w języku powłoki sh

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Zakład Systemów Rozproszonych

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

Prawa dostępu do plików

Tworzenie skryptu: Skrypty powłoki

Pracownia komputerowa. Dariusz wardecki, wyk II

Trochę o plikach wsadowych (Windows)

Jądro Powłoka System plików Programy użytkowe

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

2. System uprawnień w linuxie

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Wstęp do obsługi Linux a

Ćwiczenie 9 Linux - operacje systemu plików

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Systemy Operacyjne I: System plików

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Pracownia Komputerowa wykład II

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Elementy wyrażeń regularnych

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Powłoka bash. Kurs systemu Unix 1

Systemy Operacyjne I: Procesy

Temat zajęć: Wprowadzenie oraz obsługa systemu plików.

Powłoka, redyrekcja, potok

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Zastosowanie filtrów w Linuksie

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Konsola Linux. autor: Mariusz Barnaś

Konfiguracja parametrów pozycjonowania GPS /5

Praca semestralna. Temat: Użytkownicy, grupy, autoryzacja i uprawnienia w systemie Linux. CENTRUM EDUKACJI AKADEMIA SUKCESU

Dodatek nr 1: Niektóre polecenia systemu Linux (shell tcsh) A) Informacje wstępne

1 Obsługiwane funkcje wyzwalaczy

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Wstęp do obsługi Linux a

Środowisko programisty

Pracownia Komputerowa wykład III

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

System plików Linuxa. Tomasz Borzyszkowski

Pracownia Komputerowa wyk ad II

Strona1. Linux. Skrypty powłoki

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Programowanie w języku Python. Grażyna Koba

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

System operacyjny Linux

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Zakład Systemów Rozproszonych

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Transkrypt:

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, użytkownika. gdzie $HOME oznacza skorowidz macierzysty danego 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 ] 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. $ env - TEST=test env TEST=test Polecenie : exit** kończ interpreter poleceń Składnia : exit 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 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 ] 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 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. $ passwd // zmień aktualne hasło użytkownika $ passwd ellis // zmień hasło ellis (tylko root) Polecenie : tty* wyświetl nazwę terminala Składnia : tty wyświetla nazwę urządzenia związanego z terminalem, na którym aktualnie pracuje użytkownik. $ tty /dev/tty01 Informacja o systemie Polecenie : date* wyświetl i ustaw datę Składnia : date [ + format ] (1) date [ mmddhhmm[yy] ] (2) 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 # 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 ] 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 $ 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 ] 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. $ 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ł wyszukuje i wyświetla informację na temat danego polecenia, specyfikowanego przez tytuł. $ 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 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. $ 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... 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'. $ 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 ] 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ń. $ cd // powróć do skorowidza macierzystego ($HOME) $ cd /usr/src // przejdź do skorowidza /usr/src Polecenie : cmp porównuje dwa pliki Składnia : cmp [ -l ] [ -s ] plik1 plik2 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. $ cmp plik1 plik2 //sprawdź, czy pliki są jednakowe $ cmp -l plik1 plik2// wydrukuj różniące się bajty Polecenie : cp** kopiuj pliki Składnia : cp plik1 [ plik2... ] przeznaczenie 8

kopiuje jeden plik na drugi plik lub jeden lub więcej plików do wskazanego skorowidza. $ 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 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 źródle (skąd). Warto zauważyć, iż skorowidzów źró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 źró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 źródłowe skąd źró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 źródłowego $ 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 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 \. // 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 {} \; // Znajdź 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 ] 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ń. // 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... ] 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). // 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... 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 // 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... ] 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 <i> SPACJA następne i linii <i> 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 /<wyr_reg> szukanie wyrażenia regularnego q lub Q koniec pracy z more Rozpoznawane są następujące flagi: <numer> ustalenie długości strony na numer linii +<numer> wyświetlanie od linii o numerze numer f obcinanie za długich linii s kompresja wielu pustych linii do jednej // 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 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

//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]] 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 // 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... ] 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 <i>w długość strony <i> 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). // 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 podaje pełną ścieżkę aktualnego skorowidza roboczego. // wyświetl nazwę bieżącego skorowidza $ pwd Polecenie : rm** usuń pliki Składnia : rm [ -f ] [ -i ] plik... rm -r [ -f ] [ -i ] skorowidz... 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 // 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... 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 // usuń skorowidz /u/tst/tmp $ rmdir /u/tst/tmp Polecenie : size wyświetl wielkości segmentów programu Składnia : size [ plik... ] 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. $ size pcount 38796 + 12848 + 5524 = 57168 Polecenie : sum podaj sumę kontrolną i liczbę bloków pliku Składnia : sum [ -r ] plik 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... 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. // ustaw czasy dostępu do pliku plik1 na teraz $ touch plik1 Polecenie : umask ustaw maskę tworzenia plików Składnia : umask [ ooo ] 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ń. $ umask 026 // nowa umask $ umask // wyświetl umask 026 18

Modyfikacja atrybutów pliku Polecenie : chgrp** zmień grupę pliku Składnia : chgrp grupa plik... 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. //zmień grupę plików: plik1, plik2, plik3 na informix $ chgrp informix plik1 plik2 plik3 Polecenie : chmod** zmień tryb pliku Składnia : chmod tryb plik... 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

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

// 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 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. // edytuj plik test.c $ emacs test.c Polecenie : grep* szukaj wzoru w pliku Składnia : grep [ -cilnsv ] wzór [ plik... ] 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ądź 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 poprzedź 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. // 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

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 sprawdź, 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. // 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 ] ] 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. // dziel plik na części po 150 linii $ split -150 plik Polecenie : tr zamieniaj znaki Składnia : tr [ -cds] [ łańcuch1 [ łańcuch2 ]] 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 // zamień duże litery w plik1 na małe; wynik umieść w plik2 $ tr "[A-Z]" "[a-z]" <plik1 >plik2 // usuń wszystkie cyfry z plik1; wynik umieść w plik2 $ tr -d "[0-9]" <plik1 >plik2 24

Polecenie : vi* standardowy edytor tekstowy Składnia : vi [ opcje ] [ plik... ] 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. // edytuj plik example.txt $ vi example.txt Polecenie : wc oblicz liczbę słów w pliku Składnia : wc [ -lwc ] [ plik...] 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. // 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 ] ] 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. // 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... 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

// 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... ] 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ądź z archiwum Jeśli nie podano parametru tarplik, wtedy przeglądany jest plik /etc/default/tar w celu znalezienia nazwy domyślnego urządzenia. //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 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 // 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ść ]... 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. // 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... 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. // wyślij sygnał 9 do procesu 1132 $ kill -9 1132 Polecenie : ps* wyświetl status procesów Składnia : ps [ opcje ] 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 // 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 wstrzymuje wykonanie procesu na czas sekund. //wykonaj program pcount w tle; rozpocznij za 5 minut $ ( sleep 300; pcount )& 30

Polecenie : wait czekaj na zakończenie procesu Składnia : wait [ pid ] 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. //czekaj na zakończenie procesu o identyfikatorze 1376 $ wait 1376 Inne Polecenie : clear** wyczyść ekran terminala Składnia : clear czyści ekran terminala $ clear // czyść ekran terminala Polecenie : echo** drukuj argumenty wywołania Składnia : echo [ -n ] argumenty... 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. // wyświetl napis " Witaj w systemie" $ echo Witaj w systemie Polecenie : expr* oblicz wartość wyrażenia Składnia : expr argumenty wyświetla wartość obliczonego wyrażenia. Można stosować normalne wyrażenia arytmetyczne, łącznie z nawiasami. 31

// 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 ] 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 // 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 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) // 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 podaje w sekundach jak długo trwa wykonywanie wyspecyfikowanego polecenia; czasy dotyczą: czasu rzeczywistego, czasu użytkownika i czasu systemu. // jak długo trwa program a.out $ time a.out 33