příkaz pro vytvoření uživatele
adduser -d <domácí adresář> -m -g <skupina> -s <shell> <jméno uživatele>
příkaz vypíše diskové oddíly jejich UUID a typ souborového systému
blkid
pro uživatele hezčí výpis i s mount adresáři
blkid -o list
vytiskne na stdout kalendář aktuálního měsíce
cal
spojí soubory do jednoho
cat soubor1.txt soubor2.txt soubor3.txt > soubory.txt
umožní vlastníkovi spouštět soubor
chmod u+x <soubor>
rekurzivně odebere veškerá práva skupině a ostatním
chmod -R go-rwx <adresář>
změní vlastníka souboru
chown <uživatel> <soubor>
změní rekurzivně vlastníka a skupinu adresáře a všeho co obsahuje
chown -R <uživatel>:<skupina> <adresář>
vypíše aktuální datum ve formátu RRRR-MM-DD
date "+%F"
vytvoří 100 bytový náhodný soubor myrandom
dd if=/dev/random of=myrandom bs=100 count=1 iflag=fullblock
kopíruje disk /dev/sdc
do souboru clone_file
po blokách velkých 512 bytů, přeskočí prvních 9440 bloků a zobrazí progress
dd if=/dev/sdc of=clone_file bs=512 skip=9440 status=progress
zobrazí text jednoho bloku, ve kterém se nachází byte číslo 12303962404
dd if=/dev/sda1 count=1 skip=$(expr 12303962404 / 512)
smaže uživatele ze skupiny (ze systému ne)
deluser <uživatel> <skupina>
udebere uživatele ze skupiny sudo
sudo deluser <uživatel> sudo
zobrazí volné a zaplněné místo na discích
df -h
vytvoří patch pro dva adresáře
diff -ruN <adresar1> <adresar2> > patch
vytvoři patch souboru
cp <soubor> <soubor>.orig # zmena souboru diff -u <soubor>.orig <soubor> > <soubor>.patch
vytiskne informace o RAM
dmidecode --type 17
zobrazí velikost adresáře a všech jeho podadresářů v čitelné podobě
du -h <adresář>
zobrazí velikost adresáře (nezobrazuje rozepsané podadresáře) v čitelné podobě
du -sh <adresář>
zobrazí nakonec i součet velikostí adresářů
du -ch <adresář> <adresář>
zobrazí label disku
e2label /dev/sda1
Program se pokouší detekovat kódování souboru podle znaků které obsahuje. Detekce může selhat.
vypíše ve kterém kódování je <soubor>
enca <soubor>
převede na defaultní kódování systému
enca -c <soubor>
převede soubor na UTF-8 kódování
enca -x utf-8 <soubor>
zobrazí všechny oddíly
su -c "fdisk -l"
vypíše nalezené disky
fdisk -l | grep '^Disk'
vypíše mime souboru
file --mime-type <soubor>
ve všech *.java
souborech v aktuálním adresáři nebo podadresářích najde řádky, kde se vyskytuje backgroundColor
(vypíše soubor a číslo řádku)
find . -name "*.java" -exec grep --color -Hn backgroundColor {} \;
pro každý soubor txt vypíše řádek soubor <nalezený soubor>
find . -name '*.txt' -printf "soubor %p\n"
nalezne soubory *.c
a *.h
find . \( -name "*.c" -o -name "*.h" \)
k názvu všech adresářů, které začínají 0
přidá na začátek 20
find . -maxdepth 1 -type d -name "0*" -exec sh -c 'mv "${0}" "20${0/.\/}"' {} \;
smaže soubory, které nalezne
find . -type f -name "FILE-TO-FIND" -exec rm -f {} \;
najde soubory s příponou py (neřeší valikost písmen), který nemají v cestě adresář temp
find . -type f -iname '*.py' ! -path '*/temp/*'
najde všechny soubory s příponou py, krome těch, které končí .generated.py
find . -type f -iname '*.py' ! -iname '*.generated.py'
vytiskne informace o uživateli
finger <uživatel>
vypíše stav použité a volné paměti
free -h
kontrola souborového systému (hledá špatné bloky, vynutí kontrolu a je upovídaný)
fsck -cfv <zarizeni>
pro všechny soubory cpp v poadresáři vypíše řádky, ve kterých se nachází main; -n zobrazí čísla řádků
grep -n main */*.cpp
hledá rekurzivně ve všech souborech
grep -rn _date *
vypíše názvy souborů, které obsahují text Main
grep -l Main *.java
vypíše názvy souborů, které neobsahují text Main
grep -L Main *.java
vypíše řádky, které neobsahují slovo main
grep -v main *.java
hledá buď pattern1
nebo pattern2
grep -E 'pattern1|pattern2' <soubor>
hledá text v celém oddíle a při nálezu vypíše pozici - vhodné pro hledání obsahu smazaného souboru
sudo grep -a -b "# text" /dev/sda1
přidá skupinu
groupadd <skupina>
smaže skupinu
groupdel <skupina>
změní identifikátor skupiny
groupmod -g 1000 <skupiny>
vypíše skupiny do kterých uživatel patří
groups <uživatel>
rozbalí a smaže soubor <soubor.gz>
gunzip <soubor.gz>
zabalí <soubor>
do <soubor.gz>
a smaže ho
gzip <soubor>
ze soubor1.txt
vezme 100 řádků a uloží je do soubor2.txt
head -100 soubor1.txt > soubor2.txt
zobrazí uid, gid, a skupiny uživatele
id <uživatel>
zobrazí adresy všech rozhraních
ip addr show
zobrazí informace o všech rozhraních
ip link show
zobrazí routovací tabulku
ip route
nastaví defultní bránu
ip route add default via 192.168.100.254
zabije proces signálem SIGKILL (nelze odmítnout)
kill -9 <pid>
vypíše dynamické knihovny, které program používá
ldd </cesta/k/programu>
vytvoří symbolický odkaz
ln -s <jméno_cíle> [<jméno_sym_odkazu>]
vypíše aktuální nastavení lokalizace
locale
Příkaz locate
hledá soubory v databázi mlocate, kterou lze aktualizovat příkazem updatedb
. Oproti příkazu find
je locate
hodně rychlý. Databáze je uložena v souboru /var/lib/mlocate/mlocate.db
.
nalezne všechny soubory v jejichž cestě se nachází libudev
locate libudev
vypíše soubory do jednoho sloupce
ls -w 1 # nebo ls -1
vypíše informace o distrubuci
lsb_release -a
vypíše informace o procesoru
lscpu
vypíše podrobné informace o USB zařízení s hodnotou <vendorId>
lsusb -v -d <vendorId>:
zobrazí manuálovou stránku pro printf ze sekce 3
man 3 printf
vypíše umístění souboru manuálové stránky
man -w 3 printf
vypíše manuálovou stránku uloženou v souboru
man -l /usr/share/man/man3/printf.3.gz
vytvoří všechny rodičovské adresáře, které neexistují
mkdir -p "/cesta/k/adresari"
noformátuje /dev/sda1
na ext4
mkfs.ext4 /dev/sda1
namountuje zařízení /dev/sdb1
do adresáře /media/flash/
mount /dev/sdb1 /media/flash/
namountuje sdílený dresář z Windows (pokud neuvedete heslo, tak na něj budete dotázáni)
su mkdir /media/<mount adresář> mount -t cifs -o user=<uživatel>,password=<heslo>,uid=1000,gid=1000 //<IP adresa>/<sdílený adresář> /media/<mount adresář>
namountuje souborový systém, který nemá zařízení
mount -t <typ> none <adresář>
namountuje iso soubor
mount -o loop <soubor iso> <adresář>
namountuje všechno z /etc/fstab
mount -a
vypíše služby na jakých portech poslouchají s jejich PID
netstat -tlpn
program běží i po ukončení terminálu
nohup wget <url>
dotáže se na nové heslo uživatele
passwd <uživatel>
změní soubory v adresáři podle souboru patch
patch -p1 -N < ../patch
změni soubory v opačném pořadí (z novějšího na starší)
patch -p1 -N -R < ../patch
vypíše pid procesů, které mají součástí názvu krusa
pgrep krusa
zabije procesy, které mají součástí názvu krusa
pkill krusa
vypíše aktuální adresář
pwd
smaže rekurzivně celý adresář i s obsahem
rm -rf <adresář>
otevře samostatnou obrazovku ze kterého je možné se odpojit a zase se k němu připojit.
screen
připojí se na běžící obrazovku
screen -r
vypíše existující obrazovky
screen -ls
zkratky
Ctrl + a d
- odpojí se od obrazovkyCtrl + d
- ukončí obrazovkuvypíše padesátý řádek souboru
sed -n '50p' < file.txt
ve všech txt souborech přepíše stary
za novy
sed -i 's/stary/novy/g' *.txt
nutné spuštět jako root
zazálohuje MBR
sfdisk -d /dev/sda > /tmp/sda.bak
obnoví MBR
sfdisk /dev/sda < /tmp/sda.bak
po pěti hodinách se vypne
sleep 5h; poweroff
seřadí soubor.csv
podle druhého sloupce a pak podle třetího (sloupec je oddělen ;
)
sort -t ";" -k2 -k3 soubor.csv
rozdělí soubor
na 3 stejně velké části, které se jmenují prefixa
prefixb
a prefixc
split -n 3 soubor prefix
rozdělí soubor
na soubory, které obsahují maximálně 10000 řádků
split -l 10000 soubor
Vynutí zápis změněných bloků na disk, aktualizuje superblok.
sync
zobrazí posledních deset řádků ze souboru
tail <soubor>
spojí adresář a jeho podadresáře do tar souboru bez komprese
tar -cf soubor.tar <adresář>
spojení soborů včetně komprese pomocí gzip
tar -czf <soubor>.tar.gz <sobory pro kompresi>
extrakce souborů z archívu
tar -xf <soubor archívu>
záloha systému (ukecaná, bez jiných souborových systémů)
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /
extrahuje soubor etc/fstab
z archívu backup.tar.gz
tar -zxvf backup.tar.gz etc/fstab
extrahuje všechny soubory z tar.gz archívu
tar -xzf <soubor tar.gz archívu>
vytiskne strom souborů do hloubky 2 (unicode znaky se tisknou normálně)
tree -NL 2 <adresář>
odmountuje zařízení
umount /media/flash/
vytiskne všechny informace o systému
uname -a
nastaví defalutní editor v příkazové řádce (symbolické odkazy /usr/bin/editor → /etc/alternatives/editor → editor)
update-alternatives --config editor
smaže uživatele
userdel <uživatel>
změní uid uživatele
usermod -u 1000 <uživatel>
přidá existujícího uživatele do doplňující skupiny a nezruší ho z jiné
usermod -a -G <skupina> <uživatel>
vypíše délku nejdelšího řádku souboru
wc -L <soubor>
spočítá počet řádků všech souborů s příponou py
(find . -type f -iname '*.py' -print0 | xargs -0 cat) | wc -l
vypíše úplnou cestu k programu mail
which mail
zobrazí moje uživatelské jméno
whoami
pošle standardní vstup (seznam souborů) jako argumenty programu wc -l
ls | xargs wc -l
vypíše informace o připojených monitorech
xrandr
zkomprimuje všechny *.JPG
obrázky do souboru fotky.zip
; zeptá se na heslo
zip -e fotky.zip *.JPG
rekurzivně zabalí adresáře
zip -r <zip soubor> <adresář1> <adresář2>