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:
|
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) |
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/*
UWAGA: polecenia --strip-unneeded nie należy wykonywać na bibliotekach, gdyż te statyczne zostałyby zniszczone.
strip --strip-unneeded /tools/{,s}bin/*
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
Odłączenie się od sesji screen pozostawiając uruchomione w niej programy działające nawet po
wylogowaniu się z systemu:
while (true); do echo "Tekst"; sleep 1; done
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