Tutaj znajdziesz przydatne polecenia w bashu oraz moje skrypty pod GNU/Linux.
Głównie używam dystrybucji Debian, więc jeśli będziesz mieć jakieś błędy to znaczy, że być może w Twojej dystrybucji nie ma danego pakietu i będzie trzeba go sobie zainstalować przez apt install [nazwa paczki] (nie zapomnij najpierw zrobić apt update) Dodatkowo, niektóre polecenia mogą wymagać uruchomienia jako su.
Uważaj co robisz, możesz uszkodzić swój system operacyjny jeśli nie będziesz uważać!
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 10
lista 10 największych paczek w systemie
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
usuwa stare pliki konfiguracyjne pozostałe po deinstalacji tych pakietów
echo "scale=10000;4*a(1)" | bc -l
oblicza liczbę pi z dokładnością do 10000 miejsca po przecinku używając programu bc
(free -m | grep Mem | awk '{print "RAM Used: "$3" | Total: "$2}';free -m | grep Swap | awk '{print "SWAP Used: "$3" | Total: "$2}') |tr '\n' ' | '
monitor pamięci RAM
echo $RANDOM
od -A n -t d -N 2 /dev/urandom | tr -d ' '
openssl rand 16 | od -DAn
różne komendy zwracające losową liczbę całkowitą
zapisz poniższy kod jako temps.sh i nadaj mu uprawnienia do uruchamiania (chmod +x ./temps.sh):
#!/bin/bash
show_temp1(){(echo "ACPI:";sensors | grep -A 0 "temp1:" | cut -c16-19)}
show_cpu_temp(){(echo "CPU";sensors | grep -A 0 "Core" | cut -c16-19)}
show_thermal_zone0(){
x=$(</sys/class/thermal/thermal_zone0/temp)
temp=$((x / 1000))
echo "thermal_zone0 "$temp
}
(show_temp1;echo "C |";show_cpu_temp;echo "C |";show_thermal_zone0;echo "C") |tr '\n' ' | '
prosty skrypcik do monitorowania temperatur
vnstati --vsummary --hsummary -i eno1 -o ./summary.png;firefox ./summary.png
generuje obrazek .png z informacją o użyciu interfejsu sieciowego używając firefoxa i vnstati
Kompilacja z kodu źródłowgo (ogólnie):
1) rozpakuj archiwum tar: tar zxvf prog.tar.gz lub tar jxvf prog.tar.bz2
2) ./configure && make && sudo make install
lub ./autogen.sh && make && sudo make install
polecenia dpkg dotyczące architektury komputera:
dpkg --print-architecture - obecna, główna architektura komputera
dpkg --print-foreign-architectures - pozostałe wspierane architektury zainstalowane w systemie
dpkg --remove-architecture
pamiętaj, żeby najpierw usunąć wszystkie paczki z danej architektury z systemu zanim ją ostatecznie usuniesz przez dpkg
sudo apt-get purge ".*:i386" przykładowo dla i386
następnie
dpkg --remove-architecture i386
lista wszystkich paczek z architektury i386
dpkg -l | grep i386
to działa analogicznie dla pozostałych zainstalowanych architektur w systemie, wystarczy zmienić i386 na inną nazwę
data instalacji systemu operacyjnego:
zwykle zainstalowałoby się tuptime zaraz po instalacji systemu, aby śledzić różne dane typu czasy uruchomienia, instalacji itp., jednak w przypadku, kiedy pracujesz na komputerze, gdzie tego nie możesz zrobić, możesz użyć poniższych poleceń, aby w przybliżeniu określić kiedy system został zainstalowany:
najpierw uruchom ls -lact --full-time /etc | tail
następnie porównaj daty ostatniego pliku przez ls -lact --full-time / | tail
i ostatecznie sprawdź ls -lact --full-time /var | tail
dodatkowo, jeśli okaże się, że najstarszą rzeczą w systemie jest plik, możesz dodatkowo:
stat FILE | grep Change
na systemie, który nie ma zainstalowanych GNU Coreutils nie używaj przełącznika --full-time.
kasowanie dysku (dobrze się upewnij, że kasujesz odpowiedni dysk, ponieważ błąd może spowodować bezpowrotną utratę Twoich cennych danych!):
fdisk -l # sprawdź nazwę dysku
hdparm -I /dev/sdb # dane dysku
jeżeli dysk nie jest zamrożony:
hdparm --user-master u --security-set-pass p /dev/sdb # ustaw tymczasowe hasło
jeżeli dysk jest zamrożony:
uśpij komputer i wybudź go
echo -n mem > /sys/power/state
jeżeli dysk wspiera secure erase enhanced:
hdparm --user-master u --security-erase-enhanced p /dev/sdb
jeżeli nie
hdparm --user-master u --security-erase p /dev/sdb
po zakończeniu procesu, sprawdź ponownie dane dysku
hdparm -I /dev/sdb czy hasło zostało zresetowane a status dysku jest normalny
wypełnienie dysku zerami
sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress
wypełnienie dysku losowymi danymi
sudo dd if=/dev/urandom of=/dev/sdb bs=1M status=progress
weryfikacja
dd if=/dev/sdb bs=1M count=128 albo brak wyjścia, albo losowe wyjście
sudo shred -v -n1 /dev/sdb # nadpisanie dysku losowymi danymi poprzez użycie shreda
watch -n1 "df -BM && sensors"
prosty monitorek użycia (zapełnienia) dysku oraz temperatur