Progmar Marcin Załęczny

Język:

Programy

partimage - program do tworzenia obrazów dysków
gparted - program do partycjonowania i formatowania dysków
mkisofs - program do tworzenia obrazów CD/DVD iso
cdrecord - program do wypalania obrazów iso na płytkach CD/DVD
dmesg - wyświetla zbiór przydatnych informacji systemowych umożliwia m.in. sprawdzenie pod jakim plikiem w /dev został dodany do systemu pendrive (np. /dev/sdf1)
evince - program do przeglądania pdf-ów
cabextract - program do rozpakowywania plików windowsowych *.cab w repo universe
update-rc.d - narzędzie do instalowania i usuwania linków do skryptów inicjalizacyjnych (uruchamianych przy starcie systemu)
rsyslog - zastępnik tradycyjnego demona syslog w systemach Linux
apropos - program pobierający słowo kluczowe i wyświetlający komendy powiązane z tym słowem
cfdisk - alternatywa dla fdiska
xrandr - program do zarządzania monitorem
Transmission - torrent pod Linuksa
eog - przeglądarka obrazów Gnome (Eye of Gnome)
xsane - program do skanowania (sudo apt-get install xsane)
comix - przeglądarka komiksów w formacie *.cbr (sudo apt-get install comix, wymaga programu unrar)
mysql-workbench- gui do zarządzania bazą danych MySQL (sudo apt-get install mysql-workbench)
SQLite DB Browser- gui do zarządzania bazą danych SQLite (sudo apt-get install sqlitebrowser)
SimpleScreenRecorder- program do nagrywania screencast-ów
Ardour- program do obróbki dźwięku
VeraCrypt- program do szyfrowania dużych zbiorów danych
TruPax- program do szyfrowania małych zbiorów danych (kompatybilny z VeraCryptem)
gLabels- program do seryjnego drukowania zaprzoszeń i wizytówek na stół
Lyx- gui do edycji dokumentów LaTeX-a
Lightworks- program do edycji video
Brasero- program do kopiowania/nagrywania płytek
fbreader- program do czytania ebooków *.epub
photorec- program do skanowania dysku w poszukiwaniu usuniętych plików bez konieczności montowania tego dysku (program jest częścią pakietu testdisk: sudo apt install testdisk)
sleuthkit- program do analizy dysków twardych (sudo apt install sleuthkit), zawiera programy:
  • img_stat /dev/sdc
  • mmls /dev/sdc - zwróci m.in. start_partition_offset poszczególnych partycji
  • fsstat -o start_partition_offset /dev/sdc
  • fls -o start_partition_offset /dev/sdc - listuje wszsytkie pliki w katalogu głównym
  • fls -o start_partition_offset /dev/sdc directory_number - listuje wszystkie pliki w katalogu o podanym numerze (numer ten otrzymamy z powyższego polecenia)
  • fls -r -o start_partition_offset /dev/sdc - listuje wszystkie pliki na podanej partycji (start_partition_offset) i pliki we wszystkich podkatalogach
ddrescue (z pakietu gddrescue)- zrzuca obraz urządzenia blokowego do pliku (sudo apt install gddrescue)
foremost- odtwarza pliki z urządzenia blokowego lub obrazu takiego urządzenia (sudo install foremost)

Polecenia

Wyciągnięcie z pliku fname.mp4 jednej ramki począwszy od offsetu 148.9 i zapisanie do pliku: frame.png ffmpeg -vframes 1 -ss 148.9 -i fname.mp4 -f image2 frame.png

Zamontowanie zdalnego systemu plików: sshfs user@192.168.1.50:/remote-directory /mnt/local/directory -p 22

Ściągnięcie pliku (przez http) programem trickle z maksymalną prędkością 70kB: trickle -u 1 -d 70 wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.3.tar.bz2

Ściągnięcie pliku (przez ftp) wgetem (kontynuacja jeśli część pliku była już ściągnięta): wget -c ftp://username:password@host_address/path/to/file

Ściągnięcie pliku z timestampingiem: wget --timeout=120 --timestamping http://serwer/plik

Ściągnięcie i zapisanie pliku pod inną nazwą: wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Ograniczenie prędkości ściągania wgetem: wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Ściąganie w tle (wyjście programu zostanie zapisane do pliku `wget-log'): wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Podgląd postępu: tail -f wget-log

Ściągnięcie pliku z podaniem user-agenta: wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD

Wyszczególnienie referrera i user-agenta przy ściąganiu pliku wget-em: wget --referer="https://www.webpage.com" --user-agent="Mozilla/5.0" https://www.webpage.com/full/best.jpg

Sprawdzenie czy zdalny plik istnieje: wget --spider DOWNLOAD-URL

Podanie liczby prób ściągnięcia: wget --tries=75 DOWNLOAD-URL

Ściągnięcie urli podanych w pliku tekstowym (jeden url na linijkę): wget -i download-file-list.txt

Ściągnięcie pełnej strony WEBSITE-URL do katalogu LOCAL-DIR z konwersją odnośników tak żeby strona w tym katalogu się poprawnie wyświetlała: wget --mirror -p --convert-links -P LOCAL-DIR WEBSITE-URL

Pominięcie wybranych plików (gif) przy ściąganiu: wget --reject=gif WEBSITE-URL

Logowanie błędów do podanego pliku download.log zamiast na stderr: wget -o download.log DOWNLOAD-URL

Ściągnięcie pliku maksymalnie do podanego rozmiaru: wget -Q5m -i DOWNLOAD-URL

Ściągnięcie tylko pewnych typów plików: wget -r -A.pdf DOWNLOAD-URL

Wyświetla rozmiar katalogu podążając za łączami symbolicznymi: du -h -L

Wyświetla ilość zajętego miejsca w katalogu i jego podkatalogach (bez głębszej rekurencji): du -h -c --max-depth=1

Zalogowanie się do powłoki jako root z globalnymi ustawieniami środowiska sudo -i

Dodanie użytkownika www, który ma swój katalog domowy w /var/www_tests, używa shell-a /bin/bash i należy do grupy www: useradd -c "www" -d /var/www_tests -m -s /bin/bash www

Dodanie istniejącego użytkownika do istniejącej grupy: usermod -a -G groupname username

Edycja pliku zawierającego użytkowników, którzy mogą uzyskać uprawnienia root-a: sudo visudo

Pozwala zmienić shell usera www: chsh www

Usuwa znaki \r w pliku: sed -i 's/\r//' file.txt

Wyświetla drugi wyraz z ciągu wyrazów rozdzielonych kropkami (tutaj tty2): echo "5105.tty2.MyComputer" | awk 'BEGIN { FS = "." }; {print $2}'

Pobiera drugi wyraz z ciągu wyrazów rozdzielonych kropkami (tutaj tty2) a następnie usuwa z niego napis tty (tutaj 2): echo "5105.tty2.MyComputer" | awk 'BEGIN { FS = "." }; {print $2}' | sed 's/tty//'

Wyświetla 2 za pomocą wyrażenia regularnego: echo "5105.tty2.MyComputer" | sed -e 's/.*y\(.*\?\)\..*/\1/'

Czeka na wprowadzanie linii i jeśli linia zawiera napis to ją wyświetla: awk '/me/{print "line containing me --", $0}'

Drukuje długość tekstu ąćę w bajtach (tutaj 6, bo domyślne kodowanie w Ubuntu to UTF-8): awk 'BEGIN { print length("ąćę");exit }'

Drukuje podłańcuch od drugiego bajtu (nie od drugiej litery!): awk 'BEGIN { print substr("ąćę",2);exit }'

Drukuje pierwsze słowo: echo "asd dfg hjk" | awk '{print $1}'

Drukuje trzecie słowo (ustawiając separator na :): echo "asd:dfg:hjk" | awk -F: '{print $3}'

Drukuje userów, którzy mają ustawionego basha i katalog domowy w katalogu /home: getent passwd | awk -F: '$7 ~ /\/bin\/bash/ && $6 ~ /^\/home/ {print $1}'

Zmiejsza obrazek do rozmiaru 50% convert src.jpg =resize 50% dst.jpg
mogrify -resize 400 src.jpg - lepsza jakość wyjściowego obrazka

Łączy podane obrazki image#.png w jeden obrazek output_image.png w pionie: convert -append image1.png image2.png image3.png image4.png output_image.png

Łączy podane obrazki image#.png w jeden obrazek output_image.png w poziomie: convert +append image1.png image2.png image3.png image4.png output_image.png

Kopiuje plik /home/username/src_filename do katalogu /home/username/dst_dir i jeśli plik źródłowy jest dowiązaniem symbolicznym, to kopiowane jest dowiązanie symboliczne a nie plik do którego ono prowadzi cp -P /home/username/src_filename /home/username/dst_dir

Wypisanie daty ukrytej pod unix timestampem: date --utc -d '@1197089792'

Rekompresja plików png z największym współczynnikiem kompresji. Pliki są rekompresowane w miejscu. Jeśli wyjściowy plik wychodzi większy, to plik jest zostawiany bez zmian: advpng -z -4 *.png

Wylistowanie dysków po uuid: ls -l /dev/disk/by-uuid

Szuka pliku w katalogu / find / -name filename.txt

Utworzenie obrazu iso (image.iso) z pliku filename lub z katalogu dirname: mkisofs -r -R -J -l filename_or_dirname >image.iso

Wypalenie obrazu image.iso na płytce (na drugiej nagrywarce, na pierwszej - scd0) cdrecord dev=/dev/scd1 -v --eject speed=4 image.iso

Kopiowanie płytki: mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
mkisofs -r -R -J -l -o /tmp/image.iso /mnt/cdrom
cdrecord dev=/dev/scd1 -v --eject speed=4 /tmp/image.iso

Podmontowanie pliku image.iso do katalogu /mnt/image: mount -t iso9660 -o loop image.iso /mnt/image

Podmontowanie cdrom-u: mount -t iso9660 /dev/cdrom /media/cdrom

Odmontowanie i wysunięcie cdrom-u: umount /dev/cdrom
eject

Zamazanie dysku losowymi wartościami (trwa wiele godzin): dd if=/dev/urandom of=/dev/sda

Utworzenie pliku o wielkości 1GB wypełnionego NULL-ami: dd if=/dev/zero of=test.zero bs=1024M count=1

Utworzenie systemu plików ext4: mkfs.ext4 -j -O extent -L "" /dev/sda7

Utworzenie systemu plików fat32 na karcie sdcard: sudo mkfs.fat /dev/mmcblk0 -s 16 -F 32

Skompresowanie pliku test.zero maksymalnie przy pomocy gzip i zmierzenie czasu wykonania tego polecenia: /usr/bin/time -f “%U seconds CPU %P” gzip -c9 test.zero > test.gz Uwaga! Musi być /usr/bin/time, bo inaczej wykonuje się wewnętrzne polecenie powłoki time.

Skompresowanie pliku test.zero maksymalnie przy pomocy bzip2 i zmierzenie czasu wykonania tego polecenia: /usr/bin/time -f “%U seconds CPU %P” bzip2 -c9 test.zero > test.bz2 Kompresja bzip2 zajmuje ok. 2*więcej czasu niż gzipem.

Skompresowanie pliku test.zero maksymalnie przy pomocy lzma i zmierzenie czasu wykonania tego polecenia: /usr/bin/time -f “%U seconds CPU %P” lzma -c9 test.zero > test.lzma Kompresja lzma zajmuje baaardzo długo. Lepiej sobie odpuścić.

Skompresowanie katalogu dirname (włącznie z zawartością) do pliku filename.zip: zip -r filename.zip dirname

Dodanie do istniejącego archiwum zip podane pliki: zip -u filename.zip file1 file2 file3 ...

Rozkompresowanie pliku filename.tar.bz2: tar xjvf filename.tar.bz2

Rozkompresowanie pliku filename.tar.gz: tar xzvf filename.tar.gz

Rozkompresowanie pliku filename.gz: zcat filename.gz > filename

Rozkompresowanie pliku filename.tar.xz: tar xJvf filename.tar.xz

Wypisanie plików w archiwum filename.tar.bz2: tar tjvf filename.tar.bz2

Wypisanie plików w archiwum filename.tar.gz: tar tzvf filename.tar.gz

Rozpakuj plik filename.tar.gz zczynając od pliku backup/folder/fname.zip: tar xzvf filename.tar.gz -K --starting-file backup/folder/fname.zip

Rozpakowanie archiwum do podanego katalogu: tar -xvf ../eudev-2.1.1-manpages.tar.bz2 -C /usr/share

Wylistowanie pełych informacji o plikach przy pomocy ls. Przełącznik -h powoduje wyświetlanie rozmiarów plików w postaci skróconej (dodane KB, MB, GB, etc) ls -lh test*

Ztarowanie katalogu opt do pliku opt.tar: tar -cf opt.tar /opt

Kompilacja i instalacja w systemie typowej biblioteki:

 cd libname
    ./configure (domyślnie prefix=/usr/local)
    make
    sudo make install (instaluje do katalogu prefix, czyli /usr/local)
    sudo ldconfig
       W pliku /etc/ld.so.conf (lub w jednym z inkludowanych plików) jako pierwszy na liście
       dodajemy katalog /usr/local/lib. Dzięki temu jeśli przesłonimy jakąś już zainstalowaną
       bibliotekę, to ta nowa (w /usr/local/lib) będzie wykrywana przez skrypty ./configure.
       Po edycji powyższego pliku należy wykonać:
       sudo ldconfig

Usunięcie pakietu wpasupplicant: dpkg --purge wpasupplicant
lub
apt-get remove wpasupplicant

Instalacja pakietu wpasupplicant apt-get install wpasupplicant

Wyświetla krótkie info o zainstalowanych interfejsach sieciowych: ip link show
ip link list

Wyświetlenie adresów ip (oraz dodatkowych informacji) przypisanych do interfejsów: ip addr show

Nadanie interfejsowi eth0 adresu ip 192.168.8.100 (maska 24-bitowa: 255.255.255.0): ip addr add 192.168.8.100/24 dev eth0

Włączenie/Wyłączenie interfejsu eth0 ip link set dev eth0 up/down

Wyświetlenie tablicy routingu: ip route lub
ip route list

Dodanie domyślnej trasy routingu: ip route add default via 192.168.8.1

Skanowanie otoczenia w poszukiwaniu dostępnych Access Pointów: iwlist wlan0 scan

Wyświetlenie informacji o połączeniu wlan0: iwconfig wlan0

Wyświetlenie zainstalowanych w ndiswrapperze urządzeń: ndiswrapper -l

Usunięcie karty z ndiswrappera: ndiswrapper -r drivername

Zainstalowanie sterownika karty w ndiswrapperze: ndiswrapper -i drivername.inf

Zapisanie konfiguracji dla modprobe: ndiswrapper -m

Dodanie nowego zadania które się wykona za 5 minut: at now + 5 minutes[ENTER]
warning: commands will be executed using /bin/sh
touch test [ENTER]
[wciskamy CTRL+D]
job 3 at Tue Jul 26 13:13:00 2011

Listuje aktualne zadania do wykonania at -l lub atq

Uruchomienie zadania o określonym czasie: at 13:40 2011-08-05

Usunięcie zadania o podanym numerze atrm numer_zadania

Instaluje pakiet: apt-get install nazwa_pakietu

Usuwa wszystkie zkeszowane pakiety: apt-get clean

Wyświetla wszystkie (także możliwe do zainstalowania) pakiety: apt-cache pkgnames

Wyświetla informacje o zainstalowanym pakiecie: apt-cache show nazwa_pakietu

Usuwanie pakietu z plikami konfiguracyjnymi: apt-get --purge remove nazwa_pakietu

dpkg -l - zwięzła lista zainstalowanych pakietów wraz z krótkim opisem
dpkg -s nazwa_pakietu - info o stanie pakietu i krótki jego opis
dpkg -p nazwa_pakietu - info o stanie pakietu i krótki jego opis (to samo co powyżej)
dpkg -L nazwa_pakietu - lista plików w pakiecie
dpkg -S wzorzec - wyszukiwanie pakietów zawierających plik o nazwie pasującej do wzorca
dpkg -l | cut -f 3 -d" " - wypisanie samej listy nazw zainstalowanych pakietów
dpkg -r pakiet - usuwa pakiet

Sprawdzenie wersji glibc = libc = Gnu standard c library: dpkg -l | grep libc6

Sprawdzenie wersji libstdc = Gnu standard c++ library: dpkg -l | grep libstdc

Rozkompresowanie plików kontrolnych z podanego pakietu: dpkg -e nazwa_pakietu

Wyświetlenie rozszerzonych informacji o pakiecie (m.in. listy innych wymaganych pakietów oraz ich wersji): dpkg -I nazwa_pakietu

Wyświetlenie aktualnie zainstalowanej wersji podanego pakietu (podanego bez numeru wersji oraz architektury): dpkg-query -W podstawowa_nazwa_pakietu np: dpkg-query -W zip

Pobiera poprzedni i aktualny runlevel: runlevel

Uwaga: poniższy opis dotyczy wersji Ubuntu do 14.10 włącznie. Od wyższych wersji obowiązuje opis podany tutaj. Instaluje skrypt some_script.sh umieszczony w katalogu /etc/init.d jako uruchamiany automatycznie w domyślnych runlevelach (2,3,4 i 5) (nie uruchamia się on w runlevelach 0, 1 i 6). Skrypt uruchamia się przy starcie systemu (autostart). update-rc.d some_script.sh defaults Usunięcie linków startowych skryptu. Przełącznik -f wymusza usunięcie tych linków w przypadku, gdy skrypt istnieje w /etc/init.d update-rc.d -f testscript.sh remove

Dokładne informacje na temat zainstalowanego sprzętu: lshw Info tylko na temat dysków lshw -C disk Info tylko na temat kart sieciowych lshw -C network

Wylistowanie tylko katalogów: ls -l | grep "^d"

Wyszukiwanie Perlowych regexp-ów i wyświetlenie tylko dopasowania: grep -o -P "\.\w([\w\d]*)" mootools-1.3.2-core.js

Wywołanie aktualizacji systemu z wyświetlaniem stderr na stdout i równoczesne przekierowanie wyjścia do pliku apt-get.log. Polecenie tee wyświetla dane ze standardowego wejścia na standardowym wyjściu i równocześnie zapisuje je do podanego pliku: apt-get upgrade 2>&1 | tee ~/apt-get.log

W okienku Run program (Alt+F2) można uruchomić program jako root: gksudo gedit /etc/network/interfaces

Komenda do wysyłania raportu i informacji o znalezionym w systemie błędzie. Działanie nie sprawdzone. reportbug --template -S normal package-name

Tworzy plik jar jar cf file.jar input-files

Wyświetla zawartość pliku jar: jar tf file.jar

Wypakowuje zawartość pliku jar: jar xf file.jar

Wypakowuje określone pliki z pliku jar: jar xf file.jar archived-file(s)

Odpalenie apletu z pliku jar z pozimu strony www:


    <applet code=AppletClassName.class
        archive="JarFileName.jar"
        width=width height=height>
    </applet>
                

Uruchomienie aplikacji w pliku jar: java -jar app.jar

Podpisanie pliku jar certyfikatem: jarsigner -keystore .keystore -storepass password myjar.jar alias

Wyświetlenie z poziomu mysql-a liczb 1 22 333 444 rozdzielonych przecinkami mysql -u root -p -BNe "SELECT '1', '22', '333', '4444'" | tr \\t ','

Zaimportowanie komend sql do bieżącej bazy danych Mysql: \. /var/www/sql/sample_db.sql

Usunięcie ostatniego znaku ze zmiennej w bashu: zmienna=${zmienna:0:$((${#zmienna}-1))}

Przypisuje do zmiennej o nazwie zawartej w zmiennej b wartość 1: eval $b=1

Bash. Drukuje zawartość zmiennej o nazwie w zmiennej $x. $[] robi to samo co $(( )) $[$x]

Łączenie się z hostem przez ssh bez sprawdzania RSA finger printu: ssh -o StrictHostKeyChecking=no user@192.168.30.40

Nagranie tego co się dzieje na pulpicie: recordmydesktop --no-sound -o /tmp/aaa.ogv

Instalacja flashplayer-a pod firefoxem: Ze strony: http://get.adobe.com/flashplayer pobieramy plik: install_flash_player_10_linux.tar.gz
rozpakowujemy install_flash_player_10_linux.tar.gz i plik libflashplayer.so wkopiowujemy do katalogu: /usr/lib/firefox-addons/plugins

Program nasłuchuje gniazdo unix-listen:/tmp/socket i wypluwa dane na stdio: socat unix-listen:/tmp/socket stdio

Zamknięcie systemu z lini poleceń: shutdown -h now

Restart systemu z lini poleceń: shutdown -r now lub reboot

Wylistowanie urządzeń z systemem plików btrfs: btrfs device scan

Wylistowanie typów urządzeń (urządzenia) z systemem plików btrfs: btrfs filesystem show [/dev/sdb]

Utworzenie systemu plików btrfs: mkfs.btrfs /dev/sdb

Utworzenie systemu plików btrfs równolegle na kilku urządzeniach z mirroringiem (RAID1): mkfs.btrfs /dev/sdb /dev/sdc /dev/sdd

Utworzenie systemu plików btrfs równolegle na kilku urządzeniach bez mirroringu (RAID0): mkfs.btrfs -m raid0 /dev/sdb /dev/sdc /dev/sdd

Utworzenie systemu plików btrfs równolegle na kilku urządzeniach z mirroringiem metadanych i danych plików (RAID10): mkfs.btrfs -m raid10 /dev/sdb /dev/sdc /dev/sdd

Podmontowanie macierzy RAID: mount /dev/sdb /mnt/raid

Usunięcie dysku z RAID: btrfs device delete /dev/sdd /mnt/raid

Dodanie dysku do RAID: btrfs device add /dev/sdd /mnt/raid

Równoważenie systemu plików na RAID (po dodaniu dysku): btrfs filesystem balance /mnt/raid

Dodanie podwolumenu: btrfs subvolume create /mnt/raid/subvol

Wylistowanie istniejących podwolumenów: btrfs subvolume list /mnt/raid

Ustawienie wybranego podwolumenu jako domyślnego: btrfs subvolume set-default ID /mnt/raid

Zamontowanie wybranego podwolumenu w innym katalogu: mount -t btrfs -o subvol=subvol /dev/sdb /subvol

Tworzenie migawki: btrfs subvolume snapshot /mnt/raid /mnt/snapshot_of_root

Listowanie podwolumenów i ich migawek: btrfs subvolume list /mnt/raid

Usunięcie podwolumenu oraz migawki: btrfs subvolume delete /mnt/raid/subvol
btrfs subvolume delete /mnt/raid/snapshot_of_root

Zmiana rozmiaru podwolumenu: btrfs filesystem resize -1GB /mnt/raid
btrfs filesystem resize +1GB /mnt/raid
btrfs filesystem resize max /mnt/raid

Bardziej szczegółowy odpowiednik polecenia df dla systemu plików btrfs: btrfs filesystem df /mnt/raid

Defragmentacja wolumenu: btrfs filesystem defragment /mnt/raid

Podmontowanie wolumenu z wyłączonymi sumami kontrolnymi CRC-32C i włączoną kompresją zlib: mount -t btrfs -o nodatasum,compress /dev/sdb /mnt/raid

Wyśwetla proces, który otworzył podany plik: lsof /var/log/syslog

Wyśwetla pliki, które otworzył podany proces: lsof -c rsyslog

Wyświetla lokalne usługi, które oczekują na połączenia: lsof -iTCP | grep LISTEN

Wyświetla wszystkie wychodzące połączenia SSH z serwerem example.pl otwarte przez użytkownika username: lsof -a -u username -i@example.pl:22

Testuje działanie strony po obciążeniem podanej liczby użytkowników: siege -c 30 http://www.webpage.com

Wyświetla informacje na temat użycia pamięci i procesora przez uruchomione procesy: vmstat

Wyświetla informacje w pięciu linijkach z odstępem 1 sekundy: vmstat 1 5

Wyświetla statystyki użycia dysku: vmstat -d

Wyświetla listę wartości zdarzeń procesora i pamięci vmstat -s

Wyświetla statystykę zdarzeń dla podanej partycji: vmstat -p /dev/sdb1

Wyświetla statystykę użycia procesora i operacji wejścia/wyjścia: iostat

Wyświetla statystykę użycia procesora i operacji wejścia/wyjścia: dstat

Wyświetla liczbę uruchomionych procesów: dstat --proc-count

Wyświetla statystyki użycia dysków: dstat -d --disk-util --freespace

Wyświetla statystyki użycia pamięci: dstat -g -l -m -s --top-mem

Wyświetla statystyki użycia procesora: dstat -c -y -l --proc-count --top-cpu

Wyświetla statystyki użycia interfejsów sieciowych: dstat -n --socket --tcp --udp

Monitorowanie pliku /var/log/messages. Jeśli do pliku zostanie dodany jakiś komunikat, to zostanie on automatycznie wyświetlony na ekranie. tail -f /var/log/messages

Wypisanie daty w formacie YYYYmmdd: date +%Y%m%d

Zmiana godziny: date +%T -s "13:48:50"

Wymuszenie uzyskania od serwera dhcp nowego przydziału adresu ip: dhclient -r

Usunięcie rekurencyjne z bieżącego katalogu i wszystkich jego podkatalogów katalogu .svn: find . -type d -name .svn -exec rm -rf {} \;

Uzyskanie odcisku palca SHA1 certyfikatu testowego androida: keytool -list -alias androiddebugkey -keystore /home/mzaleczny/.android/debug.keystore -storepass android -keypass android

Uzyskanie pełnych danych certyfikatu testowego androida: keytool -list -v -alias androiddebugkey -keystore /home/mzaleczny/.android/debug.keystore -storepass android -keypass android

Wygenerowanie nowego certyfikatu: keytool -genkey -v -keystore ~/.android/test.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

Wyświetla wątki jądra: ps -ef

Wyświetla listę procesów uruchomionych w systemie wraz z ich wartościami nice (w kolumnie NI): ps -el

Wyświetla listę procesów uruchomionych w systemie wraz z ich priorytetem czasu rzeczywistego (w kolumnie RTPRIO). Wartość "-" w kolumnie RTPRIO oznacza brak priorytetu czasu rzeczywistego: ps -eo state,uid,pid,ppid,rtprio,time,comm

Kompilator less-a zainstalujemy wywołując następujące polecenie: sudo apt-get install node-less

Wyprintowanie heksadecymalnej zawartości pliku wraz z offsetami po lewej stronie: od -Ax -tx1 -w16 <fname

Usunięcie z plików symboli debugowania: strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*
UWAGA: polecenia --strip-unneeded nie należy wykonywać na bibliotekach, gdyż te statyczne zostałyby zniszczone.


uname -a                           # Wyświetla wersję kernela
lsb_release -a                     # Pełna informacja o wydaniu dystrybucji LSB
cat /etc/debian_version            # Wyświetla wersję debiana
uptime                             # Pokazuje jak długo system jest uruchomiony oraz jego obciążenie
hostname                           # Wyświetla nazwę hosta systemu
hostname -i                        # Wyświetla adres IP hosta
man hier                           # Manual hierarchi systemu plików
last reboot                        # Pokazuje historię restartów systemu
dmesg                              # Wyświetla wykryte podzespoły komputera oraz informacje bootowania
lsdev                              # Informacje o zainstalowanych podzespołach (wymaga pakietu procinfo)
sudo dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 # Odczytuje zawartość BIOS-u
cat /proc/cpuinfo                  # Model procesora (CPU)
cat /proc/meminfo                  # Wyświetla pamięć systemu
grep MemTotal /proc/meminfo        # Wyświetla ilość pamięci fizycznej
watch -n1 'cat /proc/interrupts'   # Odczytuje okresowo przerwania systemu
free -m                            # Ilość używanej i wolnej pamięci (-m dla MB)
cat /proc/devices                  # Wyświetla skonfigurowane urządzenia
lspci -tv                          # Wyświetla urządzenia PCI
lsusb -tv                          # Wyświetla urządzenia USB
lshal                              # Pokazuje listę wszystkich urządzeń wraz z ich właściwościami (wymaga pakietu hal)
sudo dmidecode                     # Pokazuje DMI/SMBIOS: informacje hw z BIOS-u


gconf-editor - edytor konfiguracji
md5sum - wyliczenie sumy kontrolnej md5 z pliku lub standardowego wejścia
sha1sum - wyliczenie sumy kontrolnej sha1 z pliku lub standardowego wejścia
partprobe /dev/sda - Poinformowanie systemu operacyjnego o zmianach w tablicy
             partycji dysku sda.
mount -o remount, rw / - Ponowne zamontowanie systemu plików / z uprawnieniami
             do odczytu i zapisu
env - wyświetlenie zmiennych środowiskowych użytkownika
set = declare - wyświetlenie wszystkich zmiennych środowiskowych
help - wyświetlenie wewnętrznych poleceń powłoki bash
help cmd - wyświetlenie opisu podanego polecenia
type cmd - wyświetla położenie danego polecenia
history - wyświetla historię poleceń basha
tail -f filename - wypisanie ostatnich 10 linijek pliku filename i wypisywanie
             kolejnych linijek w miarę jak plik rośnie
sudo fdisk -l - wyświetla informacje o partycjach na wszystkich podłączonych
             dyskach twardych
mount - wyświetla wszystkie podmontowane systemy plików
lsof - wyświetla listę otwartych plików
fuser - wyświetla informację o tym które procesy używają określonych otwartych plików
tune2fs -c - ustawia maksymalny licznik montowań dla danego dysku, co który
             zostanie uruchomione narzędzie sprawdzania tego dysku
tune2fs -i - ustawia maksymalny licznik dni dla danego dysku, co który zostanie
           uruchomione narzędzie sprawdzania tego dysku
tune2fs -l /dev/sda - wyświetla informacje o dysku twardym
tune2fs -j /dev/sda - konwersja systemu plików ext2 na ext3 (dodanie kroniki)
tune2fs -O extents,uninit_bg,dir_index /dev/sdb1 - konwersja systemu plików
           ext3 na ext4 na partycji /dev/sdb1
find /home/mzaleczny -xdev -user mzaleczny -print | xargs ls -ldS >output.txt - wyświetla
           wszystkie pliki użytkownika mzaleczny w jego katalogu domowym posortowane malejąco
           (wprzypadku plików ze spacjami w nazwie sypie błędami)
find /home/mzaleczny -xdev -size +700k -print | xargs ls -ldS >output.txt - wyświetla
           pliki większe niż 700 kb użytkownika mzaleczny w jego katalogu domowym posortowane
           malejąco (wprzypadku plików ze spacjami w nazwie sypie błędami)
lspci -vv | grep -i eth - wyświetlenie szczegółowych informacji na temat karty sieciowej
wget -p http://strona.pl - ściągnięcie całej strony ze stylami i skryptami
wget -pk http://strona.pl - ściągnięcie całej strony ze stylami i skryptami oraz
           przekształcenie łączy w taki sposób, aby wskazywały pliki lokalne
curl -T install.log ftp://user:haslo@ftp.przyklad.com
           -Q "-RNFR install.log" -Q "-RNTO Xinstall.log"
           - przesłanie pliku install.log na serwer ftp i zmiana jego nazwy z install.log
           na Xinstall.log
scp plik user@serwer:/tmp/ - przekopiowanie po ssh pliku do katalogu /tmp na serwerze
scp user@serwer:/tmp/plik . - przekopiowanie pliku po ssh z serwera do katalogu bierzącego
scp -r katalog user@serwer:/tmp/ - przekopiowanie po ssh całego katalogu (z zawartością)
           do katalogu /tmp na serwerze
scp -P 12345 plik user@serwer:/tmp/ - przekopiowanie po ssh pliku do katalogu /tmp
           na serwerze łącząc się z usługą ssh na porcie 12345
rsync --recursive --verbose --dry-run katalog/ user@serwer:/tmp/ - wyświetlenie informacji o tym jakie
           pliki zostaną przekopiowane (przez ssh) na serwer przy kopiowaniu zawartości katalogu katalog do katalogu
           /tmp na serwerze
rsync --recursive --verbose katalog/ user@serwer:/tmp/ - przekopiowanie na serwer (przez ssh) zawartości
           katalogu katalog do katalogu /tmp na serwerze
rsync --recursive --verbose user@serwer:/tmp/ katalog/ - przekopiowanie z serwera (przez ssh) zawartości
           katalogu /tmp do katalogu katalog na lokalnej maszynie
findsmb - skanuje sieć w poszukiwaniu serwerów SMB
smbtree - wyświetla drzewo przedstawiające bieżące otoczenie sieciowe
smbpasswd -a username - dodanie użytkownika Linuksa do grupy użytkowników Samby
smbclient -L serwer - wyświetlenie listy usług oferowanych przez podany serwer
           użytkownikowi anonimowemu
smbclient -L serwer -U username - wyświetlenie listy usług oferowanych przez serwer
           podanemu użytkownikowi
smbclient //192.168.1.1/mojudzial -U username - nawiązanie połączenia z udziałem Samby
mount -t cifs -o username=robert,password=haslo //192.168.1.1/mojudzial /mnt/punktmontowania -
           zamontowanie udziału Samby w lokalnym systemie plików
smbstatus - wyświetlenie bieżących połączeń oraz blokad plików Samby
nmblookup nazwa - wyświetlenie adresu ip komputera o podanej nazwie NetBIOS
nmblookup -U 192.168.1.255 serwer - wyszukanie adresu IP serwera w określonej podsieci
testparm - sprawdza podstawowy plik konfiguracyjny Samby
testparm filename - sprawdza podany plik konfiguracyjny Samby
sudo fusermount -u /remote/directory - odmontowanie zdalnego katalogu zamontowanego
           wcześniej przy pomocy polecenia sshfs
ip link set eth1 promisc on - ustawienie karcie trybu promiscuous
usermod -d /home/username username - zmiana katalogu domowego użytkownika username
pwconv - konwertuje plik /etc/passwd z zamieszconymi hasłami na pliki /etc/passwd
           (bez haseł) i /etc/shadow (z hasłami, dostępny wyłącznie dla roota)
grpconv - konwertuje plik /etc/group z zamieszconymi hasłami na pliki /etc/group
           (bez haseł) i /etc/gshadow (z hasłami, dostępny wyłącznie dla roota)
netstat -tupn - wyświetlenie połączeń TCP (-t) i UDP (-u) oraz procesu, który
           nawiązał połączenia (-p) bez tłumaczenia adresów IP na odpowiadające im nazwy
           (-n <=> --numeric)
killall -s SIGHUP inetd - wysłanie sygnału SIGHUP do procesu inetd (powodującego
           ponowne wczytanie pliku konfiguracyjnego)


ping -s 1472 serwer - pinguje pakietem o podanym rozmiarze (w bajtach)
/etc/init.d/networking restart - zrestartowanie sieci
find dirname -type d | xargs chmod 777 - nadanie uprawnień 777 wszystkim podkatalogom katalogu dirname
apache2ctl configtest - sprawdzenie pliku konfiguracyjnego apache2
apache2ctl graceful - restart serwera apache2
/etc/init.d/apache2 restart - restart serwera apache2
gpasswd -a username groupname - dodanie użytkownika username do grupy groupname
lpr document.ps - wysłanie do domyślnej drukarki dokumentu
lpr -P printername document.ps - wysłanie do drukarki printername dokumentu
lpr -P printername document1 document2 document3 - wydrukowanie plików document1, document2, doument3  na drukarce printername
lpc status - wyświetlenie stanów zainstalowanych drukarek
lpstat -p - wyświetlenie dostępnych drukarek
lpstat -o lub lpq - wylistowanie kolejki wydruku domyślnej drukarki
lprm - - usunięcie wszystkich zadań drukowania bieżącego użytkownika z domyślnej drukarki
lprm -P lp0 - usunięcie wszystkich zadań drukowania z podanej drukarki
lprm 133 - usunięcie zadania numer 133 z domyślnej drukarki
fuser -v filename/dirname - lista procesów używających podanego pliku lub katalogu
fuser -k filename/dirname - zamknięcie procesów używających podanego pliku lub katalogu
cpio -idv < filename - rozpakowanie pliku filename (archiwum cpio) do bieżącego katalogu
initctl list - wyświetla stan wszystkich dostępnych zadań Upstart
status service - wyświetla stan podanego zadania Upstart
stop service - zatrzymuje podane zadanie Upstart
start service - uruchamia podane zadanie Upstart
fsck -y -C /dev/sda1 - skanuje i naprawia błędy w podanym systemie plików

Utworzenie kopii bazy danych test i skompresowanie jej do pliku:
mysqldump -u root -p test | gzip -c9 >"/home/mzaleczny/backup/$date"_databases_test.sql.gz

Wyświetla rekurencyjnie całą zawartość katalogu /tmp: ls -R /tmp

Usuwa rekurencyjnie z katalogu /tmp wszystkie pliki a oraz aa: find /tmp \( -name a -o -name aa \) -delete

Formatowanie elementów daty stosujemy po znaku plus +, np: date +"%A %B %d"

Polecenie pozwalające przechwycić do pliku całą zawartość sesji terminala użytkownika aż do komendy exit: script -a output_file

Przekonwertowanie znaczników końca linii z formatu Linuksowego na format Windowsowy: unix2dos plik.txt

Przekonwertowanie znaczników końca linii z formatu Linuksowego na format Mac OS X: unix2mac plik.txt

Przekonwertowanie znaczników końca linii z formatu Windowsowego na format Linuksowy: dos2unix plik.txt

Przekonwertowanie znaczników końca linii z formatu Windowsowego na format Mac OS X: dos2mac plik.txt

Wyświetlenie listy plików archiwum tar bez ich wypakowania: tar -tf archive.tar

Wyświetla nazwę aktualnej powłoki: echo $0

Pliki less skompilujemy następująco: lessc bootstrap.less >bootstrap.css Program lessc można zainstalować tak: sudo apt-get install node-less

Zmniejszenie rozmiaru pliku jpeg: jpegoptim --strip-all fname.jpg Program jpegoptim można zainstalować tak: sudo apt-get install jpegoptim

Zmniejszenie rozmiaru pliku png: optipng -o5 fname.png Program optipng można zainstalować tak: sudo apt-get install optipng

Zmniejszenie rozmiaru wszystkich plików jpeg w katalogu i podkatalogach: find . -type f -name "*.jpg" -exec jpegoptim --strip-all {} \;

Sprawdzenie wersji GLIBC: ldd --version | head -n1 | cut -d" " -f2-

Sprawdzenie wersji jądra: cat /proc/version

Sprawdzenie wersji Perla: echo Perl `perl -V:version`

Inicjalizacja partycji /dev/sda8 jako partycji swap: mkswap /dev/sda8

Uaktywnienie partycji wymiany: /sbin/swapon -v /dev/sda8

Pobranie do podanego katalogu wszystkich adresów URL wyszczególnionych w pliku wget-list: wget --input-file=wget-list --continue --directory-prefix=~/sources Plik wget-list powinien zawierać jeden URL (np. paczki ze źródłami) w każdej linijce, np: http://ftp.gnu.org/gnu/bash/bash-4.3.30.tar.gz
http://alpha.gnu.org/gnu/bc/bc-1.06.95.tar.bz2
http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2
ftp://ftp.astron.com/pub/file/file-5.22.tar.gz

Sprawdza sumy kontrolne plików podanych w pliku md5sums: md5sum -c md5sums Plik md5sums powinien mieć postać: a27b3ee9be83bd3ba448c0ff52b28447 bash-4.3.30.tar.gz
5126a721b73f97d715bb72c13c889035 bc-1.06.95.tar.bz2
d9f3303f802a5b6b0bb73a335ab89d66 binutils-2.25.tar.bz2
8fb13e5259fe447e02c4a37bc7225add file-5.22.tar.gz

Utworzenie grupy lfs: groupadd lfs

Utworzenie użytkownika lfs należącego do grupy lfs, mającego bash-a jako shell domyślny oraz utworzenie katalogu domowego użytkownika (-m) w /home/lfs oraz zapobiegnięcie skopiowania plików szkieletowych z /etc/skel (opcja -k /dev/null): useradd -s /bin/bash -g lfs -m -k /dev/null lfs

Zaimportowanie komend sql do bieżącej bazy danych Mysql: \. /var/www/cake/blog_tutorial/sql/blog_db.sql

Wyświetla numer i-węzła oraz nazwę dla podanego pliku: ls -i "nazwa_pliku"

Wyszukuje w bieżącym katalogu wszystkich plików o podanym i-węźle: find . -xdev -inum $inode -print Parametr -xdev zapobiega przeszukiwaniu innych systemów plików niż ten, na którym znajduje się przeszukiwany katalog.

Aby sprawdzić pisownię w pliku, najpierw upewnij się, że polski słownik dla programu GNU Aspell jest zainstalowany: sudo apt-get install aspell-pl a następnie wykonaj: cat dokument.html | aspell list --mode=sgml Parametr --mode=sgml oznacza, że aspell powinien pomijać tagi html.

Tworzy plik nowy_plik.txt składający się z pliku naglowek.txt, standardowego wyjścia polecenia komenda i z pliku stopka.txt: komenda | cat naglowek.txt - stopka.txt > nowy_plik.txt

Usuwa wszystkie uprawnienia dla grupy i innych użytkowników pliku file: chmod go= file

Pliki crontab poszczególnych użytkowników w systemie Ubuntu znajdują się w katalogu: /var/spool/cron/crontabs. Każdy z nich ma nazwę taką jak użytkownik, do którego należy.
Edycja pliku crontab zalogowanego użytkownika: crontab -e Wyświetla zawartość pliku crontab zalogowanego użytkownika: crontab -l Usuwa plik crontab zalogowanego użytkownika: crontab -r Edycja pliku crontab wybranego użytkownika (mzaleczny) - tylko root może to zrobić: sudo crontab -u mzaleczny -e

Nadanie priorytetu (wartości nice) równego 4 dla wszystkich procesów użytkownika mzaleczny: renice -n 4 -u mzaleczny Nadanie priorytetu (wartości nice) równego -4 dla wszystkich procesów użytkownika mzaleczny (tylko root może to zrobić): sudo renice -n -4 -u mzaleczny

Narzędzie screen instalujemy poleceniem: sudo apt-get install screen Wypisanie aktywnych sesji screen (w formacie pid.tty.host): screen -ls Uruchomienie nowej sesji screen: screen bash
while (true); do echo "Tekst"; sleep 1; done
Odłączenie się od sesji screen pozostawiając uruchomione w niej programy działające nawet po wylogowaniu się z systemu: CTRL+A d Przyłączenie się do istniejącej sesji: screen -r pid lub screen -r pid.tty.host

Wyświetla informacje o typie podanego pliku: file filename Wyświetla informacje o typie skompresowanego pliku (pliku wewnątrz skompresowanego archiwum): file -z filename

Przeglądanie archiwum cpio: cpio -tv < nazwa_pliku_archiwum

Rozkompresowanie archiwum cpio (uwaga na ścieżki bezwzględne, gdyż może nadpisywać pliki w głównym systemie plików): cpio -i -d < nazwa_pliku_archiwum

Rozkompresowanie archiwum cpio z zamianą ścieżek bezwzględnych "/..." na "./...": cpio --no-absolute-filenames -i -d < nzwa_pliku_archiwum

Rozpakowanie archiwum ar: ar x nazwa_pliku_archiwum.a

Wyświetla pliki w pakiecie deb: ar -t nazwa_pakietu.deb

Wypakowanie plików z pakietu deb do bieżącego katalogu: ar -x nazwa_pakietu.deb

Załóżmy, że mamy katalog old z projektem oraz katalog new z tym samym projektem, ale rozbudowanym o pewne zmiany. Plik łatki przekształcający old w new otrzymujemy wydając następujące polecenie: diff -Nur old new > mypatch.diff Żeby teraz przekształcić katalog old w new aplikujemy łatkę w następujący sposób: patch --dir old < mypatch.diff Żeby wycofać łatkę z katalogu new i otrzymać katalog old wykonujemy polecenie: patch --dir new -R < mypatch.diff

Kompilacja programu w asemblerze: gcc -o program -nostdlib program.S

Wyświetlenie informacji o czasie wykonywania (czasie który upłynął od momentu uruchomienia skryptu), pid-zie, priorytecie, wartości nice oraz nazwie procesu dla dwóch podanych procesów (script1.sh i script2.sh) oraz dla bieżącej powłoki (-p $$): ps -C script1.sh -C script2.sh -p $$ -o etime,pid,pri,ni,cmd

Nadanie procesowi o pidzie 1212 wartości nice (priorytetu) równej 4: renice 4 -p 1212

Wyświetla informacje o pidzie, stanie i poleceniu uruchomionego zadania o numerze %1: jobs -x ps -p %1 -o pid,state,cmd

Wyświetla listę uruchomionych zadań: jobs -l

Konwersja pliku gif na plik png: giftopnm plik.gif | pnmtopng > plik.png

Sortuje wiersze podanego pliku w kolejności alfabetycznej: sort plik Sortuje wiersze podanego pliku w odwrotnej kolejności alfabetycznej: sort -r plik Jeśli na początku każdego wiersza znajduje się liczba, to sortuje wiersze w kolejności tych liczb: sort -n plik

Wyszukanie w podręczniku systemowym stron zawierających podane słowo kluczowe: man -k slowo

Wypisuje bieżący czas w sekundach od 1970-01-01 00:00:00: date +%s

Skopiowanie katalogu src na zdalny komputer, z pominięciem wszystkich podkatalogów .git: rsync -a --exclude=.git src uzytkownik@komputer:

Skopiowanie katalogu src na zdalny komputer, z ograniczeniem prędkości do 1000kB/sekundę: rsync --bwlimit=1000 -a src uzytkownik@komputer:

Wykonuje program konsolowy (np. apt-get update) z tekstami dla innego języka np. angielskiego: LANG=en_US.UTF-8 LANGUAGE=en_US sudo apt-get update

Instalacja parallela: sudo apt-get install moreutils Przeskalowanie wszystkich znalezionych w bieżącym katalogu plików pic*.png do 50% oryginalnego rozmiaru. Polecenia skalowania są rozkładane równomiernie pomiędzy wszystkie rdzenie procesora przez program parallel: find . -maxdepth 1 -name "pic*.png" | parallel convert -scale 50% {} small/{}

Sklejenie czterech obrazków pic1.png, pic2.png, pic3.png, pic4.png (wszystkie o takim samym rozmiarze) w jeden polaczony.png składających się z dwóch wierszy i dwóch kolumn, pomiędzy którymi są 2 piksele odstępu: montage pic1.png pic2.png pic3.png pic4.png -geometry +2+2 polaczony.png

Dodanie napisu do zdjęcia: convert picture.jpg -gravity North -font /path/to/file/font.ttf -pointsize 100 -stroke "#123456" -strokewidth 5 -annotate 0 "Tytuł zdjęcia" output_picture.jpg Możliwe wartości dla opcji gravity możemy wyświetlić poleceniem: convert -list gravity Możliwe do użycia fonty możemy wyświetlić poleceniem: convert -list font Po opcji -annotate podajemy kąt obrotu napisu (w powyższym przykładzie: 0) oraz sam napis.

Utworzenie z podanych zdjęć pojedyńczego pliku pdf: convert *.png pictures.pdf

Wyciągnięcie zdjęć z pliku pdf: convert pictures.pdf picture%04d.png

Nałożenie jednego zdjęcia na drugie: composite -gravity SouthEast -dissolve 10% -geometry +20+20 pic_src.png pic_dst.png output_pic.png

Porównanie dwóch zdjęć: compare pic1.png pic2.png differences.png

Wyświetla metadane exif znajdujące się w podanym pliku: exiftool picture.jpg

Usuwa z obrazka metadane: exiftool -all= picture.jpg

Dodanie komentarza do pliku obrazka: exiftool -comment="Tekst komentarza" picture.jpg

Optymalizacja podanego obrazka: jpegtran -optimize pic.jpg >outpic.jpg

Obrót obrazka o 90 stopni: jpegtran -rotate 90 pic.jpg >outpic.jpg

Wyświetla statystyki na temat dostępnych pakietów: apt-cache stats

Wyświetla alfabetyczną listę wszystkich pakietów: apt-cache pkgnames

Wyświetla szczegółowe informacje na temat podanego pakietu (ale bez listy plików wchodzących w jego skład): apt-cache show package_name

Wyświetla szczegółowe informacje na temat pakietu ze źródłami dla podanego pakietu: apt-cache showsrc package_name

Wyświetla listę pakietów, które są wymagane przez podany pakiet: apt-cache depends package_name

Przeszukuje rekurencyjnie katalog directory_name i wyświetla wszystkie znalezione adresy http/https w plikach w tym katalogu z wyjątkiem tych zawierających odwołania do schematów androidowych (schemas.android.com): grep -Eir "https?://" directory_name | grep -v "schemas.android.com"

Dodanie użytkownika mzaleczny do grupy sudo pozwalającej na wykonywanie polecenia sudo: adduser mzaleczny sudo

Wypalenie pliku obrazu na pendrivie: sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

Wyświetlenie aktywnego planisty operacji dyskowych: cat /sys/block/sda/queue/scheduler

Listuje dostępne biblioteki dla pkg-configa: pkg-config --list-all

Nagranie pliku audio (wav): arecord klip.wav

Mierzy przepływ danych na interfejsie ppp0 (UMTS): vnstat -u -i ppp0

Pobiera bierzące statystyki przesyłu danych na podanym interfejsie: vnstat -i ppp0

Jak pobrać wersję biblioteki glib: cat /usr/lib/x86_64-linux-gnu/pkgconfig/glib-2.0.pc | grep Version

Ściąganie z losowym uśpieniem pomiędzy pobraniami kolejnych podstron zamieszczonych w pliku urls.txt: wget --wait=10 --random-wait --input-file=urls.txt

Ściągnięcie całego serwisu z losowym uśpieniem pomiędzy pobraniami kolejnych podstron: wget --wait=10 --random-wait --mirror -p --convert-links -P SDL2 https://wiki.libsdl.org/

Aplikuje łatkę: patch <fname.patch

Cofa zaaplikowaną łatkę: patch -R <fname.patch

Sprawdzenie wersji OpenGL: glxinfo | grep "OpenGL version"

Połączenie pojedyńczych tilesów o tym samym rozmiarze (128x128px) w tilemapę (tilesy przylegają do siebie bez żadnych marginesów): montage *.png -geometry 128x128+0+0 tilemap.png

Wyszukanie plików większych niż 4096 bajtów: find . -type f -size +4096c

Wyszukanie plików mniejszych niż 4096 bajtów: find . -type f -size -4096c find -size n[cwbkMG]
   Określa żadanie wyszukania plików o podanym rozmiarze. Można tu użyć następujących suffiksów:
   `b' 512-bajtowe bloki (wartość domyślna jeśli nie podano żadnego suffiksu)
   `c' bajty
   `w' dwu-bajtowe słowa
   `k' kilobajty (jednostki po 1024 bajtów każda)
   `M' megabajty (jednostki po 1048576 bajtów każda)
   `G' gigabajty (jednostki po 1073741824 bjatów każda)

Wyszukiwanie plików określonego typu po dacie (roku) ostatniego dostępu: find . -type f \( -name "*.php" -o -name "*.ctp" -o -name "*.html" -o -name "*.css" -o -name "*.js" \) -printf "%AY %p\n" | grep 2017

Włącza wykonywanie na telefonie poleceń z uprawnienami root-a (administratora - telefon musi być zrootowany): adb root

Wykonanie kopii katalogu /data na Androidzie i zapisanie jej w pliku android_data.tar.gz: adb exec-out "GZIP=-1 -czpf - /data 2>/dev/null>" > android_data.tar.gz

Przywrócenie na Androidzie danych z kopii zapasowej: adb exec-in "tar xzpf -" <android-data.tar.gz

Przywrócenie na Androidzie podanego katalogu danych z kopii zapasowej: adb exec-in "tar xzpf - data/wybrany/katalog" <android-data.tar.gz

Ustawia nową rozdzielczość ekranu: xrandr -s 1366x768

Uruchomienie okna ustawień w Ubuntu: unity-control-center

Konwersja plików png do formatu jpg: mogrify -format jpg *.png

Włączenie ikon w menu: gsettings set org.gnome.desktop.interface menus-have-icons true

Włączenie ikon na przyciskach: gsettings set org.gnome.desktop.interface buttons-have-icons true

Zgranie obrazu uszkodzonego napędu (urzadzenia blokowego) do pliku: sudo ddrescue -r 3 /dev/sda /storage/rescue/image.dd /storage/rescue/image.logfile