Crmgo Blog

LINUXOVÉ PŘÍKAZY

LINUXOVÉ PŘÍKAZY

LINUXOVÉ PŘÍKAZY Příkaz Popis Informace o systému arch zobrazí architekturu počítače uname -m uname -r zobrazí používanou verzi jádra dmidecode -q zobrazí hardwarové systémové komponenty - (SMBIOS / DMI) hdparm -i /dev/hda vypíše parametry pevného disku hdparm -tT /dev/sda otestuje výkon…

LINUXOVÉ PŘÍKAZY

LINUXOVÉ PŘÍKAZY

 

Příkaz Popis
Systémové informace
arch zobrazit architekturu počítače
uname -m
uname -r zobrazit používanou verzi jádra
dmidecode -q zobrazit hardwarové systémové komponenty - (SMBIOS / DMI)
hdparm -i /dev/hda vypsat vlastnosti pevného disku
hdparm -tT /dev/sda testovat výkon čtení dat z pevného disku
cat /proc/cpuinfo zobrazit informace o procesoru
cat /proc/interrupts zobrazit přerušení
cat /proc/meminfo zkontrolovat využití paměti
cat /proc/swaps zobrazit soubor(y) pro swap
cat /proc/version vypsat verzi jádra
cat /proc/net/dev zobrazit síťová rozhraní a statistiky k nim
cat /proc/mounts zobrazit připojené souborové systémy
lspci -tv zobrazit zařízení PCI ve stromové struktuře
lsusb -tv zobrazit zařízení USB ve stromové struktuře
date vypsat systémové datum
cal 2007 vypsat kalendář pro rok 2007
date 041217002007.00 nastavit systémové datum a čas ve formátu MMDDHHmmGGGG.SS (MěsícDenHodinaMinutyRok.Sekundy)
clock -w uložit systémový čas do BIOSu
Ukončení systému
shutdown -h now Ukončit systém
init 0
telinit 0
shutdown -h hours:minutes & naplánovat ukončení systému na určený čas
shutdown -c zrušit naplánované ukončení systému
shutdown -r now restartovat systém
reboot
logout odhlásit se ze systému
Soubory a adresáře
cd /home přejít do adresáře '/home'
cd .. přejít o úroveň výše
cd ../.. přejít o dvě úrovně výše
cd přejít do domovského adresáře
cd ~user přejít do domovského adresáře uživatele user
cd - přejít do adresáře, ve kterém jste byli před přechodem do aktuálního adresáře
pwd zobrazit aktuální adresář
ls zobrazit obsah aktuálního adresáře
ls -F zobrazit obsah aktuálního adresáře s přidanými symboly charakterizujícími typ
ls -l zobrazit podrobný přehled souborů a adresářů v aktuálním adresáři
ls -a zobrazit skryté soubory a adresáře v aktuálním adresáři
ls *[0-9]* zobrazit soubory a adresáře obsahující v názvu číslice
tree zobrazit strom souborů a adresářů počínaje kořenem (/)
lstree
mkdir dir1 vytvořit adresář s názvem 'dir1'
mkdir dir1 dir2 vytvořit dva adresáře najednou
mkdir -p /tmp/dir1/dir2 vytvořit strom adresářů
rm -f file1 smazat soubor s názvem 'file1'
rmdir dir1 smazat adresář s názvem 'dir1'
rm -rf dir1 smazat adresář s názvem 'dir1' a rekurzivně celý jeho obsah
rm -rf dir1 dir2 smazat dva adresáře a rekurzivně jejich obsah
mv dir1 new_dir přejmenovat nebo přesunout soubor nebo adresář
cp file1 file2 zkopírovat soubor file1 do souboru file2
cp dir/* . zkopírovat všechny soubory z adresáře dir do aktuálního adresáře
cp -a /tmp/dir1 . zkopírovat adresář dir1 s celým obsahem do aktuálního adresáře
cp -a dir1 dir2 zkopírovat adresář dir1 do adresáře dir2
ln -s file1 lnk1 vytvořit symbolický odkaz na soubor nebo adresář
ln file1 lnk1 vytvořit "tvrdý" (fyzický) odkaz na soubor nebo adresář
touch -t 0712250000 fileditest upravit datum a čas vytvoření souboru, pokud neexistuje, vytvořit soubor s uvedeným datem a časem (RRMMDDhhmm)
Vyhledávání souborů
find / -name file1 vyhledat soubory a adresáře s názvem file1. Vyhledávání začít od kořene (/)
find / -user user1 vyhledat soubory a adresáře patřící uživateli user1. Vyhledávání začít od kořene (/)
find /home/user1 -name "*.bin" Najít všechny soubory a adresáře, jejichž jména končí na '.bin'. Vyhledávání začít od '/home/user1'
find /usr/bin -type f -atime +100 najít všechny soubory v '/usr/bin', ke kterým bylo přistupováno před více než 100 dny
find /usr/bin -type f -mtime -10 najít všechny soubory v '/usr/bin', vytvořené nebo změněné během posledních 10 dnů
find / -name *.rpm -exec chmod 755 '{}' \; najít všechny soubory a adresáře, jejichž jména končí na '.rpm', a změnit jejich oprávnění
find / -xdev -name "*.rpm" najít všechny soubory a adresáře, jejichž jména končí na '.rpm', ignorovat výměnná média, jako jsou CD, diskety atd.
locate "*.ps" najít všechny soubory obsahující v názvu '.ps'. Předem se doporučuje spustit příkaz 'updatedb'
whereis halt ukazuje umístění binárních souborů, zdrojových kódů a dokumentace týkajících se souboru 'halt'
which halt zobrazuje úplnou cestu k souboru 'halt'
Připojování souborových systémů
mount /dev/hda2 /mnt/hda2 připojí oddíl 'hda2' do bodu připojení '/mnt/hda2'. Ujistěte se, že adresář bodu připojení '/mnt/hda2' existuje
umount /dev/hda2 odpojí oddíl 'hda2'. Před provedením opusťte '/mnt/hda2'
fuser -km /mnt/hda2 donutit odpojení oddílu. Používá se v případě, že je oddíl používán nějakým uživatelem
umount -n /mnt/hda2 provést odpojení bez zápisu informací do /etc/mtab. Užitečné, když má soubor atribut "pouze pro čtení" nebo není na disku dostatek místa
mount /dev/fd0 /mnt/floppy připojit disketu
mount /dev/cdrom /mnt/cdrom připojit CD nebo DVD
mount /dev/hdc /mnt/cdrecorder připojit CD-R/CD-RW nebo DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom připojit ISO obraz
mount -t vfat /dev/hda5 /mnt/hda5 připojit souborový systém Windows FAT32
mount -t smbfs -o username=user,password=pass//winclient/share [/mnt/share připojit síťový souborový systém Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user "připojit" adresář do adresáře (binding). Dostupné od verze jádra 2.4.0. Užitečné například pro zpřístupnění obsahu uživatelského adresáře přes ftp při provozu ftp serveru v "písečné kleci" (chroot), když není možné použít symbolické odkazy.
Diskový prostor
df -h zobrazuje informace o připojených oddílech s zobrazením celkového, dostupného a použitého prostoru (Pozn. překladatele. přepínač -h nefunguje ve všech systémech *nix)
ls -lSr [|more vypisuje soubory a adresáře rekurzivně seřazené vzestupně podle velikosti a umožňuje stránkování
du -sh dir1 vypočítá a vypíše velikost zabranou adresářem 'dir1' (Pozn. překladatele. přepínač -h nefunguje ve všech systémech *nix)
du -sk * [| sort -rn zobrazuje velikost a názvy souborů a adresářů seřazené podle velikosti
rpm -q -a [--qf '%10{SIZE}t%{NAME}n' [| sort -k1,1n ukazuje velikost diskového prostoru zabraného soubory rpm balíčku, seřazenou podle velikosti (fedora, redhat atd.)
dpkg-query -W -f='${Installed-Size;10}t${Package}n'[| sort -k1,1n ukazuje velikost diskového prostoru zabraného soubory deb balíčku, seřazenou podle velikosti (ubuntu, debian atd.)
Uživatelé a skupiny
groupadd group_name vytvořit novou skupinu s názvem group_name
groupdel group_name smazat skupinu group_name
groupmod -n new_group_name old_group_name přejmenovat skupinu old_group_name na new_group_name
useradd -c "Jméno Příjmení" -g admin -d /home/user1 -s /bin/bash user1 vytvořit uživatele user1, nastavit mu jako domovský adresář /home/user1, jako shell /bin/bash, zařadit ho do skupiny admin a přidat komentář Jméno Příjmení
useradd user1 vytvořit uživatele user1
userdel -r user1 smazat uživatele user1 a jeho domovský adresář
usermod -c "Uživatel FTP" -g system -d /ftp/user1 -s /bin/nologin user1 změnit atributy uživatele
passwd změnit heslo
passwd user1 změnit heslo uživatele user1 (pouze root)
chage -E 2005-12-31 user1 nastavit datum vypršení platnosti účtu uživatele user1
pwck zkontrolovat správnost systémových souborů účtů. Kontrolují se soubory /etc/passwd a /etc/shadow
grpck kontroluje správnost systémových souborů účtů. Kontroluje se soubor /etc/group
newgrp [-] group_name změní primární skupinu aktuálního uživatele. Pokud zadáte "-", situace bude identická s tím, kdyby se uživatel odhlásil a znovu přihlásil. Pokud nezadáte skupinu, primární skupina bude přiřazena z /etc/passwd
Nastavování/změna oprávnění souborů
ls -lh zobrazit oprávnění na soubory a adresáře v aktuálním adresáři
ls /tmp [| pr -T5 -W$COLUMNS vypsat obsah adresáře /tmp a rozdělit výstup na pět sloupců
chmod ugo+rwx directory1 přidat oprávnění na adresář directory1 ugo(User Group Other)+rwx(Read Write eXecute) - všem plná práva. Stejného výsledku lze dosáhnout také "chmod 777 directory1"
chmod go-rwx directory1 odebrat skupině a ostatním všechna oprávnění na adresář directory1.
chown user1 file1 nastavit vlastníkem souboru file1 uživatele user1
chown -R user1 directory1 nastavit rekurzivně vlastníkem adresáře directory1 uživatele user1
chgrp group1 file1 změnit skupinu vlastníka souboru file1 na group1
chown user1:group1 file1 změnit vlastníka a skupinu vlastníka souboru file1
find / -perm -u+s vyhledat od kořene všechny soubory s nastaveným SUID
chmod u+s /bin/binary_file nastavit SUID bit souboru /bin/binary_file. To umožňuje jakémukoli uživateli spustit soubor s oprávněními vlastníka souboru.
chmod u-s /bin/binary_file odstranit SUID bit ze souboru /bin/binary_file.
chmod g+s /home/public nastavit SGID bit adresáři /home/public.
chmod g-s /home/public odstranit SGID bit z adresáře /home/public.
chmod o+t /home/public nastavit STIKY bit adresáři /home/public. Umožňuje mazat soubory pouze vlastníkům
chmod o-t /home/public odstranit STIKY bit z adresáře /home/public
Speciální atributy souborů
chattr +a file1 umožnit otevírat soubor pro zápis pouze v režimu přidávání
chattr +c file1 umožňuje jádru automaticky komprimovat/dekomprimovat obsah souboru.
chattr +d file1 ukazuje utilitě dump ignorovat tento soubor během provádění zálohování
chattr +i file1 udělá soubor nedostupným pro jakékoli změny: úpravy, mazání, přesun, vytváření odkazů na něj.
chattr +s file1 umožňuje bezpečné mazání souboru, tj. nastavený atribut s znamená, že při mazání souboru je místo zabrané souborem na disku vyplněno nulami, což zabraňuje možnosti obnovení dat.
chattr +S file1 ukazuje, že při ukládání změn bude provedena synchronizace, jako při spuštění příkazu sync
chattr +u file1 tento atribut ukazuje, že při mazání souboru bude jeho obsah zachován a uživatel ho bude moci v případě potřeby obnovit
lsattr zobrazit atributy souborů
Archivování a komprese souborů
bunzip2 file1.bz2 dekomprimuje soubor 'file1.gz'
gunzip file1.gz
gzip file1 komprimuje soubor 'file1'
bzip2 file1
gzip -9 file1 komprimovat soubor file1 s maximální kompresí
rar a file1.rar test_file vytvořit rar archiv 'file1.rar' a zahrnout do něj soubor test_file
rar a file1.rar file1 file2 dir1 vytvořit rar archiv 'file1.rar' a zahrnout do něj file1, file2 a dir1
unrar x file1.rar rozbalit rar archiv
tar -cvf archive.tar file1 vytvořit tar archiv archive.tar obsahující soubor file1
tar -cvf archive.tar file1 file2 dir1 vytvořit tar archiv archive.tar obsahující soubor file1, file2 a dir1
tar -tf archive.tar zobrazit obsah archivu
tar -xvf archive.tar rozbalit archiv
tar -xvf archive.tar -C /tmp rozbalit archiv do /tmp
tar -cvfj archive.tar.bz2 dir1 vytvořit archiv a komprimovat jej pomocí bzip2(Pozn. překladatele. přepínač -j nefunguje ve všech systémech *nix)
tar -xvfj archive.tar.bz2 dekomprimovat archiv a rozbalit jej(Pozn. překladatele. přepínač -j nefunguje ve všech systémech *nix)
tar -cvfz archive.tar.gz dir1 vytvořit archiv a komprimovat jej pomocí gzip
tar -xvfz archive.tar.gz dekomprimovat archiv a rozbalit jej
zip file1.zip file1 vytvořit komprimovaný zip archiv
zip -r file1.zip file1 file2 dir1 vytvořit komprimovaný zip archiv s zahrnutím několika souborů a/nebo adresářů
unzip file1.zip dekomprimovat a rozbalit zip archiv
RPM balíčky (Fedora, Red Hat a podobné)
rpm -ivh package.rpm nainstalovat balíček s výpisem zpráv a ukazatelem průběhu
rpm -ivh [--nodeps package.rpm nainstalovat balíček s výpisem zpráv a ukazatelem průběhu bez kontroly závislostí
rpm -U package.rpm aktualizovat balíček bez změny konfiguračních souborů, v případě, že balíček není nainstalován, bude nainstalován
rpm -F package.rpm aktualizovat balíček pouze pokud je nainstalován
rpm -e package_name.rpm odstranit balíček
rpm -qa zobrazit seznam všech balíčků nainstalovaných v systému
rpm -qa [| grep httpd mezi všemi balíčky nainstalovanými v systému najít balíček obsahující ve svém názvu "httpd"
rpm -qi package_name vypsat informace o konkrétním balíčku
rpm -qg "System Environment/Daemons" zobrazit balíčky patřící do skupiny balíčků
rpm -ql package_name vypsat seznam souborů patřících do balíčku
rpm -qc package_name vypsat seznam konfiguračních souborů patřících do balíčku
rpm -q package_name [--whatrequires vypsat seznam balíčků potřebných pro instalaci konkrétního balíčku podle závislostí
rpm -q package_name [--whatprovides zobrazit schopnosti poskytované rpm balíčkem
rpm -q package_name [--scripts zobrazit skripty spouštěné při instalaci/odstranění balíčku
rpm -q package_name [--changelog vypsat historii revizí balíčku
rpm -qf /etc/httpd/conf/httpd.conf zkontrolovat, ke kterému balíčku patří uvedený soubor. Uvést je třeba úplnou cestu a název souboru.
rpm -qp package.rpm -l zobrazuje seznam souborů patřících do balíčku, který ještě není v systému nainstalován
rpm [--import /media/cdrom/RPM-GPG-KEY importovat veřejný klíč digitálního podpisu
rpm [--checksig package.rpm zkontrolovat podpis balíčku
rpm -qa gpg-pubkey zkontrolovat integritu nainstalovaného obsahu balíčku
rpm -V package_name zkontrolovat velikost, oprávnění, typ, vlastníka, skupinu, MD5 součet a datum poslední změny balíčku
rpm -Va zkontrolovat obsah všech balíčků nainstalovaných v systému. Provádět opatrně!
rpm -Vp package.rpm zkontrolovat balíček, který ještě není v systému nainstalován
rpm2cpio package.rpm [| cpio [--extract [--make-directories *bin* extrahovat z balíčku soubory obsahující ve svém názvu bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm nainstalovat balíček sestavený ze zdrojových kódů
rpmbuild [--rebuild package_name.src.rpm sestavit balíček ze zdrojových kódů
YUM - nástroj pro aktualizaci balíčků (Fedora, RedHat a podobné)
yum install package_name stáhnout a nainstalovat balíček
yum update aktualizovat všechny balíčky nainstalované v systému
yum update package_name aktualizovat balíček
yum remove package_name odstranit balíček
yum list vypsat seznam všech balíčků nainstalovaných v systému
yum search package_name vyhledat balíček v repozitáři
yum clean packages vymazat rpm mezipaměť odstraněním stažených balíčků
yum clean headers odstranit všechny hlavičky souborů, které systém používá pro řešení závislostí
yum clean all vymazat rpm mezipaměť odstraněním stažených balíčků a hlaviček
DEB balíčky (Debian, Ubuntu a podobné)
dpkg -i package.deb nainstalovat / aktualizovat balíček
dpkg -r package_name odstranit balíček ze systému
dpkg -l zobrazit všechny balíčky nainstalované v systému
dpkg -l [| grep httpd mezi všemi balíčky nainstalovanými v systému najít balíček obsahující ve svém názvu "httpd"
dpkg -s package_name zobrazit informace o konkrétním balíčku
dpkg -L package_name vypsat seznam souborů patřících do balíčku nainstalovaného v systému
dpkg [--contents package.deb zobrazit seznam souborů patřících do balíčku, který ještě není v systému nainstalován
dpkg -S /bin/ping najít balíček, do kterého patří uvedený soubor.
APT - nástroj pro správu balíčků (Debian, Ubuntu a podobné)
apt-get install package_name nainstalovat / aktualizovat balíček
apt-cdrom install package_name nainstalovat / aktualizovat balíček z cdrom
apt-get update získat aktualizované seznamy balíčků
apt-get upgrade aktualizovat balíčky nainstalované v systému
apt-get remove package_name odstranit balíček nainstalovaný v systému se zachováním konfiguračních souborů
apt-get purge package_name odstranit balíček nainstalovaný v systému s odstraněním konfiguračních souborů
apt-get check zkontrolovat integritu závislostí
apt-get clean odstranit stažené archivní soubory balíčků
apt-get autoclean odstranit staré stažené archivní soubory balíčků
Zobrazení obsahu souborů
cat file1 vypsat obsah souboru file1 na standardní výstup
tac file1 vypsat obsah souboru file1 na standardní výstup v obráceném pořadí (poslední řádek se stane prvním atd.)
more file1 stránkovat obsah souboru file1 na standardní výstup
less file1 stránkovat obsah souboru file1 na standardní výstup, ale s možností listování oběma směry (nahoru-dolů), vyhledávání v obsahu atd.
head -2 file1 vypsat první dva řádky souboru file1 na standardní výstup. Ve výchozím nastavení se vypíše deset řádků
tail -2 file1 vypsat poslední dva řádky souboru file1 na standardní výstup. Ve výchozím nastavení se vypíše deset řádků
tail -f /var/log/messages vypisovat obsah souboru /var/log/messages na standardní výstup podle toho, jak se v něm objevuje text.
Manipulace s textem
cat file [| grep -i "Kritéria" > result.txt obecná syntaxe provádění akcí zpracování obsahu souboru a výpisu výsledku do nového
cat file [| grep -i "Kritéria" » result.txt obecná syntaxe provádění akcí zpracování obsahu souboru a výpisu výsledku do existujícího souboru. Pokud soubor neexistuje, bude vytvořen
grep Aug /var/log/messages ze souboru '/var/log/messages' vybrat a vypsat na standardní výstup řádky obsahující "Aug"
grep [^Aug /var/log/messages ze souboru '/var/log/messages' vybrat a vypsat na standardní výstup řádky začínající na "Aug"
grep [0-9] /var/log/messages ze souboru '/var/log/messages' vybrat a vypsat na standardní výstup řádky obsahující číslice
grep Aug -R /var/log/* vybrat a vypsat na standardní výstup řádky obsahující "Aug" ve všech souborech nacházejících se v adresáři /var/log a níže
sed 's/stringa1/stringa2/g' example.txt v souboru example.txt nahradit "string1" za "string2", výsledek vypsat na standardní výstup.
sed ['/^$/d' example.txt odebrat prázdné řádky ze souboru example.txt
sed ['/ *#/d; [/^$/d' example.txt odebrat prázdné řádky a komentáře ze souboru example.txt
echo 'test' [| tr '[:lower:]' '[:upper:]' převést znaky z malých písmen na velká
sed -e '1d' result.txt odebrat první řádek ze souboru example.txt
sed -n '/string1/p' zobrazit pouze řádky obsahující "string1"
sed -e 's[/ *$[/]/' example.txt odebrat prázdné znaky na konci každého řádku
sed -e 's[/string1[/]/g' example.txt odebrat řádek "string1" z textu bez změny zbytku
sed -n '1,8p;5q' example.txt vzít ze souboru od prvního do osmého řádku a z nich vypsat prvních pět
sed -n '5p;5q' example.txt vypsat pátý řádek
sed -e 's/0*/0/g' example.txt nahradit posloupnost libovolného počtu nul jednou nulou
cat -n file1 číslovat řádky při výpisu obsahu souboru
cat example.txt [| awk 'NR%2==1' při výpisu obsahu souboru nevypisovat sudé řádky souboru
echo a b c [| awk '{print $1}' vypsat první sloupec. Oddělovač ve výchozím nastavení mezera/mezery nebo znak/znaky tabulátoru
echo a b c [| awk '{print $1,$3}' vypsat první a třetí sloupec. Oddělovač ve výchozím nastavení mezera/mezery nebo znak/znaky tabulátoru
paste file1 file2 sloučit obsah file1 a file2 do tabulky: řádek 1 z file1 = řádek 1 sloupec 1-n, řádek 1 z file2 = řádek 1 sloupec n+1-m
paste -d '+' file1 file2 sloučit obsah file1 a file2 do tabulky s oddělovačem "+"
sort file1 file2 seřadit obsah dvou souborů
sort file1 file2 [| uniq seřadit obsah dvou souborů, nezobrazovat opakování
sort file1 file2 [| uniq -u seřadit obsah dvou souborů, zobrazit pouze unikátní řádky (řádky vyskytující se v obou souborech se nevypisují na standardní výstup)
sort file1 file2 [| uniq -d seřadit obsah dvou souborů, zobrazit pouze opakující se řádky
comm -1 file1 file2 porovnat obsah dvou souborů, nezobrazovat řádky patřící souboru 'file1'
comm -2 file1 file2 porovnat obsah dvou souborů, nezobrazovat řádky patřící souboru 'file2'
comm -3 file1 file2 porovnat obsah dvou souborů, odstranit řádky vyskytující se v obou souborech
Převod sad znaků a formátů souborů
dos2unix filedos.txt fileunix.txt konvertovat textový soubor z formátu MSDOS do UNIX (rozdíl v znacích návratu vozíku)
unix2dos fileunix.txt filedos.txt konvertovat textový soubor z formátu UNIX do MSDOS (rozdíl v znacích návratu vozíku)
recode ..HTML < page.txt > page.html konvertovat obsah textového souboru page.txt do html souboru page.html
recode -l [| more vypsat seznam dostupných formátů
Analýza souborových systémů
badblocks -v /dev/hda1 zkontrolovat oddíl hda1 na přítomnost vadných bloků
fsck /dev/hda1 zkontrolovat/obnovit integritu linuxového souborového systému oddílu hda1
fsck.ext2 /dev/hda1 zkontrolovat/obnovit integritu souborového systému ext2 oddílu hda1
e2fsck /dev/hda1
e2fsck -j /dev/hda1 zkontrolovat/obnovit integritu souborového systému ext3 oddílu hda1 s uvedením, že deník je umístěn tamtéž
fsck.ext3 /dev/hda1 zkontrolovat/obnovit integritu souborového systému ext3 oddílu hda1
fsck.vfat /dev/hda1 zkontrolovat/obnovit integritu souborového systému fat oddílu hda1
fsck.msdos /dev/hda1
dosfsck /dev/hda1
Formátování souborových systémů
mkfs /dev/hda1 vytvořit linuxový souborový systém na oddílu hda1
mke2fs /dev/hda1 vytvořit souborový systém ext2 na oddílu hda1
mke2fs -j /dev/hda1 vytvořit deníkový souborový systém ext3 na oddílu hda1
mkfs -t vfat 32 -F /dev/hda1 vytvořit souborový systém FAT32 na oddílu hda1
fdformat -n /dev/fd0 formátování diskety bez kontroly
mkswap /dev/hda3 vytvořit swap prostor na oddílu hda3
swap prostor
mkswap /dev/hda3 vytvořit swap prostor na oddílu hda3
swapon /dev/hda3 aktivovat swap prostor umístěný na oddílu hda3
swapon /dev/hda2 /dev/hdb3 aktivovat swap prostory umístěné na oddílech hda2 a hdb3
Vytváření záloh (backup)
dump -0aj -f /tmp/home0.bak /home vytvořit úplnou zálohu adresáře /home do souboru /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home vytvořit inkrementální zálohu adresáře /home do souboru /tmp/home0.bak
restore -if /tmp/home0.bak obnovit ze zálohy /tmp/home0.bak
rsync -rogpav [--delete /home /tmp synchronizovat /tmp s /home
rsync -rogpav -e ssh [--delete /home ip_address:/tmp synchronizovat přes SSH tunel
rsync -az -e ssh [--delete ip_addr:/home/public /home/local synchronizovat lokální adresář se vzdáleným adresářem přes ssh tunel se kompresí
rsync -az -e ssh [--delete /home/local ip_addr:/home/public synchronizovat vzdálený adresář s lokálním adresářem přes ssh tunel se kompresí
dd bs=1M if=/dev/hda [| gzip [| ssh user@ip_addr 'ddof=hda.gz' udělat "snímek" lokálního disku do souboru na vzdáleném počítači přes ssh tunel
tar -Puf backup.tar /home/user vytvořit inkrementální zálohu adresáře '/home/user' do souboru backup.tar se zachováním oprávnění
( cd /tmp/local/ && tar c . ) [| ssh -C user@ip_addr 'cd/home/share/ && tar x -p' kopírování obsahu /tmp/local na vzdálený počítač přes ssh tunel do /home/share/
( tar c /home ) [| ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' kopírování obsahu /home na vzdálený počítač přes ssh tunel do /home/backup-home
tar cf - . [| (cd /tmp/backup ; tar xf - ) kopírování jednoho adresáře do druhého se zachováním oprávnění a odkazů
find /home/user1 -name '*.txt' [| \ xargs cp -av [--target-directory=/home/backup/[--parents vyhledat v /home/user1 všechny soubory, jejichž jména končí na '.txt', a zkopírovat je do jiného adresáře
find /var/log -name '*.log' [| tar cv [--files-from=- [|bzip2 > log.tar.bz2 vyhledat v /var/log všechny soubory, jejichž jména končí na '.log', a vytvořit z nich bzip archiv
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 vytvořit kopii MBR (Master Boot Record) z /dev/hda na disketu
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 obnovit MBR z diskety na /dev/hda
CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force vyčistit přepisovatelné CD
mkisofs /dev/cdrom > cd.iso vytvořit iso obraz CD na disku
mkisofs /dev/cdrom [| gzip > cd_iso.gz vytvořit komprimovaný iso obraz CD na disku
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd vytvořit iso obraz adresáře
cdrecord -v dev=/dev/cdrom cd.iso spálit ISO obraz
gzip -dc cd_iso.gz [| cdrecord dev=/dev/cdrom - spálit komprimovaný ISO obraz
mount -o loop cd.iso /mnt/iso připojit ISO obraz
cd-paranoia -B extrahovat audio stopy z CD do wav souborů
cd-paranoia [-- "-3" extrahovat první tři audio stopy z CD do wav souborů
cdrecord [--scanbus prohledat sběrnici pro identifikaci kanálu scsi
Síť (LAN a WiFi)
ifconfig eth0 zobrazit konfiguraci síťového rozhraní eth0
ifup eth0 aktivovat (zvednout) rozhraní eth0
ifdown eth0 deaktivovat (spustit) rozhraní eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 nastavit rozhraní eth0 ip adresu a masku podsítě
ifconfig eth0 promisc převést rozhraní eth0 do promiscuous režimu pro "chyta" paketů (sniffing)
ifconfig eth0 -promisc vypnout promiscuous režim na rozhraní eth0
dhclient eth0 aktivovat rozhraní eth0 v dhcp režimu.
route -n vypsat lokální tabulku směrování
netstat -rn
route add -net 0/0 gw IP_Gateway nastavit ip adresu výchozí brány (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 přidat statickou trasu do sítě 192.168.0.0/16 přes bránu s ip adresou 192.168.1.1
route del 0/0 gw IP_gateway odebrat ip adresu výchozí brány (default gateway)
echo "1" > /proc/sys/net/ipv4/ip_forward povolit přesměrovávání paketů (forwarding)
hostname zobrazit jméno počítače
host www[.yandex[.ru přeložit jméno www[.yandex[.ru hosta na ip adresu a naopak
host 93.158.134.3
ip link show zobrazit stav všech rozhraní
mii-tool eth0 zobrazit status a typ připojení pro rozhraní eth0
ethtool eth0 zobrazuje statistiku rozhraní eth0 s výpisem takových informací, jako jsou podporované a aktuální režimy připojení
netstat -tupn zobrazuje všechna instalovaná síťová připojení podle protokolů TCP a UDP bez překladu jmen na ip adresy a PID a jmen procesů zajišťujících tato připojení
netstat -tupln zobrazuje všechna síťová připojení podle protokolů TCP a UDP bez překladu jmen na ip adresy a PID a jmen procesů naslouchajících na portech
tcpdump tcp port 80 zobrazit veškerý provoz na TCP port 80 (obvykle - HTTP)
iwlist scan prohledat vzdušný prostor na dostupnost bezdrátových přístupových bodů
iwconfig eth1 zobrazit konfiguraci bezdrátového síťového rozhraní eth1
Microsoft Windows networks(SAMBA)
nbtscan ip_addr přeložit netbios jméno nbtscan není ve všech systémech instalován ve výchozím nastavení, možná budete muset doinstalovat ručně. nmblookup je součástí balíčku samba.
nmblookup -A ip_addr
smbclient -L ip_addr/hostname zobrazit zdroje sdílené na windows stroji
smbget -Rr smb:[//ip_addr[/share podobně jako wget může stahovat soubory z windows strojů přes smb protokol
mount -t smbfs -o username=user,password=pass[//winclient[/share [/mnt[/share připojit smb zdroj poskytovaný na windows stroji do lokálního souborového systému
IPTABLES (firewall)
iptables -t filter -nL zobrazit všechna pravidlová pravidla
iptables -nL
iptables -t nat -L zobrazit všechna pravidlová pravidla v NAT tabulce
iptables -t filter -F vyčistit všechna pravidlová pravidla v filter tabulce
iptables -F
iptables -t nat -F vyčistit všechna pravidlová pravidla v NAT tabulce
iptables -t filter -X odebrat všechna uživatelská pravidlová pravidla v filter tabulce
iptables -t filter -A INPUT -p tcp [--dport telnet -j ACCEPT povolit příchozí připojení telnetem
iptables -t filter -A OUTPUT -p tcp [--dport http -j DROP blokovat odchozí HTTP připojení
iptables -t filter -A FORWARD -p tcp [--dport pop3 -j ACCEPT povolit "přesměrovávat" (forward) POP3 připojení
iptables -t filter -A INPUT -j LOG [--log-prefix "DROP INPUT" povolit protokolování jádrem paketů procházejících přes řetězec INPUT a přidání prefixu "DROP INPUT" ke zprávě
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE povolit NAT (Network Address Translate) odchozích paketů na rozhraní eth0. Dostupné při použití s dynamicky přidělovanými ip adresami.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp [--dport 22 \ -j DNAT [--to-destination 10.0.0.2:22 přesměrování paketů určených jednomu hostovi na jiného hosta
Monitorování a ladění
top zobrazit spuštěné procesy, zdroje, které používají, a další užitečné informace (s automatickou aktualizací dat)
ps -eafw zobrazit spuštěné procesy, zdroje, které používají, a další užitečné informace (jednorázově)
ps -e -o pid,args [--forest vypsat PID a procesy ve stromové struktuře
pstree zobrazit strom procesů
kill -9 98989 "zabít" proces s PID 98989 "na smrt" (bez dodržení integrity dat)
kill -KILL 98989
kill -TERM 98989 Korektně ukončit proces s PID 98989
kill -1 98989 donutit proces s PID 98989 znovu načíst konfigurační soubor
kill -HUP 98989
lsof -p 98989 zobrazit seznam souborů otevřených procesem s PID 98989
lsof /home/user1 zobrazit seznam otevřených souborů z adresáře /home/user1
strace -c ls > /dev/null vypsat seznam systémových volání vytvořených a přijatých procesem ls
strace -f -e open ls > /dev/null vypsat volání knihoven
watch -n1 'cat /proc/interrupts' zobrazovat přerušení v reálném čase
last reboot zobrazit historii restartů systému
last user1 zobrazit historii přihlášení uživatele user1 do systému a dobu jeho přítomnosti v něm
lsmod vypsat načtené moduly jádra
free -m zobrazit stav operační paměti v megabajtech
smartctl -A /dev/hda kontrola stavu pevného disku /dev/hda přes SMART
smartctl -i /dev/hda zkontrolovat dostupnost SMART na pevném disku /dev/hda
tail /var/log/dmesg vypsat posledních deset záznamů z deníku zavádění jádra
tail /var/log/messages vypsat posledních deset záznamů ze systémového deníku
Ostatní užitečné příkazy
apropos …keyword vypisuje seznam příkazů, které nějakým způsobem souvisejí s klíčovými slovy. Užitečné, když víte, co program dělá, ale neznáte příkaz
man ping vyvolat manuál k programu, v tomto případě - ping
whatis …keyword zobrazuje popis akcí uvedeného programu
mkbootdisk [--device /dev/fd0 `uname -r` vytváří zaváděcí disketu
gpg -c file1 šifruje soubor file1 pomocí GNU Privacy Guard
gpg file1.gpg dešifruje soubor file1 pomocí GNU Privacy Guard
wget -r www[.example[.com stahuje rekurzivně obsah webu www[.example[.com
wget -c www[.example[.com/file[.iso stáhnout soubor www[.example[.com/file[.iso s možností zastavení a pokračování později
echo 'wget -c www[.example[.com/files[.iso' [| at 09:00 zahájit stahování ve stanovený čas
ldd /usr/bin/ssh vypsat seznam knihoven potřebných pro práci ssh
alias hh='history' přiřadit alias hh příkazu history

Jádro běží v jedné adresní prostoru. To znamená, že jeden modul nebo ovladač může poškodit celé jádro.
Ctrl + Alt + F(1-6) přepínání mezi virtuálními konzolemi. ttyN, kde N je číslo konzole?
Ctrl + Alt + F7 přepnutí do grafické konzole
startx _spuštění systému X Windows (přechod do grafického režimu)
ho -r nebo runlevel _zobrazení úrovně běhu OS !!!
init n (n od 0 do 6) spouští jednu z úrovní OS, například 3. Tedy spouští soubor rc3.d, který obsahuje symbolické odkazy na soubory v init.d.
Název odkazu může začínat K-zastavení nebo S-spouštění, následovaný číslem priority spuštění.
*************
mount /dev/hda4 mnt/hda4 -t data=<režim journalingu> _writeback, ordered, journal?
Vytvoření nové souborové systému ext3
1. Vytvořit oddíl pomocí parted nebo fdisk
2. Naformátovat oddíl mkfs
3. Přiřadit oddílu label pomocí e2label
4. Vytvořit bod připojení mkdir
5. Přidat oddíl do souboru etcfstab
*************
GRUB bootloader
Stisknutí E - vstup do rozhraní editoru záznamů. Esc - zrušení změn a návrat do menu.
Stisknutí B (po úpravách) - provedení příkazů a spuštění OS
Stisknutí C - vstup do rozhraní příkazového řádku, zadání příkazů a stisknutí enter pro provedení
help all - výpis všech příkazů
Výběr jádra a stisknutí - a. Na konec řádku přidejte mezerou číslo runlevel
less /boot/grub/grub.conf _soubor bootloaderu
**************************
2.1 Superblock - důležité informace o discích?
dumpe2fs /dev/sda1 | grep superblock _informace o superblockech
Použití záložního superblocku: všechny?
1. Spuštění z Live CD nebo instalačního disku Centos
2. fsck -y -b 8193 /dev/sda1 _kontrola disku 8193 - číslo 1 ze záložních superblocků
3. Připojení souborového systému
3.1 Běžným způsobem
3.2 Pokud se nepodaří:
mount sb=8193 /dev/sda1 /mnt _číslo z. superblocku /zařízení /bod.připojení
4. Přidáme do /etc/fstab možnost sb (sb=8193) k našemu souborovému systému
*********************
Práva přístupu k souborům
123 456 789
s t rwx rwx rwx
s _suid-bit - 4 (000) soubor získá práva vlastníka souboru (utility passwd) musí mít práva na spuštění? ***v shell, červeně zvýrazněny soubory s suid-bitem.
t _sticky-bit - 1 (000)
1/2/3 _čtení/zápis/spuštění pro vlastníka
4/5/6 _čtení/zápis/spuštění pro skupinu vlastníka
7/8/9 _čtení/zápis/spuštění pro ostatní
Právo na čtení je označeno číslem 4, na zápis - 2, na spuštění - 1
Pokud je vše povoleno, pak číslo práv, které se nastaví na soubor pro jednotlivou skupinu = 7.

chmod [volby] [režim] soubor – změna oprávnění. -v – výstup ladících informací, -R – rekurzivní režim, změna oprávnění pro všechny podsložky a soubory
chmod 4755 test.txt _4-přidání suid bitu, 7-plná práva vlastníka, 5 a 5-čtení a spuštění pro skupinu a ostatní – tento příkaz na soubor v domovském adresáři (složce) root, vydal zprávu: You have new mail in /var/spool/mail/root ?
-rwsr-xr-x root root 1 _nutno číst jako rws (s místo x) rx rx, root-vlastník, root-skupina vlastníka, 1-počet odkazů
Zpětně: chmod 0755 test.txt nebo chmod 755 test.txt - 0 před 7 se dosazuje implicitně.
chmod 750 test.txt - 0 vynuluje hodnotu oprávnění
chmod -R u=rwx,g=rx,o=x myfiles - druhá metoda změny oprávnění pro složku nebo soubor.
chmod -R u-x,g-x,o-x myfiles - třetí metoda změny oprávnění pro složku nebo soubor odděleně pro každou skupinu uživatelů, kde a-vlastník, g-skupina vlastníka, o-všichni ostatní.
chmod -R a-x myfiles - čtvrtá metoda změny oprávnění pro složku nebo soubor pro všechny uživatele. V 3 a 4 lze -/+
chmod +x script.sh - přidání ke spuštění pro všechny skupiny. Pátá metoda změny oprávnění.

sgid-bit - 2 (000) – dědí se práva skupiny vlastníka. Pokud je bit sgid nastaven pro složku, pak vytvářené soubory v ní při spuštění přebírají identifikátor skupiny složky, nikoliv skupinu, do které patří vlastník souboru.
Spuštění programu s právy skupiny vlastníka? Jak správně?
sgid-bit pro soubor: chmod 2755 test.txt

sticky-bit - 1 (000) - pokud se nastaví na složku, pak mazat a přejmenovávat soubory této složky může pouze vlastník této složky, vlastník souboru nebo root. Mít pouze rozšíření pro zápis do této složky nestačí.
chmod 1755 test.txt

chown [volby] [vlastník]:[skupina] test.txt - změna vlastníka souboru a skupiny. -v – výstup ladících informací, -R – rekurzivní režim.
[vlastník]:[skupina] - to je nový vlastník a nová skupina.
chown -R user1:user1 * - změna vlastníka a skupiny, pro všechny soubory a podsložky aktuální složky. Nelze změnit vlastníky podsložky. Kdo má práva na změnu vlastníků souboru nebo složky?
chgrp group1 file1 – změna skupiny.

umask ХХХХ - změna (nastavení) režimu přístupu, určuje oprávnění pro nově vytvářené složky a soubory!!!
Hodnota umask se odečítá od čísla 777 pro složky a od čísla 666 pro soubory.
umask - zjistit, jaký umask se používá v systému, u mě: 0022.
Nové složky: 0777 - 0022 = 0755. Nové soubory 0666 - 0022 = 0644

umask 0 1 2 3 4 5 6 7
Maska režimu přístupu r w x r w - r - x r - - - w x - w - - - x - - -

mount [volby] [zařízení] [bod_připojení] - připojení souborového systému
umount [volby] [zařízení] NEBO [bod_připojení] -f vynutí odpojení
mount - seznam připojených souborových systémů
Při připojení lze nastavit oprávnění. Lze připojit celý FS pouze pro čtení. Tím se přepíší dříve nastavená oprávnění.
Připojit CD: mount -t iso9660 /dev/cdrom /mnt _uvádí se typ FS (pro CD není povinný)
Připojit obraz: mount -o loop -t iso9660 image.iso /mnt/iso nepodařilo se?
iso9660 pro připojení unixových systémů a CD/DVD mount -t ext3 /dev/sda4 /disk mount nevytváří oddíly.
nfs pro připojení síťového souborového systému
ntfs pro připojení oddílů Windows
ufs pro Solaris
V souboru /etc/fstab je uveden seznam souborových systémů pro automatické připojení při spuštění OS
[zařízení] [bod_připojení] [typ_fs] [volby] [příznak dump (zastaralé)] [příznak fsck (0=nekontrolovat, 1=kontrolovat, 2=kontrolovat po kontrole 1)]
cat /etc/fstab –
Názvy zařízení:
hdc – pevné disky
scsi -

cat /etc/mtab (mount) _ zobrazení informací o připojených FS. Ručně se needituje.
/etc/filesystems _ seznam možných FS. Používá příkaz mount pro automatické doplnění, pokud není uveden přepínač -t s typem FS

FS proc existuje pouze v RAM. Používá se jako rozhraní ke strukturám dat jádra. Jedná se o virtuální FS, která se při startu systému načte do operační paměti a nezabírá místo na HD. Mnoho souborů v ní lze měnit, čímž se mění parametry jádra v reálném čase.
cat /proc/cpuinfo, meminfo, mounts, devices, filesystems, modules, version, cmdline - seznam parametrů předávaných jádru při zavádění. Skvělý zdroj informací o systému!!!

Práce se soubory:
Vytvořit textovým editorem vi/vim jméno souboru, přesměrováním výstupu příkazu echo nebo cat.
Editor vim:
i - zadávání textu. Esc - po zadání návrat do režimu editace.
: - pro zadávání příkazů pro práci se soubory, úpravu nastavení a dalších příkazů.
Nyní lze zadávat: w - pro zápis souboru a q pro ukončení editoru. q! – ukončení bez uložení.
/ - vyhledávání
touch test.txt - aktualizace času přístupu k dříve vytvořenému souboru (vytvoření nového v aktuálním adresáři). Ve výchozím nastavení se vytváří soubor s právy 644. Obvykle se mění na 775/ 755
touch 's mezerou'.txt – vytvoření souboru s mezerou.

CP [volby] [zdroj] [cíl] - kopírování souboru nebo adresáře.
cp test.txt test1.txt - vytvořit test1 jako kopii test.txt, cp /etc/test.txt ~ - zkopírovat test.txt do domovského adresáře.
cp -r /etc/ /root/dok - zkopírovat obsah oddílu /etc/ do nově vytvořené složky /root/dok, nelze kopírovat soubor současně s vytvořením složky, pouze obsah oddílu.

mv [volby] [zdroj] [cíl]- přesun souborů
mv file.txt /tmp/ - přesunout file.txt do /tmp/ bez přejmenování
mv /tmp/file.txt ~/file2.txt - přesunout file.txt, přejmenovat na file2.txt

Měkký odkaz ukazuje na soubor, tvrdý odkaz na indexový uzel (inode) souboru.
ln [volby] [cílový_soubor] [jméno_odkazu] - vytváření odkazů mezi soubory.
ln -s file.txt lnk - vytvoření symbolického (měkkého) odkazu lnk (pomocí –s) - místo cesty k souboru lze zadat alias, odkazuje na soubor.
ln file2.txt file.txt - vytvoření tvrdého odkazu - odkazuje na indexový uzel souboru
unlink lnk - odstranění měkkého odkazu

cat – zobrazení, less - stránkování/řádkové zobrazení, q – ukončení, Shift + PgUp/ PgDn – přesun.
cat test.txt test1.txt - zobrazení obsahu 2 souborů na obrazovku.
cat test.txt test1.txt > test2.txt - sloučení souborů do 1.
cat test1.txt > test2.txt - nahrazení obsahu souboru test2 obsahem souboru test1.
cat test1.txt >> test2.txt - přidání obsahu souboru test1 k obsahu souboru test2.
cat - >> test1.txt - přidání dat do souboru test1 přímo z shellu. Ctrl + C - uložení změn.

head -n 20 test.txt - výpis prvních 20 řádků souboru (výchozích 10 řádků).
tail -n 20 test.txt - výpis posledních 20 řádků souboru (výchozích 10 řádků).
nl test.txt - výpis souboru s číslováním řádků

df [volby] [soubor] - statistika využití FS. Lze použít df, df -h nebo df -h /dev/sda1.
du [volby] [soubor] - statistika využití diskového prostoru. du -hs /usr/share - výpis velikosti adresáře /usr/share.
-h - poskytuje statistiku ve formátu přívětivém pro člověka - MB atd. -s - sumarizuje výsledky podadresářů a souborů v nich.

echo [volby] [řetězec] - zobrazení řetězce textu. echo -n 'blablabla' - zobrazí blablabla na stejném řádku.
echo 'blablabla' - zobrazí blablabla na novém řádku.
echo 'blablabla' > file.txt - nahrazení obsahu souboru, echo 'blablabla' >> file.txt – přidání k obsahu souboru

wc [volby] [soubor] - statistika souboru !!!
-c - počet bajtů v souboru, -m - počet znaků v souboru, -l - počet řádků v souboru, -L - délka nejdelšího řádku
-w - počet slov v souboru.

find [cesta_vyhledávání] [volba_vyhledávání] [hodnota] [volba_akce] - vyhledávání souborů nebo adresářů.
-name - název souboru nebo adresáře, který má být nalezen
-type - typ objektu: f - běžný soubor, d – adresář, b - blokové zařízení, c - znakové zařízení, p - pojmenovaný kanál, l - symbolický odkaz, s – soket,
-size - použití velikosti souboru jako kritéria vyhledávání
-mtime - datum modifikace
-ctime - čas poslední změny atributů souboru. V čem je rozdíl mezi mtime a ctime?
-atime - čas poslední přístupu k souboru touch?
-perm 777 – s právy přístupu 777
-print - pouze vytisknout absolutní cestu k souboru
-exec - provedení určitého příkazu pro nalezené objekty
find / -name pab -type d
find /tmp/ -name core -type f -print | xargs /bin/rm –f -hledáme soubor, výstup na obrazovku print, a pomocí xargs, jako argument, předáváme příkazu rm.
find /etc/ -perm 777 -type f -hledáme soubory s právy 777 v adresáři etc.
find /etc/ -name pablish -exec rm -rf {} \; - provedení příkazu rm -rf pro nalezené objekty. Místo {} bude dosazeno to, co jsme našli jako argument.

F4- otevření souboru
Práce s adresáři:
mkdir - vytvoření, ls - zobrazení, mv - přejmenování/přesunutí, rm -rf - odstranění obsazených adresářů, rmdir - odstranění prázdných adresářů !!!
mkdir –p ~/test/cda/blabla _100% vytvoření podsložek v domovském adresáři
mkdir -p /root/dok/dir2{dir1,dir2,dir3} – vytvoření struktury adresáře dok/dir2 se 3 oddíly dir1-3
«.» - aktuální adresář, «..» - nadřazený adresář, pro root «.» = «..»
mkdir -m 700 dir2 - explicitní nastavení práv pro nový adresář
rm -rf* - odstranění veškerého obsahu aktuálního oddílu,
kde -r - rekurzivní režim, -f - vypnutí dotazů na potvrzení
rmdir ~/test _odstranit prázdnou podsložku domovského adresáře
mknod _vytvoření bajtově orientovaných zařízení - tiskárny, modemy rm _delet?
mknod _vytvoření blokově orientovaných zařízení - pevný disk?
mknod _vytvoření pojmenovaných kanálů rm _delet?
sokeed lze odstranit rm

ls - výpis obsahu adresáře.
ls -lhR /etc/ | less - přes potrubí přesměrovat výstup do příkazu less
-a - vše včetně skrytých souborů (začínají tečkou), -h - velikost souborů, -l - všechny informace, -i - inody (indexové deskriptory), -R - informace o všech podsložkách -t – řazení podle času, /*.txt – hledání podle masky
Man ls – nápověda.
q – ukončení, Pg Up, Pg Dn – přesun. / - zadání hledání, n - dolů N - nahoru
ls ../.. _zobrazení o 2 úrovně výše, ls ../man _na úrovni výše najít adresář man
ls -l /dev/sda = file /dev/sda, ls –l /root /tmp /usr …- výpis více souborů
ls –l /etc/*/*.conf – hledání podle přípony, „přeskakující“ 1 úroveň
ls -l /etc/[^a-w]*.conf - hledá adresáře nezačínající písmeny a-w s příponou conf.
ls –ld – práva na aktuální adresář.
cd – change directory – změna adresáře
cd /usr/share/doc - přechod podle absolutní cesty
cd - _do předchozího adresáře, cd .. _o úroveň výše, cd ~ _do domovského adresáře,
cd ~/myfiles _přechod z libovolného místa do nově vytvořené podsložky domovského adresáře.

grep [volby] vzor [cesta k hledanému souboru] - Hledání podle vzoru.
rpm -qa | grep chk - hledání chk ve výpisu všech balíčků nainstalovaných v systému.

/dev/null - tzv. černá díra, používá se k pohlcení nepotřebného výstupu programů
command > /dev/nul 2>&1 - přesměrování všech chyb do /dev/null.
/dev/zero - lze použít k vytvoření souboru požadované velikosti
dd if=/dev/zero of=file.iso bs=1024 count=1024 - vytvoření iso souboru o velikosti 1 MB.
/dev/random, /dev/urandom - používáno skripty pro generování náhodných čísel.

BASH:
# - příkazový řádek s právy administrátora
$ - příkazový řádek běžného uživatele - lze pracovat v domovském adresáři bez ovlivnění celého systému

Ctrl + C - přerušit aktuální proces (signál SIGINT)
Ctrl + D - ukončení příkazového interpretu
Ctrl + L - vyčištění obrazovky
Ctrl + Z - přesunout proces na pozadí
Alt + D - smazat všechny znaky od aktuální pozice do konce slova
Alt + R - vyčistit celý řádek
Dvojkové TAB - všechny dostupné příkazy
Esc + D - smazat od kurzoru do konce slova

echo $BASH_VERSION - verze BASH. $ - znak proměnné, tj. výpis proměnné BASH_VERSION.
echo $BASH - umístění BASH

Formát příkazů: název_příkazu [přepínače/ možnosti] [argumenty]
./name_script.sh - spuštění skriptu z domovského adresáře
Konfigurační soubory BASH
1. Lokální - nacházejí se v domovských adresářích uživatelů systému a mají prioritu před globálními.
.bash_logout - skript se spouští při odhlášení ze systému
.bash_history - soubor s historií příkazů, který se zapisuje do souboru po odhlášení uživatele ze systému. Lze nastavit, aby se zapisoval okamžitě?
.bash_profile - skript se spouští při vašem připojení k systému (v některých systémech se používá bashlogin)
.bashrc - skript se spouští při každém otevření nového shellu. Spouští se a vykonávají se všechny příkazy v něm uvedené.
2. Globální:
/etc/profile
/etc/bashrc

history - zobrazení historie příkazů. Počet řádků je určen proměnnou echo $HISTSIZE, ve výchozím nastavení 1000 řádků.
history N - zobrazit posledních N řádků.
history -d N - smazat řádek N.
!! - vykonat poslední zadaný příkaz
!N - vykonat příkaz N
!string - poslední příkaz, který začíná na string

Přesměrování vstupu/výstupu.
Deskriptor souboru - nezáporné celé číslo přiřazené operačním systémem souboru otevíranému procesem. V systému jsou trvale otevřeny 3 deskriptory souborů.

Číslo Název Popis Poznámka
0 stdin Standardní vstup - vstup dat z klávesnice obsluhuje klávesnice
1 stdout Standardní výstup - displej monitoru obsluhuje monitor
2 stderr Používá se pro výstup chybových hlášení

cat file1 file3 2>err_file - chyba při výstupu neexistujícího file3 je přesměrována do nově vytvořeného souboru err_file. 2 - stderr.
cat < /etc/resolv.conf - přesměrování ze souboru.
cat > file, poté enter a z nového řádku zadáte text. Ukončení zadání Ctrl + c. Zadaný text byl přidán do nově vytvořeného souboru file.
date > date.txt - při přesměrování do souboru se existující data přepíší.
date >> date.txt - při přesměrování do souboru se data přidají k existujícím.
vi <(ls /etc) - přesměrování obsahu adresáře etc do textového editoru. Jakým jménem uložit získaný výsledek?
echo -e "'ls -l /etc/[^a-w]*.conf'\n" - hledá adresáře nezačínající písmeny a-w s příponou conf. Nepracuje to??? '- ?
Možná přesměrování:

Odkud Kam
stdout Soubor
stdout Stderr
stdout a stderr Stdout
stdout a stderr Stderr
stdout a stderr Soubor
stderr Soubor
stderr Stdout
Potrubí (pipes) spojují standardní výstup jednoho příkazu se vstupem jiného a označují se: |
ls /usr/share | wc -l - počítání počtu řádků v adresáři

Built-in příkazy vestavěné v bash. enable (enable -a) - zobrazit všechny (vypíše seznam příkazů)
rpm -qa | grep hist - hledá v balíčcích systému výskyt hist, což neexistuje, protože příkaz history je vestavěn v bash.
Při spuštění se nejprve vykoná built-in příkaz a teprve poté se hledá v proměnné $PATH
enable -n pwd - vypne built-in příkaz pwd. Poté se bude vykonávat systémový příkaz pwd umístěný v /bin/pwd
enable -n - seznam vypnutých built-in příkazů

Proměnné
Rodičovský proces > podřízený proces > podřízený proces atd.
Procesy mohou postupně předávat informace o proměnných na nižší úroveň od rodičovského procesu k podřízeným, ale ne naopak. Podřízený proces nemůže předat nic rodičovskému procesu.
Value=10 – vytvoření proměnné a přiřazení její hodnoty. Proměnná bude dostupná pouze v aktuální relaci.
Export Value=10 – nyní lze proměnnou používat z jiných programů.
Unset value – odstranění proměnné
env – zobrazení proměnných prostředí (exportovaných). Zde uvidíme pouze ty, které byly exportovány po provedení příkazu Export Value.
typeset – zobrazení proměnných prostředí, včetně těch vytvořených uživatelem.
Vim script.sh, samotný skript:
#!/bin/bash
Echo $value
./script.sh – spuštění skriptu v domovském adresáři uživatele root.
Shell – je rodičovským procesem pro skript. Mohli jsme mu umožnit použití proměnné jejím exportem, nebo mu to zakázat jejím neexportováním.
Populární proměnné: zobrazení pomocí echo $
$HOSTNAME – název hostitele
$Shell – název příkazového interpretu
$USER – jméno uživatele, který se přihlásil do systému
$PATH – seznam adresářů OS, ve kterých se hledá příkaz, když jej zadáme do konzole. Hledání probíhá postupně podle adresářů až do prvního shody.
$PWD – aktuální pracovní adresář
$HOME – aktuální domovský adresář uživatele
$UID – číselný identifikátor aktuálního uživatele
$# – počet předávaných argumentů
echo $PATH – proměnná, která obsahuje seznam adresářů v OS

Lokální proměnné.
$0 – obsahuje název spouštěného souboru
$1 – první argument
$2 – druhý argument
$PS1 – výzva příkazového řádku

Vim script.sh, samotný skript:
#!/bin/bash
Echo “first arg” - $0
Echo “second arg” - $1
…
Echo “10 arg” - ${10} – od desátého argumentu je nutné je uvádět v závorkách.
./script.sh first_arg second_arg – předání prvního a druhého argumentu skriptu

Použitečné příkazy:
cat /etc/passwd – výpis seznamu uživatelů
pwd – zobrazení pracovního adresáře. pwd [-LP]
ps aux | grep mingetty – vyhledání všech procesů systému + výpis pouze těch, které obsahují slovo mingetty
whoami – vrací aktuální uživatelský účet, pod kterým uživatel pracuje.
netstat -nr – pro síťovou analýzu
su user1 – přepnutí na jiného uživatele. Otázka zní, v jakém případě má po změně uživatele na běžného smysl příkaz: cd ~ ?
exit – návrat do příkazového řádku uživatele root
useradd – přidání uživatele – příkaz not found při zadání před startx?
Otázka sudo useradd PPetrov – chyba již po zadání požadovaného hesla?
#passwd Uliashov – změna hesla z pod roota na jakékoli
$passwd Ivanov – změna hesla z pod uživatele na odpovídající bezpečnostním kritériím.
date – zobrazení systémového data a času
env – zobrazení proměnných prostředí (exportovaných)
typeset – zobrazení proměnných prostředí, včetně těch vytvořených uživatelem.
df –h – stupeň vyplnění diskového prostoru
rm mod pcspkr – odpojení ovladače jádra z operační paměti
modprobe pcspkr
lsmod – seznam modulů
modinfo pcspkr – zobrazení informací o modulu

Přednáška č. 4

V každém adresáři jsou 2 odkazy. Přidání každé podsložky přidá +1 odkaz.
Některé systémy vypínají swap, aby se předešlo neustálému přepínání disků.
fdisk –l – konfigurace pevného disku
free – statistika operační paměti
vnc viewer 10.95.4.229
Systém DOS umožňuje vytvořit 3 oddíly
Primární – běžný
Rozšířený (Extended) – rozšířený, uvnitř něj lze vytvořit logický oddíl
Oddíly 1 až 4 jsou Primární nebo Rozšířený. Od 5 výše jsou Logické
swapon –a / swapoff –a – připojení/odpojení swapu
etoolabel ???
partprobe?
Stáhnout viewer VNC
mkswap – ???
mkfs hdc1(2-6)
Pokud připojíte oddíl do nové složky, soubory vytvářené v této složce se nebudou nacházet v ní, ale v připojeném oddílu

1 free
2 cat /proc/swaps
3 swapoff –a /dev/mapper/VolGroup00-LogVol01 - cesta z bodu 2
4 mkfs /dev/mapper/VolGroup00-LogVol01
5 mkdir /novyi
6 mount /dev/mapper/VolGroup00-LogVol01 /novyi
7 vytvořit složky a soubory ve složce – bod připojení
8 umount
9 mkswap /dev/mapper/VolGroup00-LogVol01 – naformátování zařízení
10 swapon –a

alias ‘fuck’ = ‘init 0’ nedělat
Připojovat souborové systémy (mount) může pouze root.
Lze připojit vzdálený souborový systém, například na dobu zálohování.
V etc/fstab lze zapsat práva uživatele k připojení určité složky.

Lekce č. 6

LVM – správce logických svazků – podívejte se na popis na internetu.
LV > VG – skupina > PV – hd1, … fyzické disky se spojují do 1 skupiny. Nebo naopak 1 disk se rozděluje na více svazků???. Možná ztráta výkonu ~ 5%.
vgs, pvs, lvs
Úkol získat logický svazek.??????????
pvcreate /dev/hdc5
PV
VG
Vgcreate VG1 /dev/hdc5 – vytvoření skupiny
Lvcreate –L 100M –n DataBase VG1 – vytvoření logického svazku
Ls /dev/VG1/DataBase – podíváme se.
Provádíme:
1 free
2 cat /proc/swaps
3 swapoff –a /dev/mapper/VolGroup00-LogVol01 - cesta z bodu 2 - odpojeno
4 lvremove /dev/mapper/VolGroup00-LogVol01 – odstraněno
5 cat /proc/swaps
6 vgs – zobrazí volné místo free
7 lvcreate –L 100M –n MYVOL1 VolGroup00
8 mkfs /dev/VolGroup00/MYVOL1 – formátování
8 mount /dev/mapper/VolGroup00-MYVOL2 /novyi nebo mount /dev/VolGroup00/MYVOL1 /novyi
ls –l /Dev/VolGroup00 – odkaz na dev/mapper/Vol…
Lze vytvořit okamžitý snímek stavu oddílu:
lvcreate –s /dev//VolGroup00/MYVOL1 –n SNAP_MYVOL1 –L 100M – snímek je také nový oddíl. Lze jej připojit jako oddíl k bodu připojení, ale pokud v něm vytvoříte soubor, nebude ve snímku
při vytváření souborů v bodě připojení lvs zobrazí změny oddílu snímku
Před změnou dat se jejich historie zaznamená do snímku
Snímek se vytváří ve stejné volume group.
Vytvořit snímek pouze pro čtení:
lvcreate –p r –s /dev//VolGroup00/MYVOL1 –n SNAP_MYVOL1 –L 100M – nedovolí zápis do bodu připojení.
Příkazy:
Ctrl + r + zadat hledaný text
Ctrl + u – smazat celý výstup (chyba při zadávání hesla)
Ctrl + W – smazat po slovech
Ctrl + L – smazat obrazovku???
Alt + . – výstup posledního parametru
Ctrl + S – zablokování obrazovky. Ctrl + Q – odblokovat

 

článek převzat odtud

Poznámka: příspěvek mohl vzniknout s pomocí AI a lidskou redakcí. Odpovědný: Dmytro Lomaka, Kaltenkirchen.