Komenda Opis • apropos whatis Pokazuje komendy odpowiadające danemu wyrazowi. Zobacz też threadsafe • man -t man | ps2pdf - > man.pdf Tworzy dokument .pdf z podręcznika man which command Pokazuje pełną ścieżkę dla komendy time command Pokazuje czas trwania komendy • time cat Uruchamia stoper. Nacisnięcie CTRL-d przerywa wykonywanie. Zobacz też sw • nice info Uruchamia komendę z niższym priorytetem (W tym wypadku czytnik “info”) • renice 19 -p $$ Uruchamia shell (skrypt) z niższym priorytetem. Używane przy automatycznych zadaniach Katalogi • cd - Wraca do poprzedniego katalogu • cd Przechodzi do katalogu $HOME (cd dir && command) Przechodzi do katalogu, wykonuje komendę i wraca z powrotem • pushd . Put current dir on stack so you can popd back to it Szukanie plików • alias l='ls -l --color=auto' Pokazuje zawartość katalogu • ls -lrt Pokazuje zawartość katalogu według daty. Zobacz też newest oraz find_mm_yyyy • ls /usr/bin | pr -T9 -W$COLUMNS Pokazuje zawartość katalogu w dziewięciu kolumnach find -name '*.[ch]' | xargs grep -E 'expr' Szuka wyrazu 'expr' w obecnym katalogu i poniżej. Zobacz też findrepo find -type f -print0 | xargs -r0 grep -F 'example' Szuka danego wyrazu tylko w nazwie pliku w obecnym katalogu i poniżej find -maxdepth 1 -type f | xargs grep -F 'example' Szuka danego wyrazu tylko w nazwie pliku w obecnym katalogu find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done Wykonuje (w pętli) wiele komend dla każdego znalezionego wiersza • find -type f ! -perm -444 Znajduje pliki nie mogące zostać odczytane przez nikogo (pożyteczne na serwerach www) • find -type d ! -perm -111 Znajduje katalogi niedostępne dla żadnego użytkownika (pożyteczne na serwerach www) • locate -r 'file[^/]*\.txt' Search cached index for names. This re is like glob *file*.txt • look reference Sprawdza (wg. Kolejności) wyraz w słowniku • grep --color reference /usr/share/dict/words Podkreśla trafienia dla danego wyrażenia znalezione w słowniku Kopie zapasowe i kompresja gpg -c file Szyfruje plik gpg file.gpg Odszyfrowuje plik tar -c dir/ | bzip2 > dir.tar.bz2 Tworzy skompresowaną kopię katalogu dir/ bzip2 -dc dir.tar.bz2 | tar -x Odtwarza zawartość kopii (dla plików tar.gz użyj gzip zamiast bzip2) tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' Tworzy skompresowaną i zaszyfrowana kopię katalogu /dir a następnie kopiuje go na inny komputer find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 Tworzy kopię z części plików zawartych w katalogu dir/ oraz innych w nim zawartych find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents Kopiuje część plików zawartych w katalogu dir/ oraz innych w nim zawartych do katalogu dir_txt ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p ) Kopiuje (wraz z prawami) katalog copy/ do katalogu /where/to ( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) Kopiuje (wraz z prawami) zawartość katalogu copy/ do katalogu /where/to ( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' Kopije (wraz z prawami) katalog copy/ na inny komputer remote:/where/to/ dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' Tworzy kopię dysku na innym komputerze rsync (Network efficient file copier: do testów służy opcja --dry-run) rsync -P rsync://rsync.server.com/path/to/file file Pobiera tylko różnice. W razie problemów z połączeniem można używać wielokrotnie rsync --bwlimit=1000 fromfile tofile Kopiuje lokalnie z ograniczeniem maksymalnej prędkością. Rodzaj nice dla operacji WE/WY rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html' Tworzy mirror strony (wraz kompresją i szyfrowaniem danych) rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ Synchronizuje aktualny katalog z katalogiem na serwerze ssh (Secure SHell) ssh $USER@$HOST command Wykonuje command na $HOST jako $USER (standardowo commend to shell) • ssh -f -Y $USER@$HOSTNAME xeyes Wykonuj GUI command na $HOST jako $USER scp -p -r $USER@$HOST: file dir/ Kopiuje wraz z prawami na $HOST do katalogu domowego użytkownika $USER ssh -g -L 8080:localhost:80 root@$HOST Przekazuje połączenia do $HOSTNAME:8080 na $HOST:80 ssh -R 1434:imap:143 root@$HOST Przekazuje połączenie z $HOST:1413 na imap:143 wget (multi purpose download tool) • (cd cli && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html) Tworzy kopię strony internetowej w lokalnym katalogu wget -c http://www.example.com/large.file Kontynuuje pobieranie częściowo ściągniętego pliku wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/ Kopiuje zbiór plików do lokalnego katalogu wget ftp://remote/file[1-9].iso/ FTP wspiera bezpośrednio wyrażenia regularne (globbing) • wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head Natychmiast przeszukuje dane echo 'wget url' | at 01:00 Pobiera dany URL o 1 w nocy do obecnego katalogu wget --limit-rate=20k url Pobiera z małym priorytetem (w tym wypadku limit to 20KB/s) wget -nv --spider --force-html -i bookmarks.html Sprawdza linki w pliku wget --mirror http://www.example.com/ Efektywnie uaktualnia lokalna kopię strony (można użyć w programie cron) sieć (Uwaga komendy ifconfig, route, mii-tool, nslookup są przestarzałe) ethtool eth0 Pokazuje status urządzenia sieciowego eth0 ethtool --change eth0 autoneg off speed 100 duplex full Ręcznie ustawia prędkość urządzenia sieciowego iwconfig eth1 Pokazuje status urządzenia bezprzewodowego eth1 iwconfig eth1 rate 1Mb/s fixed Ręcznie ustawia prędkość urządzenia bezprzewodowego • iwlist scan Pokazuje dostępne sieci bezprzewodowe • ip link show Pokazuje urządzenia sieciowe ip link set dev eth0 name wan Zmienia nazwę urządzenia eth0 na wan ip link set dev eth0 up Włącza (lub wyłacza) urządzenie sieciowe eth0 • ip addr show Pokazuje adresy urządzeń ip addr add 1.2.3.4/24 brd + dev eth0 Dodaje (lub kasuje) adres IP i maskę sieciową (255.255.255.0) • ip route show Pokazuje ruting ip route add default via 1.2.3.254 Ustawia standardową bramkę wyjścia na 1.2.3.254 • tc qdisc add dev lo root handle 1:0 netem delay 20msec Dodaje opóźnienie 20ms do sterownika urządzenia (przydatne w czasie testów) • tc qdisc del dev lo root Usuwa opóźnienie dodane powyżej • host pixelbeat.org Pokazuje informacje IP dla nazwy DNS albo na odwrót • hostname -i Pokazuje lokalny adres ip (równoważne z host `hostname`) • whois pixelbeat.org Pokazuje informacje whois dla nazwy lub adresu IP • netstat -tupl Pokazuje usługi internetowe • netstat -tup Pokazuje aktywne usługi internetowe z i do komputera sieć w systemie Windows (uwaga: pakiet samba udostępnia w całości narzędzia związane z usługami sieciowymi systemu Windows) • smbtree Pokaż komputery z Windowsem. Zobacz też polecenie findsmb nmblookup -A 1.2.3.4 Pokaż windowsową nazwę (netbios) dla danego adresu ip smbclient -L windows_box Pokaz katalogi współdzielone na komputerze z Windowsem lub serwerze samby mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share Podłącz katalog współdzielony echo 'message' | smbclient -M windows_box Wyślij wiadomość popup do komputera z windowsem (w XP SP2 standardowo wyłączone) text manipulation (uwaga: sed używa stdin i stdout, zatem jeśli chcesz zmienić plik dodaj <oldfile >newfile) sed 's/string1/string2/g' Zastępuje wyraz1 na wyraz2 sed 's/\(.*\)1/\12/g' Zmienia dowonywyraz1 na dowolnywyraz2 sed '/ *#/d; /^ *$/d' Usuwa komentarze i puste linie sed ':a; /\\$/N; s/\\\n//; ta' Łączy wszystkie linie oddzielając je znakiem \ sed 's/[ \t]*$//' Usuwa puste znaki z linii sed 's/\([\\`\\"$\\\\]\)/\\\1/g' Opuszcza metaznaki powłoki aktywne wewnątrz cudzysłowia • seq 10 | sed "s/^/ /; s/ *\(.\{7,\}\)/\1/" Justuje numery do prawej sed -n '1000p;1000q' Pokazuje tysięczną linię sed -n '10,20p;20q' Pokazuje linie od 10 do 20 sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' Pokazuje tytuł stron internetowej napisanej w HTML sort -t. -k1,1n -k2,2n -k3,3n -k4,4n Sortuje adresy IPV4 ip • echo 'Test' | tr '[:lower:]' '[:upper:]' Zmienia wielkość znaków • tr -dc '[:print:]' < /dev/urandom Filtruje znaki nie dające się wydrukować • history | wc -l Liczy linie operacje na zbiorach (uwaga: Aby przyśpieszyć działanie można ustawić następującą zmienną export LANG=C. Tym samym zakłada się brak identycznych linii w pliku) sort file1 file2 | uniq Połączenie nieposortowane plików sort file1 file2 | uniq -d Część wspólna nieposortowane plików sort file1 file1 file2 | uniq -u Różnica nieposortowane plików sort file1 file2 | uniq -u Symetryczna różnica nieposortowane plików join -a1 -a2 file1 file2 Połączenie posortowane plików join file1 file2 Część wspólna posortowane plików join -v2 file1 file2 Różnica posortowane plików join -v1 -v2 file1 file2 Symetryczna różnica posortowane plików metematyka • echo '(1 + sqrt(5))/2' | bc -l Proste obliczenia (obliczenie φ). Zobacz też bc • echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc Bardziej skomplikowane obliczenia (int). To pokazuje maksymalne prędkość FastEthernet • echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python Python potrafi obsłużyć notacje naukową • echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist Prędkość FastE w relacji do wielkości pakietu • echo 'obase=16; ibase=10; 64206' | bc Konwertuje liczby dziesiętne do szesnastkowych • echo $((0x2dec)) Konwertuje liczby szesnastkowe do dziesiętnych ((arytmetyczne rozszerzenie powłoki)) • units -t '100m/9.69s' 'miles/hour' Konwersja jednostek (dziesiętne do calowych) • units -t '500GB' 'GiB' Konwersja jednostek (z SI do IEC) • units -t '1 googol' Definiuje jednostkę • seq 100 | (tr '\n' +; echo 0) | bc Dodaje kolumne z cyframi. Zobacz też ...
KLUDI66