Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie...

16
Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character) ? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e] reprezentuje dokładnie jeden znak z przedziału [!abcde] reprezentuje dowolny niewymieniony znak [!a-e] reprezentuje znak nienależący do przedziału {plik,file} reprezentuje dowolny z wymienionych ciągów

Transcript of Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie...

Page 1: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Znaki globalne w Linuxie

* reprezentuje jeden lub wiele znaków (wild-card character)

? reprezentuje dokładnie jeden znak (wild-card character)

[abcde] reprezentuje dokładnie jeden znak z wymienionych

[a-e] reprezentuje dokładnie jeden znak z przedziału

[!abcde] reprezentuje dowolny niewymieniony znak

[!a-e] reprezentuje znak nienależący do przedziału

{plik,file} reprezentuje dowolny z wymienionych ciągów

Page 2: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Znaki globalne w Linuxie cd.

Przykłady użycia znaków globalnych:

* reprezentuje wszystkie pliki

*.bmp reprezentuje wszystkie pliki kończące się na .bmp

?[0-9][a-d] reprezentuje plik o trzyznakowej nazwie, gdzie pierwszy znak jest dowolny, drugi jest cyfrą, zaś trzeci literą z przedziału a-d

{nowy,new}*.txt reprezentuje wszystkie pliki zaczynające się od nowy lub new będące plikami txt

Page 3: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Wyszukiwanie plików

Polecenie find prowadzi wyszukiwanie według zadanych kryteriów od wskazanego katalogu "w dół", uwzględniając wszystkie podkatalogi (rekurencyjnie). Jeżeli wskazanym katalogiem jest /, wówczas przeszukiwany jest cały system plików.

Przykłady: $ find ~ -name passwd $ find ~ -name "p*" $ find / -name "pass*"

W powyższym zapisie tylda "~" oznacza katalog domowy użytkownika, czyli punkt rozpoczęcia poszukiwań, -name – parametr określający wyszukiwanie według nazwy. Jeżeli nie podamy katalogu rozpoczęcia poszukiwań, find automatycznie przyjmie bieżący. Kropka oznacz również bieżący katalog.

Page 4: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Wybrane kryteria wyszukiwania

-name → wyszukuje plik o określonej nazwie -type → wyszukuje pliki, których typ jest określony jako:

d → katalog f → plik normalny b → plik blokowy c → plik znakowy l → dowiązanie symboliczne

-path ‘wzorzec’ → wyszukuje pliki, których ścieżka dostępu pasuje do wzorca -links → wyszukuje pliki z liczbą N dowiązań do plików -size → wyszukuje pliki, które mają wielkość N -user → wyszukuje pliki, które należą do użytkownika -perm → wyszukuje pliki, które mają prawa dostępu określone jako tryb -atime → wyszukuje pliki, które były otwierane w N dniach -mtime → wyszukuje pliki które zostały zmodyfikowane w N dniach

Page 5: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Przykładowe zastosowanie

$ find . –type d

$ find . –name piotr1 ‘ $ find . –type d -print

$ find /home –name ‘*.c’ –print

$ find ~ -name ‘p*’ –print

$ find . –name piotr1 | more

$ find . –type d –exec chmod 770 {} \;

$ find . –type d -ok. chmod 770 {} \;

$ find /home -mtime 0 –print

$ find . –mtime +20 -print

$ find /mp3-collection -name ‘pli[kz]’ -and -size 1k

$ find /mp3-collection -name ‘pli[kz]’ -or -size 1k

Page 6: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Uprawnienia do plików i katalogów

Do każdego pliku w systemie jest przypisany identyfikator: właściciela u (user) – użytkownika, który stworzył ten plik grupy g (group) – użytkowników należących do tej samej grupy co twórca pozostałych o (others) – pozostałych użytkowników

Istnieją 3 podstawowe prawa dostępu: r (read) – prawo do odczytu; w (write) – prawo do zapisu; x (execute) – prawo do uruchomienia – jeśli plik jest programem;

ls -l bit 1: d (directory) – katalog - plik l (link) – link do pliku

Page 7: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Administrowanie uprawnieniami

Administrowanie uprawnieniami jest możliwe za pomocą polecenia chmod, np.:

sudo chmod ugo+w plik.txt

Page 8: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Administrowanie uprawnieniami cd.

Każdy zestaw praw dostępu można przedstawić za pomocą jednej cyfry:

--- 0 brak praw;

--x 1 prawo do uruchomienia;

-w- 2 prawo do zapisu;

-rx 3 prawo do zapisu i uruchomienia;

r-- 4 prawo do odczytu;

r-x 5 prawo do odczytu i uruchomienia;

rw- 6 prawo do odczytu i zapisu;

rwx 7 prawo do odczytu, zapisu i uruchomienia.

Page 9: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Administrowanie uprawnieniami cd.

W poleceniu chmod można podać uprawnienia w postaci liczby trzycyfrowej, w której kolejne cyfry od lewej strony oznaczają uprawnienia dla właściciela, grupy i pozostałych użytkowników.

sudo chmod 750 plik.txt

Page 10: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Przekierowanie strumienia danych

Page 11: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Przekierowanie strumienia danych cd.

Page 12: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Potokowanie strumienia danych

Zastosowanie znaku | pozwala na łączenie wyjścia jednego polecenia z wejściem innego.

Dane wygenerowane za pomocą pierwszego polecenia przekazane zostają na wejście następnego polecenia i po przetworzeniu przekazane za wejście kolejnego lub na ekran. Tego typu przetwarzanie danych nazywane jest potokowaniem.

Page 13: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Polecenia często wykorzystywane w potokach.

more – służy do przeglądania tekstu strona po stronie, jeden ekran na raz, przewijanie stron możliwe tylko „do przodu”

sudo ls –la | more

less – podobnie jak more, ale przewijanie stron możliwe jest w obu kierunkach

sudo ls –la | less

cat– polecenie wyświetla na ekranie zawartość pliku tekstowego

sudo cat /etc/passwd | less

Page 14: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Polecenia często wykorzystywane w potokach.

grep – przeszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków pasujących do podanego wzorca

sudo cat /etc/passwd | grep uczen

wc – wypisuje liczbę bajtów, słów lub linii w plikach

sudo ls –la | wc -l

sort – sortuje, zlepia lub porównuje wszystkie linie z podanych plików

sudo cat /etc/passwd | sort

Page 15: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Polecenia często wykorzystywane w potokach.

tee – rozgałęzienie strumienia. Pobiera dane ze strumienia wejściowego i tworzy dwa strumienie wyjściowe - jeden podłączony do standardowego wyjścia, a drugi – do wskazanego pliku sudo cat /etc/passwd | sort | tee alfabetycznie

Generowanie zestawu danych będących listą zbiorów w katalogu bieżącym (każdy w nowej linii). Dane przekazane na wejście polecenia grep. Polecenie to wyszuka linie zawierające ciąg znaków „plik”. Polecenie wc zliczy linie w zbiorze danych uzyskanych na wejściu polecenia grep. W wyniku przetwarzania danych przez cały potok zostanie uzyskana liczba plików zawierających w nazwie ciąg znaków „plik”.

ls –la | grep plik | wc –l

Page 16: Znaki globalne w Linuxie - rpzsp.cba.pl · Przekierowanie strumienia danych . Przekierowanie strumienia danych cd. Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie

Archiwizacja zbiorów systemu Linux

Podstawowym narzędziem do obsługi archiwów jest program tar. Normalnie tar tworzy nieskompresowane archiwum. W archiwum możne znajdować się wiele plików i katalogów. Program tar domyślnie tworzy archiwum rekurencyjne (z podkatalogami), umieszczając w nim wszystko, co znajdzie się we wskazanym katalogu (w tym pliki i katalogi ukryte).

Składnia polecenia tar jest następująca: tar opcje nazwa_archiwum plik np.: tar –cvf arch.tar plik1.txt Najczęściej używane opcje polecenia tar to: - c – tworzenie archiwum; - v – podczas przetwarzania archiwum wyświetlane będą nazwy zbiorów - f – użycie wskazanego pliku jako archiwum; - x – wyodrębnienie zbiorów z archiwum