Podstawy informatyki UNIX Zajęcia 2 Laboratorium 2 Polecenia w systemie UNIX Wydział Energetyki i Paliw AGH w Krakowe
Podstawy informatyki UNIX Zajęcia 2 Polecenia ogólnego zastosowania
man znajdź i wypisz pomoc (help) Składnia: man -k keyword man -f file man [-][section[subsection]] entry_name Argumenty: keyword... - słowo poszukiwane w informatorze poleceń file -nazwa polecenia poszukiwana w informatorze poleceń section - wybrany tom podręcznika, subsection - wybrany rozdział podręcznika, entry_name - nazwa polecenia dla opisu pełnego, Polecenie poszukuje w podręczniku Systemu UNIX informacji na temat Wybranych instrukcji oraz wyświetla ich opis (skrócony lub pełny). W zależności od zastosowanych opcji może: wypisać te pozycje w podręczniku w których występuje słowo kluczowe (keyword) wypisać krótki opis wybranego polecenia wypisać pełną informację o poleceniu Opcje: -k - przeszukiwanie informatora wg. słów kluczowych, -f -przeszukiwanie informatora wg. nazw poleceń - -wypisywanie bez podziału na kolejne ekrany
man znajdź i wypisz pomoc (help) Przykład: Odpowiedzi systemu po poleceniach: man-k pwd passwd(4) pwd(1) man-f pwd pwd(1) man pwd pwd(1) NAME - password file, pwd.h - working directory name - working directory name pwd - working directory name SYNOPSIS pwd [-H] DESCRIPTION pwd prints the path name of the working...... Polecenie poszukuje w podręczniku Systemu UNIX informacji na temat Wybranych instrukcji oraz wyświetla ich opis (skrócony lub pełny). W zależności od zastosowanych opcji może: wypisać te pozycje w podręczniku w których występuje słowo kluczowe (keyword) wypisać krótki opis wybranego polecenia wypisać pełną informację o poleceniu
who kto jest w systemie Składnia: who am i who am I who [-mutlhqpdbrtasacr] [file] Argumenty: file -przeglądany jest plik file a nie standardowy /etc/wtmp Przykładowe opcje: -m równoważna poleceniu who am i lub who am I, -T pełna informacja łącznie ze stanem terminala, numerem procesu, nazwą komputera lokalnego itp. -H wypisywane są dodatkowo nagłówki kolumn,
who kto jest w systemie Przykłady: Symbol linii komunikacyjnej Za pomocą której użytkownik Łączy się z hostem Nazwa hosta czyli Komputera na którym Pracuje użytkownik Nazwa konta Data i godzina rozpoczęcia sesji
pwd podaj ścieżkę do katalogu aktualnego (roboczego) Składnia: pwd Przykład: $pwd /home/studenci/metal/im_8/grzes $
mkdir utwórz katalog Standardowo polecenie powoduje utworzenie nowych katalogów o nazwach podanych w argumencie dirname i prawach dostępu rwxr-xr-x (755). Standardowe pliki.i..są tworzone automatycznie. Składnia: mkdir[-mmode][-p] dirname katalogów o nazwach Argumenty: : mode prawa dostępu, które nadane zostaną nowo tworzonym katalogom dirname lista tworzonych katalogów Użytkownik musi posiadać prawo do pisania w katalogu w którym tworzone są nowe katalogi. Opcje: : -m pozwala użytkownikowi nadać prawa dostępu -p tworzy jednocześnie wszystkie rodzicielskie którym tworzone są nowe katalogi o ile nie istniały Przykład: : mkdir -m 667 -p warstwa/bottom Powoduje utworzenie nowych katalogów warstwa(jeśli nie istniał) w katalogu aktualnym i bottomw katalogu warstwaoraz przypisuje im prawa dostępu do czytania i pisania dla wszystkich użytkowników a prawo do egzekucji właścicielowi.
Przykład cd.. Próba utworzenia struktury katalogowej Katalog 2/Katalog3, gdzie obydwa z katalogów nie istnieją Konieczne zastosowanie opcji -p Tworzenie katalogu + nadanie praw (patrz polecenie chmod)
ls wypisanie zawartości katalogów Składnia: Argumenty: names lista katalogów ls[ - abcdfgilmnopqrstuxacfhlr1 ] [names] Opcje: -a wypisuje wszystkie pliki, również ukryte, -l pełna informacja o plikach: typ pliku, prawa dostępu, ilość linków, właściciel, grupa, rozmiar, czas modyfikacji oraz nazwa, -p dopisanie znaku / do nazwy katalogów, -r wypisanie w kolejności od najstarszego do najmłodszego, -t wypisanie w kolejności zależnej od czasu modyfikacji(pierwszy najwcześniejszy, -R wypisywanie rekurencyjne łącznie z zawartością podkatalogów -1 wypisywanie w jednej kolumnie Polecenie wypisuje zawartość wszystkich katalogów wymienionych w liście katalogów names. Jeśli nie występuje argument names wypisywana jest zawartość katalogu aktualnego. Standardowo wypisywane są wszystkie pliki poza tymi których nazwa rozpoczyna się od.lub..(pliki ukryte).
ls wypisanie zawartości katalogów prawa dostępu rwxrwxrwx 1 szczur users 18873 Sep 27 09:58 opis inni grupa właściciel właściciel Liczba linków Typ pliku d katalog b specjalny plik blokowy c specjalny plik znakowy l link symboliczny H katalog ukryty p specjalny plik Fifo s gniazdo (socket) - plik zwykły grupa rozmiar Przykład Czas ostatniej modyfikacji ls -alt nazwa Wypisuje pełną informację o wszystkich plikach katalogu aktualnego (łącznie z plikami ukrytymi) w kolejności zależnej od czasu modyfikacji.
cd ustal nowy katalog aktualny Składnia: cd[directory] Argumenty: directory-wskazuje pełną ścieżkę do nowego katalogu roboczego (rozpoczynającą się od jednego ze znaków /...) lub podkatalog katalogu aktualnego. Przykłady: a) cd nowy_kat powoduje zmianę katalogu aktualnego na jego podkatalog o nazwie nowy_kat. Polecenie powoduje zmianę katalogu aktualnego. Jeśli argument directorynie występuje, używana jest wartość zmiennej systemowej HOME, wskazującej katalog domowy użytkownika. Warunkiem wykonania polecenia jest posiadanie uprawnień do egzekucji dla wskazanego katalogu. b) cd/nowy_kat powoduje zmianę katalogu aktualnego na podkatalog katalogu głównego o nazwie nowy_kat.
Przykład poruszania się po strukturze katalogowej:
touch ustaw czas dostępu i modyfikacji tworzonych lub istniejących plików Składnia touch[ -amc ] [ -r ws_plik][-t w_czas]plik Argumenty: plik lista plików ws_plik wybrany plik, którego atrybuty (czas dostępu i modyfikacji) będą wzorem ws_czas wybrany czas (gdy inny niż aktualny) zapisany w postaci[[cc]yy]mmddhhmm[.ss] gdzie: CC pierwsze dwie cyfry roku, YY dwie ostatnie cyfry roku, MM miesiąc(01 12), DD dzień(01 31), hh godzina (00 23), mm minuta (00 59), SS sekunda (00 59) Opcje: -a zmiana tylko czasu dostępu -m zmiana tylko czasu modyfikacji -c działanie bez tworzenia nowych plików Polecenie zmienia czas dostępu i modyfikacji plików wskazanych przez argument plik... Jeśli plik nie istnieje zostanie utworzony nowy plik o długości 0. Standardowo używany jest aktualny czas systemowy.
touch ustaw czas dostępu i modyfikacji tworzonych lub istniejących plików Przykłady: Zmiana czasu modyfikacji pliku lab.jpg Utworzenie pliku nowy_plik o rozmiarze 0 B
chmod zmiana praw dostępu Argumenty: mode =[kto] operator [prawo] kto - zestaw znaków wskazujących kogo dotyczy zmiana: u użytkownik (user), g grupa (group), o inni (others), a wszyscy (all), operator - znak wykonywanej operacji: + dodanie prawa, - zabranie prawa, = ustalenie prawa, prawo - zestaw znaków wskazujących które prawa będzie zmieniane: r prawo do czytania (read permissions), w prawo do pisania (write permissions), x prawo do wykonania (execute permissions plik nazwa zbioru lub katalogu. Opcje: -R rekurencyjna zmiana praw dostępu wszystkich plików będących zawartością wskazanego katalogu
chmod zmiana praw dostępu Składnia: chmod[ - R] mode plik Polecenie zmienia prawa dostępu dla wszystkich plików wskazanych argumentem plik. Argument modeokreślający prawa można tworzyć: symbolicznie mode = [kto] operator [prawo] (opisany szczegółowo przy opisie argumentów procedury) lub numerycznie, bezpośrednio poprzez podanie trzech cyfr wskazujących prawa dla użytkownika grupy i innych (wg. poniższego schematu). r w x r w x r w x 400 czytanie dla użytkownika 200 pisanie dla użytkownika 100 egzekucja dla użytkownika 040 czytanie dla grupy 020 pisanie dla grupy 010 egzekucja dla grupy 004 czytanie dla innych 002 pisanie dla innych 001 egzekucja dla innych
chmod zmiana praw dostępu Przykład: a) Polecenia: chmod ugo=w student chmod 222 student Ustalają prawa do pisania dla wszystkich użytkowników (właściciel, grupa, inni) pliku student. b) Polecenie: chmod ug+x student Dodają prawo do egzekucji właścicielowi i grupie dla pliku student.
cp kopiuj pliki i katalogi Składnia: cp[-f -i ] [-p] file1 new_file cp[-f -i ] [-p] file1 [file2...] dest_dir cp[-f -i ] [-p][-r] [-r]dir1[dir2...] dest_dir Polecenie kopiuje: - plik file1 do nowego lub istniejącego pliku_new_file, - plik file1 do istniejącego katalogu dest_dir, - pliki file1,file2,... do istniejącego katalogu dest_dir, - zawartość katalogu dir1 do nowego lub istniejącego dest_dir, - zawartości katalogów dir1, dir2,... do nowego lub istniejącego katalogu dest_dir, Użytkownik musi mieć prawo do pisania w katalogu dest_dir i dla plikunew_file ( jeśli istnieje). W przeciwnym wypadku kopiowanie zostanie przerwane i pojawi się komunikat cannot create file.
cp kopiuj pliki i katalogi Składnia: cp[-f -i ] [-p] file1 new_file cp[-f -i ] [-p] file1 [file2...] dest_dir cp[-f -i ] [-p][-r] [-r]dir1[dir2...] dest_dir Argumenty: : file1, file2, dir1, dir2 nazwy kopiowanych plików i katalogów new_file nazwa kopii pliku dest_dir nazwa katalogu docelowego Opcje: : -f jeśli pliki o nazwie docelowej np. new_filejuż istnieją, zostaną usunięte przed kopiowaniem bez zapytania o potwierdzenie, -i jeśli pliki o nazwie docelowej np. new_filejuż istnieją, generowane jest zapytanie o potwierdzenie operacji, -p kopiowanie z zachowaniem praw dostępu, czasu modyfikacji, identyfikatora użytkownika, identyfikatora grupy itp -r kopiowanie rekurencyjne, łącznie z zawartością podkatalogów (tyko pliki zwykłe, bez plików specjalnych) -R to samo jak -r z ustawieniem praw do czytania i pisania dla użytkownika
Przykład kopiowanie pliku Kopiowanie pliku dane z katalogu zdjeica Skopiowany plik do Katalogu1 Kopiowanie pliku dane do katalogu Katalog1 z opcją wymuszającą zastąpienie już istniejącego pliku w Katalogu1 o tej samej nazwie
mv przenieś lub zmień nazwę plików i katalogów Składnia: mv[-f -i ] file1 new_file mv[-f -i ] file1 [file2...] dest_dir mv[-f -i ]dir1[dir2...] dest_dir Polecenie przenosi: - plik file1 do nowego lub istniejącego pliku_new_file (zmienia nazwę pliku), - plik file1 do istniejącego katalogu dest_dir, - pliki file1,file2,... do istniejącego katalogu dest_dir, - zawartość katalogu dir1 do nowego lub istniejącego dest_dir, - zawartości katalogów dir1, dir2,... do nowego lub istniejącego katalogu dest_dir, Użytkownik musi mieć prawo do pisania w istniejącym katalogu dest_dirw przeciwnym wypadku operacja zostanie przerwana. Jeśli użytkownik nie ma uprawnień do pisania w istniejącym pliku new_filezostanie na standardowe wyjście wysłane zapytanie o potwierdzenie operacji zmiany nazwy.
mv przenieś lub zmień nazwę plików i katalogów Składnia: mv[-f -i ] file1 new_file mv[-f -i ] file1 [file2...] dest_dir mv[-f -i ]dir1[dir2...] dest_dir Argumenty: : file1, file2, dir1, dir2 nazwy przenoszonych plików i katalogów new_file nazwa kopii pliku dest_dir nazwa katalogu docelowego Opcje: : -f jeśli pliki o nazwie docelowej np. new_file już istnieją, zostaną zamienione bez zapytania o potwierdzenie, -i jeśli pliki o nazwie docelowej np. new_filejuż istnieją, generowane jest zapytanie o potwierdzenie operacji,
Przykład zmiana nazwy pliku Tak jak w przypadku polecenia cp, stosując polecenie mv w miejscu wpisywania pliku do przeniesienia (zmiany nazwy) należy zawsze podać ścieżkę dostępu do pliku. Jeżeli plik znajduje się w katalogu aktualnym użytkownika, to ścieżkę można skrócić(pominąć) do samej nazwy pliku. Ta sama zasada dotyczy pola, w którym wpisywane jest miejsce przeniesienia pliku Zmiana nazwy pliku dane znajdującego się w Katalogu1 na plik dane2
rm usuń plik lub katalog Polecenie usuwa wejścia (entries) dla jednego lub wielu plików z katalogu. Jeśli wejście (entry) zawiera ostatni link do pliku, plik ten też jest usuwany. Użytkownik musi posiadać prawa do pisania i egzekucji w katalogu z którego usuwane są plik, ale nie musi mieć takich praw dla usuwanego pliku. W przypadku gdy użytkownik nie ma prawa do modyfikacji pliku, na standardowe wyjście wysyłane jest zapytanie o potwierdzenie operacji. Składnia: rm[-f -i] [-Rr] file... plików z katalogu. Jeśli wejście Argumenty: : file lista usuwanych plików (oraz katalogów, jeśli używana jest opcja -r lub -R) Opcje: : -f uniemożliwia pojawienie się zapytań powłoki o potwierdzenie operacji usuwania, -i wymusza pojawienie się zapytań powłoki o potwierdzenie operacji usuwania, -R rekurencyjne usuwanie z katalogów i podkatalogów -r analogicznie jak -R.
rm usuń plik lub katalog Przykłady: a)rm -i kwach usuwa z katalogu aktualnego plik o nazwie kwach dopiero po potwierdzeniu operacji. b) rm -i katal/* usuwa wszystkie pliki z katalogu o nazwie katal \ pozostawiając katalogi. c) rm -R katal/* usuwa wszystkie pliki i podkatalogi z katalogu o nazwie katal. Polecenie usuwa wejścia (entries) dla jednego lub wielu plików z katalogu. Jeśli wejście (entry) zawiera ostatni link do pliku, plik ten też jest usuwany. Użytkownik musi posiadać prawa do pisania i egzekucji w katalogu z którego usuwane są plik, ale nie musi mieć takich praw dla usuwanego pliku. W przypadku gdy użytkownik nie ma prawa do modyfikacji pliku, na standardowe wyjście wysyłane jest zapytanie o potwierdzenie operacji.
rmdir usuń katalog Polecenie usuwa wszystkie wskazane przez argument dirname puste katalogi w kolejności w jakiej wystąpiły w linii wołania. Jeśli jednym poleceniem usuwany będzie katalog i jego podkatalog wówczas podkatalog musi wystąpić w argumencie dirnameprzed katalogiem nadrzędnym. Użytkownik musi posiadać prawa do pisania i egzekucji w katalogu z którego usuwane są plik, ale nie musi mieć takich praw dla usuwanego katalogu. Składnia: rmdir[-f -i] [-p] dirname dirname puste katalogi w Argumenty: : dirname lista usuwanych katalogów Opcje: : -f uniemożliwia pojawienie się zapytań powłoki o potwierdzenie operacji usuwania, -i wymusza pojawienie się zapytań powłoki o potwierdzenie operacji usuwania, -p rekurencyjne usuwanie podkatalogów (o ile jest to możliwe).
rmdir usuń katalog Przykłady: a)rmdir -i marcin usuwa z katalogu aktualnego pusty podkatalog o nazwie marcin dopiero po potwierdzeniu operacji b) rmdir -p podkat1/podkat2/podkat Polecenie usuwa wejścia (entries) dla jednego lub wielu plików z katalogu. Jeśli wejście (entry) zawiera ostatni link do pliku, plik ten też jest usuwany. Użytkownik musi posiadać prawa do pisania i egzekucji w katalogu z którego usuwane są plik, ale nie musi mieć takich praw dla usuwanego pliku. W przypadku gdy użytkownik nie ma prawa do modyfikacji pliku, na standardowe wyjście wysyłane jest zapytanie o potwierdzenie operacji. usuwa katalog katoraz wszystkie podkatalogi nadrzędne podkat2i podkat1o ile po usunięciu
Podstawy informatyki UNIX Zajęcia 2 Polecenia pracujące na plikach
Edytor vi Plik tekst: Podziwu godna liczba Pi trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. Polecenia edytora vi http://pl.wikipedia.org/wiki/vi_(program) Plik tekst1: Liczba Pi
more wyświetl zawartość pliku tekstowego z podziałem na ekrany Składnia: more [-n] [-cdflsu] [ +numer] [ +wzorzec] [ plik...] Polecenie wypisuje zawartość pliku dzieląc go na kolejne ekrany. Rozmiar ekranu (ilość linii) czytany jest przez system z bazy dostępnych terminali. Jeśli nie jest to możliwe system przyjmuje że terminal ma 24 linie. Każdy wypisany pełny ekran kończony jest linią z tekstem --More--oraz informacją ile tekstu już wypisano. Polecenie more ma bardzo rozbudowany system wewnętrznych poleceń. Między innymi: naciśnięcie klawisza enterpowoduje wypisanie kolejnej linii, spacjikolejnego ekranu, klawisza qprzerywa wypisywanie a klawisza hwypisuje skróconą pomoc (help).
more wyświetl zawartość pliku tekstowego z podziałem na ekrany Argumenty: Opcje: -n ustawia długość strony na nlinii (standardowo ilość linii terminalu), +numer wypisywanie od linii o numerze numer, +wzorzec rozpoczyna wypisywanie 2 linie przed linią w której znaleziono ciąg znaków określony przez wzorzec, plik nazwy wyświetlanych plików. -d wypisuje dodatkowo po każdej stronie tekst press space to continue, q to quit (standardowy tekst --More-- x%), -s usuwa wielokrotnie występujące linie puste zostawiając jedną,
more wyświetl zawartość pliku tekstowego z podziałem na ekrany Przykład: Plik tekst: Podziwu godna liczba Pi trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. Pierwszy ekran po poleceniu: more-2 tekst Podziwu godna liczba Pi Trzy koma jeden cztery jeden --More--(43%)
cat połącz (konkatenuj) i wyświetlaj pliki Polecenie czyta kolejne pliki z listy filei wypisuje w postaci jednego pliku na standardowym wyjściu (zwykle ekran terminala). Składnia: cat [-s] [-u] [-v] [-t] [-e] file... jednego pliku na Argumenty: : file lista łączonych plików Opcje: : -s brak komunikatów o nieistnieniu plików, -u brak buforowania operacji we/wy, -v znaki niewidoczne (np. kontrolne) poza pewnymi wyjątkami np. tabulator, pisane są w postaci ^n, gdzie n znak z zakresu (100-137 oct), -t znak tabulatora pisany w postaci ^I (opcja dostępna tylko łącznie z opcją -v), -e znak $ dopisywany na końcu każdej linii (opcja dostępna tylko łącznie z opcją -v). Jeśli lista file jest pusta, cat czyta ze standardowego pliku wejściowego (zwykle klawiatura).
cat połącz (konkatenuj) i wyświetlaj pliki Przykłady: a) cat tekst1 tekst2 wypisuje na standardowe wyjście plik tekst1a po nim plik tekst2 jako jeden plik. b) cat tekst1 tekst2 >tekst3 tworzy plik tekst3 którego zawartością jest plik tekst1 i dołączony na końcu plik tekst2 Polecenie czyta kolejne pliki z listy filei wypisuje w postaci jednego pliku na standardowym wyjściu (zwykle ekran terminala). Jeśli lista file jest pusta, cat czyta ze standardowego pliku wejściowego (zwykle klawiatura). c) cat >tekst czyta znaki ze standardowego wejścia (np. klawiatura) i zapisuje w pliku tekst.
cut wytnij wybrane pola z wszystkich linii pliku Składnia: cut [-c] list [file...] cut [-f]list[-dchar] [-s][file...] Argumenty: : list oddzielona przecinkami lista numerów wycinanych pól np. 1,4,6-9,12-: oznacza pole pierwsze, czwarte, od szóstego do dziewiątego oraz od 12 do końca linii file lista nazw plików char dowolny znak lub znaki specjalne i spacja w cudzysłowach Polecenie wycina wskazane kolumny pól każdej liki pliku. Wynik działania polecenia wypisywany jest na standardowe wyjście. Pole może mieć stałą szerokość (określoną ilość znaków) lub może być ograniczone wybranym znakiem zwanym delimiterem. Standardowym delimiterem jest tabulator. Jeśli nie występuje argument file czytane są znaki ze standardowego wejścia. Opcje: : -c każdy znak jest polem, -f pole to ciąg znaków oddzielony delimiterem (standardowo tabulatorem), -d ustawianie znaku delimitera, -s opuszczanie linii bez znaku delimitera.
cut wytnij wybrane pola z wszystkich linii pliku Przykłady: Plik tekst: Podziwu godna liczba Pi trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. Standardowe wyjście po poleceniach: cut -c 1-3,5 tekst Podi trz Wszs pocą pone cut-f 1,3 -d text Podziwu liczba trzy jeden Wszystkie dalsze początkowe dziewięć ponieważ się Polecenie wycina wskazane kolumny pól każdej liki pliku. Wynik działania polecenia wypisywany jest na standardowe wyjście. Pole może mieć stałą szerokość (określoną ilość znaków) lub może być ograniczone wybranym znakiem zwanym delimiterem. Standardowym delimiterem jest tabulator. Jeśli nie występuje argument file czytane są znaki ze standardowego wejścia.
grep wypisz wiersze pliku w których występuje wzorzec Składnia: grep [-cefilnqsvx] wzorzec [plik...] Argumenty: : wzorzec poszukiwany ciąg znaków plik przeszukiwany plik Opcje: : Polecenie przegląda standardowe wejście lub pliki plikposzukując linii w których występuje wzorzec. Domyślnie, linie zawierające wzorzeckopiowane są na standardowe wyjście. Dowolny ciąg znaków, będący wzorcem, w przypadku gdy zawiera znaki specjalne powłoki systemu Unix (również spację), należy zamknąć apostrofami. -c wypisywana jest tylko ilość wierszy w których znaleziono wzorzec, -i nie rozróżnia małych, dużych liter, -l wypisywane są tylko nazwy plików w których znaleziono wzorzec, -n dopisywane są numery wierszy w których znaleziono wzorzec, -v wypisywane są wiersze w których nie znaleziono wzorca,
grep wypisz wiersze pliku w których występuje wzorzec Przykłady: Plik tekst: Podziwu godna liczba Pi trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. Standardowe wyjście po poleceniach: Polecenie przegląda standardowe wejście lub pliki plikposzukując linii w których występuje wzorzec. Domyślnie, linie zawierające wzorzeckopiowane są na standardowe wyjście. Dowolny ciąg znaków, będący wzorcem, w przypadku gdy zawiera znaki specjalne powłoki systemu Unix (również spację), należy zamknąć apostrofami. grep -i po tekst grep -v po tekst Podziwu godna liczna Pi początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są
uniq znajdź powtarzające się linie pliku Składnia: uniq[-udc][+n][-n][input [output]] Argumenty: : input nazwa sprawdzanego pliku, onput nazwa pliku wynikowego, +n liczba określająca ile znaków na początku każdej linii zostanie zignorowanych, -n liczba określająca ile pól na początku każdej Opcje: linii - zostanie zignorowanych. Pole to ciąg -u w znaków pliku wynikowym oddzielony spacjami tylko nie lub powtarzające tabulatorami się linie, Polecenie czyta standardowe wejście lub wskazany plik tekstowy i porównuje sąsiadujące linie. W normalnym przypadku, gdy nie użyto opcji, usuwane są wszystkie kolejne kopie linii. Wynik wypisywany jest na standardowe wyjście lub do wskazanego pliku. -d w pliku wynikowym tylko powtarzające się linie (pisane jednokrotnie), -c dopisywanie ilości powtórzeń linii.
uniq znajdź powtarzające się linie pliku Przykład: Plik tekst: ala ma ala ma ala ma kota a kot a kot a kot nie ma ala ma Polecenie czyta standardowe wejście lub wskazany plik tekstowy i porównuje sąsiadujące linie. W normalnym przypadku, gdy nie użyto opcji, usuwane są wszystkie kolejne kopie linii. Wynik wypisywany jest na standardowe wyjście lub do wskazanego pliku. Plik wynik po poleceniu: uniq tekst wynik ala ma ala ma kota a kot a kot nie ma ala ma
sort sortuj i/lub scalaj pliki Składnia: sort [-cmu] [-oout] [bdfilnrm] [file...] Argumenty: : out nazwa pliku po przesortowaniu, file lista nazw sortowanych plików, Opcje: - -c kontrola czy plik wejściowy filejest już przesortowany. Jeśli tak, nie zostanie utworzony plik wynikowy out. -m nie sortuje, tylko scala pliki z listy, -u usuwa kopie linii (zostawia tylko oryginał), -o wynik polecenia pisany do pliku o nazwie out, -r sortowanie odwrotne (od końca alfabetu). Polecenie sortuje alfabetycznie wszystkie wiersze wskazanych przez argumenty polecenia plików tekstowych. Jeśli pliki te nie zostaną wyszczególnione, sortowana jest informacja ze standardowego wejścia. Wynik polecenia wypisywany jest na standardowe wyjście lub do wskazanego pliku.
sort sortuj i/lub scalaj pliki Przykład: Plik tekst: ala ma ala ma ala ma kota a kot a kot a kot nie ma ala ma Polecenie sortuje alfabetycznie wszystkie wiersze wskazanych przez argumenty polecenia plików tekstowych. Jeśli pliki te nie zostaną wyszczególnione, sortowana jest informacja ze standardowego wejścia. Wynik polecenia wypisywany jest na standardowe wyjście lub do wskazanego pliku. Plik wynik po poleceniu: sort -u -owynik tekst a kot a kot nie ma ala ma ala ma kota
wc zlicz słowa, linie lub znaki Składnia: wc [-lwc] [name] Argumenty: : name nazwa pliku Opcje: : -l zliczana jest ilość wierszy, -w zliczana jest ilość słów, -c zliczana jest ilość znaków. Polecenie zlicza ilość wierszy, słów lub znaków we wskazanych plikach lub na standardowym wejściu. Wynik działania wypisywany jest na standardowe wyjście. Słowo wg. tego polecenia to ciąg znaków zakończony spacją, tabulatorem lub znakiem nowej linii. Opcje mogą być stosowane łącznie. Standardowo polecenie zakłada że włączone są wszystkie opcje ( -lwc ).
wc zlicz słowa, linie lub znaki Przykłady: Plik tekst: Podziwu godna liczba Pi trzy koma jeden cztery jeden Wszystkie jej dalsze cyfry też są początkowe, pięć dziewięć dwa ponieważ nigdy się nie kończy. Standardowe wyjście po poleceniach: Polecenie zlicza ilość wierszy, słów lub znaków we wskazanych plikach lub na standardowym wejściu. Wynik działania wypisywany jest na standardowe wyjście. Słowo wg. tego polecenia to ciąg znaków zakończony spacją, tabulatorem lub znakiem nowej linii. Opcje mogą być stosowane łącznie. Standardowo polecenie zakłada że włączone są wszystkie opcje ( -lwc ). wc -l tekst wc -lwc tekst 5 tekst 5 24 99 tekst
Podstawy informatyki UNIX Zajęcia 2 Polecenia stosowane głównie w skryptach
echo wypisanie argumentu Składnia: echo [arg] Argumenty: arg lista argumentów będących dowolnym ciągiem znaków, w którym poza znakami zwykłymi wystąpić mogą następujące sekwencje sterujące: \b backspace \f form-feed \c wypisz bez znaku końca linii \n new line \r carriage return \t tab \v vertical tab \\ backslash \On znak sterujący zapisany oktalnie Polecenie wypisuje na standardowe wyjście wszystkie argumenty z listy arg... oddzielone spacjami i zakończone znakiem sterującym new_line. Kolejne argumenty powinny być zamknięte cudzysłowami szczególnie gdy w liście arg... stosowane są znaki specjalne powłoki systemu Unix (również spacja). Przykład Polecenie echo \07UWAGA: powoduje wysłanie sygnału dźwiękowego i wypisanie tekstu UWAGA:
test podaj wartość wyrażenia logicznego Składnia: Argumenty: test exp [ exp ] exp wyrażenie logiczne utworzone z następujących składników: -r file prawda gdy plik fileistnieje i jest udostępniony do czytania, -w file prawda gdy plik fileistnieje i jest udostępniony do pisania, -x file prawda gdy plik file istnieje i jest udostępniony do egzekucji, -f file prawda gdy plik fileistnieje i jest plikiem zwykłym, -d file prawda gdy plik fileistnieje i jest katalogiem, -z s1 prawda gdy długość ciągu znaków s1jest zerowa, -n s1 prawda gdy długość ciągu znaków s1jest różna od zera, s1 = s2 prawda gdy tekst s1jest identyczny jak s2, s1!= s2 prawda gdy tekst s1is2są różne, n1 -eq prawda gdy liczby całkowite n1i n2są równe (poza -eq mogą wystąpić następujące symbole -ne, -gt, -ge, -lt, -le.
test podaj wartość wyrażenia logicznego Przykład: test \( -r baba \) -a \( -w baba \) -a \( -x baba \) zwraca zero gdy plik baba istnieje i jest udostępniony do czytania, pisania i egzekucji
expr wyznacz wartość wyrażenia Składnia: expr arguments Polecenie wyznacza wartość wyrażenia arguments.wynik wypisywany jest na standardowe wyjście. Elementy wyrażenia muszą być oddzielone spacją. Znaki specjalne powłoki systemu muszą być poprzedzone znakiem \. Niektóre znaki mają specjalne znaczenie np.:. - zastępuje dowolny znak poza lf (przejściem do nowej linii) -oznacza ostatni znak ciągu znaków. Wyrażenie. oznacza wszystkie znaki tekstu a. / to wszystkie znaki tekstu zakończone znakiem /.
expr wyznacz wartość wyrażenia Składnia: expr arguments Argumenty: arguments -wyrażenie w którym wystąpić mogą następujące operatory lub słowa kluczowe: exp \ exp gdy expróżne od zera zwraca expjeśli nie zwraca exp, exp \& exp gdy expróżne od zera zwraca expjeśli nie zwraca 0, exp{=, \>, \>=, <, >=,!= } exp zwraca wynik porównania (całkowity lub leksykalny zależnie od typu wyrażeń exp 1- prawda 0- fałsz), exp{+, -, \*, /, %} exp zwraca wynik operacji na wartościach całkowitych, exp : exp-zwraca ilość tych znaków które występują zarówno w expiexp lub część expjeśli użyto \(...\). length exp zwraca długość exp, substr exp exp exp zwraca część exp poczynając od exp o długości exp, index exp exp zwraca pozycję exp w której jest znak znaleziony w exp \(...\) sybolegrupujące argumenty
expr wyznacz wartość wyrażenia Przykład: a) Polecenie expr 22 34 - zwraca wartość -12. b) Polecenie expr ala \ kot - zwraca wartość 0 (fałsz). c) Polecenie expr ala :.* - zwraca wartość 3 (ilość znaków tekstu ala). d) Polecenie expr /usr/home/student :.*/\(.*\) - zwraca tekst student (wycina nazwę pliku ze ścieżki do pliku).
KONIEC