asso
Polecenia Linux
POLECENIE "WC"
liczy w pliku ilość linii słów i liter
opcja opis
-c liczy znaki
-l liczy wiersze
-w liczy słowa
wc (akronim od word count) – uniksowe narzędzie do liczenia słów, znaków, linii lub bajtów w pliku lub potoku. W GNU/Linuksie jest częścią pakietu GNU Coreutils.
Przykłady wykorzystywania
$ cat text.txt
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
$ wc -w text.txt
19 text.txt
$ wc -l text.txt
1 text.txt
$ wc -m text.txt
132 text.txt
$ wc -c text.txt
132 text.txt
W PRAKTYCE:
POLECENIE "TR"
tr – polecenie systemów operacyjnych typu Unix oraz Linux, które zmienia lub usuwa znaki ze standardowego strumienia wejścia (stdin). W systemach używających oprogramowania GNU ten program jest w pakiecie GNU Coreutils.
Przykłady
$ echo "wikimedia" | tr "mw" "pW"
Wikipedia
$ echo "wiki wiki" | tr -d "ki"
w w
$ cat plik.txt | tr A-Z a-z # zamienia wielkie litery na małe
Kopiuje dane ze standardowego wejścia na standardowe
wyjście z jednoczesnym zastępowaniem lub usuwaniem
wybranych znaków
• Składnia: tr [ -cds ] [ string1 ] [ string2 ]
-d usuwa z wejścia wszystkie znaki zawarte w string1
-c uzupełnia znaki w string1 w odniesieniu do całego zbioru
znaków
ASCII
-s kompresja wszystkich napisów powtarzanych znaków
wyjściowych, występujących w string2 w pojedynczy znak.
polecenie to zmienia jeden zestaw znaków na inny, polecenie to pozwala jedynie na podanie dwóch zestawów znaków ale w argumencie można umieścić nazwę pliku tylko wtedy przedtem umieścimy znak przekierowania
przykład:
$ tr ‘[a-z]’ ‘[A-Z]’ < plik1
W PRAKTYCE:
Znaki Specjalne, Wyrażenia i POdwyrażenia
Aby jednym zapisem objąć więcej plików zastosować należy znaki specjalne. Do znaków specjalnych zaliczyć można: *, ?, [, ].
Gwiazdka zastępuje dowolny ciąg znaków w nazwie (w tym ciąg pusty) z wyjątkiem plików, których nazwa rozpoczyna się od kropki. Zatem:
* - oznacza wszystkie pliki z wyjątkiem plików, których nazwa rozpoczyna się od kropki
.* - oznacza wszystkie pliki, których nazwa rozpoczyna się od kropki
Ciekawostką jest to, że gwiazdkę można zastosować w dowolnym miejscu nazwy pliku oraz dopuszczalne jest wielokrotne jej zastosowanie, zatem:
*studia* - oznacza wszystkie pliki, w których nazwie znajduje się ciąg "studia", np. studia, studia.doc, informatyczne_studia czy naszestudiatmp
a* - oznacza wszystkie pliki rozpoczynające się na literę "a", w tym również plik o nazwie "a"
*z - oznacza wszystkie pliki, których nazwa kończy się na literę "z", w tym plik o nazwie "z"
prz*1* - oznacza wszystkie pliki, których nazwa rozpoczyna się ciągiem "prz", po czym może wystąpić dowolna liczba dowolnych znaków, następnie występuje cyfra "1" i może wystąpić dowolna liczba dowolnych znaków. Do tego wzorca pasują m.in. następujące nazwy:prz1
przyklad1
prz111
przyklad111.doc
przy.klad.1.1.1.1.1.1.doc
Kolejnym znakiem specjalnym jest znak zapytania "?". Zastępuje on dokładnie jeden znak w nazwie pliku.
Dla przykładu - wzorzec:
?la
obejmuje pliki ola, Ola, ala, Ala, ela, 1la
Znak zapytania, podobnie jak gwiazdka, nie zastępuje kropki w roli pierwszego znaku w nazwie pliku. Zatem plik ".la" nie podlega pod powyższy wzorzec.
Aby zdefiniować kilka konkretnych znaków występujących w nazwie pliku należy posłużyć się nawiasami kwadratowymi "[" i "]". Pomiędzy nawiasami podać należy znaki z których jeden ma wystąpić w nazwie pliku. Znaki mogą być wypisane jeden po drugim (np. [abc]), mogą być oddzielone przecinkami (np. [a,b,c]) lub też przy pomocy myślnika może być podany zakres znaków (np. [a-z]). Podane techniki można łączyć. Przykłady:
[A,O,E]la - oznacza pliki Ala, Ola i Ela
[abcdefghijklmnopqrstuvwxyz] - oznacza dowolną małą literę
[a-z] - j.w.
[a-zA-Z] - oznacza dowolną literę
[a-zA-Z0-9] - oznacza jeden znak alfanumeryczny
POLECENIE "GREP"
grep – jeden z podstawowych programów wchodzących w skład systemu Unix. Służy do znajdowania w strumieniu wejścia (plik, lub po prostu wpisywany tekst) linii zawierających ciąg znaków pasujących do danego wyrażenia regularnego. Został napisany przez Kena Thompsona.
Nazwa "grep" jest angielskim akronimem od słów global regular expression print.
Kontrola wyjścia i przeszukiwania
-c – zamiast wyświetlać linie ze znalezionym fragmentem wyświetla liczbę znalezionych linii;
-L – nie wyświetla znalezionego fragmentu tylko pokazuje nazwy plików, w których nie było tego ciągu znaków;
-l – odwrotnie do poprzedniego polecenia, wyświetla pliki w których znalazło dany ciąg znaków;
-n – wyświetlany jest numer linii w pliku w których znaleziono dany ciąg znaków;
-w – wyszukuje tylko całe słowa;
-x – wyszukuje tylko całe linie;
-v - negacja zapytania
Kontrola wejścia
-f plik – dane do wyszukania są brane po jednym wierszu z 'plik';
-h – po podaniu kilku plików do przeszukania po znalezieniu danego ciągu znaków przy danej linii nie będzie podany plik, w którym się to znajdowało;
-i – ignoruje wielkość liter, tzn. jeżeli podamy do wyszukania słowo 'ala', to pokaże nam 'ALA', 'Ala', 'AlA' itd.;
-r – gdy plik podany do przeszukania jest katalogiem, to zostaną przeszukane wszystkie pliki w tym katalogu
POLECENIA "GREP"
POLECENIE "EGREP"
POWŁOKA "KSH"
Korn shell (ksh) jest jedną z powłok uniksowych. Została stworzona przez Davida Korna z AT&T Bell Laboratories w połowie lat osiemdziesiątych. Powłoka ksh jest całkowicie kompatybilna wstecz z powłoką sh, zawiera także wiele elementów z powłoki csh – takich jak historia wpisanych komend.
ksh zawiera wbudowany system obliczania wyrażeń arytmetycznych oraz zaawansowane funkcje skryptów podobne do tych używanych w bardziej zaawansowanych językach programowania, takich jak awk, sed, i perl.
W zamierzeniu, powłoka ksh ma spełniać wymogi standardu Shell Language Standard (POSIX 1003.2 "Shell and Utilities Language Committee").
KornShell jest sprzedawany – w postaci kodu źródłowego oraz plików binarnych – przez AT&T i Novell oraz przez inne firmy poza granicami USA.
pdksh jest implementacją ksh na licencji public domain.
POlecenie "find"
find /mnt/Muzyka -iname '*Madonna*' – przeszuka katalog /mnt/Muzyka i jeśli natrafi na plik, który w nazwie posiada wyraz „madonna” (wielkość liter nie ma znaczenia) to wyświetli jego nazwę wraz ze względną ścieżką dostępu;
find /mnt/Muzyka ! -name '*Madonna*' – przeszuka katalog i wyświetli nazwy plików, które nie mają w sobie nazwy „Madonna” (wielkość liter ma znaczenie);
find . -name 'dane.*' – wyszukiwanie pliku o nazwie dane.* w katalogu bieżącym i w jego podkatalogach;
find / -name 'dane.*' – wyszukiwanie pliku o nazwie dane.* zaczynając od katalogu głównego;
find /katalog/ -user osoba -type d – poszukiwanie podkatalogów w katalogu /katalog należących do użytkownika osoba;
name nazwa – prawda, jeśli aktualnie przetwarzany plik ma nazwę nazwa
perm liczba – prawda, jeśli prawa dostępu (ósemkowo) zgadzają się z parametrem liczba
type t – prawda, jeżeli plik jest typu t (w miejsce t podstawiamy litery określające typy plików:
b – blokowy (buforowany) plik specjalny
c – znakowy (niebuforowany) plik specjalny
d – katalog
p – łącze nazwane (FIFO)
f – zwykły plik
l – dowiązanie symboliczne
s – gniazdo
links n – prawda, jeżeli plik ma n linków
user nazwa – prawda, jeżeli właścicielem pliku jest użytkownik nazwa (można podać ID lub nazwę z pliku /etc/passwd)
group nazwa – prawda, jeżeli plik należy do grupy nazwa (można podać ID lub nazwę z pliku /etc/passwd)
size n [c] – prawda, jeżeli plik ma długość n bloków po 512 bajtów (lub N bajtów jeżeli po liczbie n podano literę c)
mtime n – prawda, jeżeli plik był modyfikowany przed n czasu
atime n – prawda, jeżeli plik był używany przed n dniami
ctime n – prawda, jeżeli węzeł pliku (jego status) był zmieniany przed n dniami
newer plik – prawda, jeżeli badany plik był modyfikowany później niż plik
print – zawsze prawda, wyświetla na standardowym wyjściu pełną nazwę pliku
depth – zawsze prawda, powoduje przeszukanie najpierw wszystkich podkatalogów
mindepth liczba – przeszukanie podkatalogów o przynajmniej liczba poziomie zagłębienia
maxdepth liczba – przeszukanie podkatalogów o najwyżej liczba poziomie zagłębienia

POLECENIE "DIFF"
Nowe wersje programu akceptują pliki binarne.
Oryginalnie powstał na systemy Unix, obecnie istnieją wersje działające pod kontrolą innych systemów operacyjnych.