SOUP wykl2

Wykład 2

Poszukiwanie plików wg zadanych kryteriów (1)

Find katalog … [kryterium] [akcja]

Wybrane kryteria:

- name plik – określenie wzorca nazwy pliku

- perm prawa – określenie kodu praw dostępu (ósemkowo)

- type typ – określenie typu plików (f-plik zwykły, d-katalog, c,b-pliki specjalne; l-dowiązanie          symboliczne)

- links liczba – określenie liczby dowiązań

- size rozmiar – określenie rozmiaru (w blokach lub znakach)

- user właściciel – określenie właściciela pliku

- group grupa – określenie grupy

Poszukiwanie plików wg zadanych kryteriów (2)

Wybrane akcje:

- print – wyprowadzenie nazw(na stdout)

- exec polecenie – wykonanie podanego polecenia. Po poleceniu powinien wystąpić symbol {}        \;

- ok. polecenie – jw. Realizacja każdego polecenia wymaga potwierdzenia operatora

Prawa dostępu:

Kategorie użytkowników:

- właściciel pliku – UID użytkownika zgodny z UID pliku

- grupa użytkowników – GID użytkownika zgodny z GID pliku

- pozostali użytkownicy

Plik Katalog
r Prawo listowania zawartości Prawo listowania zawartości
w Prawo modyfikacji i kasowania pliku Prawo tworzenia i kasowania plików i podkatalogów
x Prawo uruchamiania Prawo przeglądania struktury systemu plików (komenda Cd)

Zmiana praw dostępu

chmod kategoria operacja prawo plik

Kategoria Operacja Prawo
u – dla właściciela + - dodawanie prawa r – odczyt
g – dla gurpy - - odejmowanie w – zapis
o – pozostali = - podstawienie x – uruchamianie
a – wszyscy
Liczba_osemkowa Prawo Opis
0 --- Brak
1 --x Uruchamianie
2 -w- Zapis
3 -wx Uruchamianie i zapis
4 r-- Odczyt
5 r-x Odczyt i uruchamiani
6 rw- Odczyt i zapis
7 rwx Odczyt, zapis, uruchamianie

Polecenia związane z prawami dostępu:

- chown – zmiana właściciela pliku

- chgrp – zmiana grupy plików

- newgrp – zmiana przynależności użytkownika do grupy

- id – sprawdzenie atrybutów użytkownika

Maska praw dostępu:

Umask – listowanie i ustanawianie domyślnych praw dostępu

1 przy tworzeniu pliku ustaw prawo na wartość 0

Procesy i potoki:

Standardowy strumień wejściowy proces standardowy strumień wyjściowy

deskryptor 0 | deskryptor 1

standardowy strumień diagnostyczny

deskryptor 2

Sterowanie strumieniami:

<word – użyj pliku word jako standardowego wejścia (deskryptor 0)

>word – użyj pliku word jako standardowego wyjścia (deskryptor 1). Jeżeli plik nie istnieje jest                 tworzony, w przeciwnym razie jest zapisywany od początku

>>word – użyj pliku word jako standardowego wyjścia. Jeżeli plik nie istnieje jest tworzony, w       przeciwnym przypadku rekordy są zapisywane na końcu pliku.

<&- / >&- - standardowe wejście/ wyjście zamknięte

Poprzedzenie dowolnego z podanych operatorów cyfrą powoduje związanie podanego deskryptora z odpowiednim działaniem, np.:

2>dane – deskryptor 2 będzie związany z plikiem wyjściowym „dane”

1>xxx 2>&1 – standardowe wyjście kierowane jest do pliku „xxx”. Deskryptor pliku 2 związany jest              deskryptorem 1 (z plikiem „xxx”)

Filtry w systemie UNIX:

Filtr – program, który realizuje następujące czynności:

- czytanie danych ze standardowego wejścia

- przetwarzanie wczytywanych danych

- wypisywanie wyników przetwarzania na standardowym wyjściu

Z programów filtrów można zbudować potok

Wybrane filtry:

wc – zliczanie linii, wyrazów i znaków

grep – generator raportów

sort – sortowanie plików

cut – wybieranie pól z wierszy pliku tekstowego

tr – zamiana znaków

head – listowanie początku pliku

tail – listowanie końca pliku

more, pg – przeglądanie pliku ze stronicowaniem

WC

wc [-opcje][plik]

Opcje:

l – wypisanie liczby linii w pliku

w – wypisanie liczby wyrazów w pliku

c – wypisanie liczby znaków w pliku

GREP

grep – przeszukuje plik tekstowy w poszukiwaniu wzorca; na standardowe wyjście wypisuje wiersze     zawierające podany wzorzec

grep [-opcje] wzorzec [plik]

Opcje:

c – wypisanie tylko liczby pasujących do wzorca linii

i – wyłączanie rozróżniania dużych i małych liter

n – poprzedzenie każdej linii numerem tej linii w pliku wejściowym

v – na wyjściu pojawiają się linie, które nie zawierają wzorca

Wzorce:

. – dowolny pojedynczy znak z wyjątkiem nowej linii

* - zero lub więcej wystąpień znaku, który poprzedza gwiazdka

^ - wzorzec poszukiwany jest od początku wiersza

$ - wzorzec poszukiwany jest od końca wiersza

[ ] – pasuje do jednego znaku podanego wewnątrz nawiasów

[^ ] – pasuje do jednego znaku z poza zakresu podanego wewnątrz nawiasów

Przykłady:

  1. Wypisz liczbę pustych linii:

grep –c „^$” plik lub

grep –cv „.” plik

  1. Wypisz linię zawierająca 3 dowolne znaki:

grep „^…$” plik

  1. Wpisz linie zawierające ciąg znaków zaczynający się od „A” i kończący się na „y”

grep „A.*y” plik

  1. Wypisz linie, które nie zawierają ciągu znaków „A.*y”

grep –v „A\. \*y” plik

SORT

Sort - sortowanie pliku tekstowego

- sprawdzanie, czy plik jest posortowany

- łączenie posortowanych plików

sort [-opcje] [+poz1 [-poz2]…] [plik]

Opcje:

b – ignorowanie prowadzących znaków białych

c – sprawdzenie, czy plik jest posortowany

d – brane są pod uwagę litery, cyfry, znaki tabulacji i spacje

f – zakaz rozróżniania dużych i małych liter

i – ignorowanie znaków niedrukowanych

n – sortowanie numeryczne

r – sortowanie „malejąco”

u – usuń duplikaty

t char – użyj znaku „char” jako separatora (domyślnie spacja)

o file – wynik zapisać w pliku „file

poz1 – pozycja pierwszego znaku klucza sortowania

poz2 – pozycja pierwszego znaku po ostatnim znaku klucza sortowania

określenie klucza +0.1 -2.3 znaczy tyle, że bierzemy 0 słowo i 1 znak oraz 2 słowo i 3 znak, np.:

Ala ma kota, As to Ali pies

Przykład: posortuj listę zalogowanych użytkowników wg godziny rozpoczęcia sesji rosnąco i minuty malejąco:

who | sort –t/ +1.16n -1.18 +1.18rn -1.20

CUT

Cut –b list [-n] [plik…]

Cut –c list [plik…]

Cut –f list [-d char] [-s] [plik…]

Opcje:

list – lista wypisywanych pól na wyjściu (np. 1,3-8); numeracja zaczyna się od 1;

b list –specyfikuje bajty w linii

n – dwubajtowe znaki są traktowane jako jeden

c list – specyfikuje znaki w linii

d char – definiuje separator pól

f list – specyfikuje pola w linii

s – usuwa linie nie zawierające znaków

Przykłady:

  1. Wypisz czas rozpoczęcia sesji zalogowanych użytkowników:

$ who | cut –c 1-8,32-36

furtak 16:25

furtak 18:40

  1. Wypisz liczbę nazw kont, UID i katalogów domowych użytkowników systemu

$ cat /etc/passwd | cut –d: -f1.3.6

Root:0:/

Daemon:1:/

Bin:2:/usr/bin

TR

tr [opcje] [napis1 [napis2]]

Opcje:

c – zastąpienie znaków nie wymienionych w napis1 znakami z napis2

d – usunięcie wszystkich znaków podanych w napis1

s – usunięcie wielokrotnego wystąpienia wskazanych znaków

Przykłady:

  1. W pliku abc zamień znaki ‘a’ na ‘x’ i ‘b’ na ‘y’

$ tr „ab” „xy” abc

  1. W wykazie zalogowanych użytkowników skasuj nadmiarowe spacje i zamień spacje na znaki ‘:’

$ who | tr –s „ „ „:”


Wyszukiwarka

Podobne podstrony:
Wykl2 4
psych.wykl2, PSYCHOLOGIA
Polish Tomato Soup
SOUP wykl3
SOUP wykl6
biolPodstPsychEtologia wykl2, semestr I, BMZ, biopsychologia Matusewicz wykłady, etologa
ura wykl2
Analiza systemów informatycznych, wykl2
Wykl2 krystal
Szkola wykl2
02 md wykl2
02 md wykl2
Kostka Wykl2 ProgramowanieAktRuch
119089120 Primordial Political Soup
islcollective veggie soup'4674c0d3fc60ec564)171866
pizza soup

więcej podobnych podstron