Uživatelské nástroje

Nástroje pro tento web


system

Systém


SYSTÉM
uname (-s) vypíše typ OS, -r verzi jádra, -v datum vytvoření jádra, -p architekturu procesoru, -n síťové jméno počítače (nodename), -a všechny informace
lsb_release vypíše LSB (Linux Standard Base) verzi
lsb_release -d / cat /etc/redhat-release vypíše distribuci linuxu a její verzi
dmidecode vypíše informace o použitém hardwaru a biosu, -s <klicove_slovo> jen informace o konkrétní položce ze seznamu dostupných klíčových slov
# dmidecode -s system-uuid
(vypíše ID systému)
# dmidecode -s system-product-name | egrep -i 'virtual|vm|bochs'
(vypíše, zda jde o virtuální server)
lscpu vypíše informace o procesoru
cat /proc/cpuinfo vypíše podrobné informace o jednotlivých jádrech procesoru
free zobrazí využití fyzické operační paměti systému a swapu v kB (údaje z /proc/meminfo), -m v MB, -t total
nmon zobrazí podrobné statistické informace o CPU, paměti, síti, discích, jádru, souborových systémech, NFS, a hlavních procesech (výpis se mění podle aktuálního stavu)
ulimit vypíše či nastaví daný limit pro užívání zdrojů systému (implicitně použije volbu „-f“), -a vypíše všechny nastavené limity, -H nastaví „tvrdý“ limit, -S nastaví „měkký“ limit, -f <limit> max. velikost vytvářeného souboru v MB, -n <limit> max. počet otevřených souborů, -t <limit> max. čas procesoru v sekundách, -u <limit> max. počet procesů na jednoho uživatele; (trvalé nastavení se provede v /etc/security/limits.conf)
chroot <korenovy_adresar> změní kořen souborového systému na nový, daný parametrem, a spustí nový shell (vhodné při práci v záchranném režimu z externího média)
# chroot /mnt/sysimage
(připojí se přímo na pevný disk s původní instalací, odkud je možné opravit poškozený systém)
setup spustí nástroj pro konfiguraci systému
cal / cal <MM> <RRRR> zobrazí kalendář (aktuální měsíc) / daný měsíc v roce, -m týden začíná pondělím, -y celý rok
$ cal 8 2005
date / date <MMDDhhmmRR>

date +<format>



date -d @<pocet_sekund>
vypíše / nastaví aktuální datum a čas systému
# date 0321120098
vypíše datum v daném formátu, např. %H zobrazí hodinu ve dvojciferném 24-hodinovém formátu, %M minutu ve dvojciferném formátu, %d den v měsíci ve dvojciferném formátu, %m měsíc ve dvojciferném formátu, %Y rok ve čtyřciferném formátu
$ date +%H:%M_%d.%m_%Y
převede čas uvedený v sekundách od 1.1.1970 do čitelného formátu
$ date -d @123456
ntpdate <server> nastaví datum a čas systému podle NTP serveru; (trvalé nastavení se provede v /etc/ntp.conf)
# ntpdate tak.cesnet.cz
hwclock -r vypíše hardwarové datum a čas, -s nastaví systémový čas podle hardwarového, -w nastaví hardwarový čas podle systémového, --set –date=<RRMMDD hh:mm:ss> nastaví hardwarový čas na danou hodnotu
# hwclock --set --date='780321 22:06:56'
uptime vypíše systémový čas, čas od posledního naběhnutí počítače, počet přihlášených uživatelů a průměrné zatížení procesoru
who -b vypíše čas posledního spuštění systému
dmesg vypíše hlášení jádra během bootování systému (vhodné např. ke zjištění, zda systém rozpoznal nové zařízení; údaje z /var/log/dmesg)
$ dmesg | grep usb
sysctl <parametr> vypíše daný parametr jádra a jeho aktuální hodnotu, -a vypíše všechny parametry jádra a jejich aktuální hodnoty, -w <parametr>=<hodnota> nastaví parametry jádra za běhu; (dostupné parametry se nachází v /proc/sys, trvalé nastavení se provede v /etc/sysctl.conf), -p synchronizuje údaje z /etc/sysctl.conf s jádrem
# sysctl -w net.ipv4.icmp_echo_ignore_all=1
(ignoruje požadavek na ping)
# sysctl -w net.ipv4.ip_forward=1
(povolí IP forwarding)
# sysctl -a | egrep "net.ipv4.(tcp_syncookies|icmp_echo_ignore_broadcasts|conf.all.accept_redirects)"
cat /etc/grub.conf (lilo.conf) vypíše nastavení zaváděcího (bootovacího) programu pro spuštění OS
cat /etc/default/grub
(platí pro Red Hat Enterprise Linux 7 - GRUB 2)
vypíše nastavení zaváděcího (bootovacího) programu pro spuštění OS, související skripty se nachází v /etc/grub.d
grub-install <zarizeni> instaluje grub na dané zařízení
# grub-install /dev/sda
mkinitrd <obraz_RAM_disku> <verze_jadra> vytvoří prvotní obraz RAM disku obsahující základní moduly potřebné k připojení souborového systému „/“ (teprve potom je možné zavést moduly obsažené v /lib/modules/<verze_jadra>), --with=<modul> přidá daný modul do obrazu RAM disku, -v podrobný výpis
# mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
(obnoví obraz RAM disku; nutné např. pokud byl SS ext2 změněn na ext3)
# mkinitrd --with=raid1 /boot/initrd-raid1-$(uname -r).img $(uname -r)
(nový obraz RAM disku s daným modulem je třeba doplnit do /boot/grub/grub.conf jako nový odstavec - tzn. zkopírovat předchozí část od řádku „title...“ po „initrd...“ a v posledním řádku upravit nový název obrazu; při startu systému je pak možné zvolit, aby naběhl s tímto obrazem)
lsmod vypíše aktuální moduly (ovladače) zavedené v jádru (údaje z /proc/modules)
modinfo <modul> vypíše informace o daném modulu, -d jen stručný popis
insmod <modul> přidá modul do jádra, pokud nevyžaduje další závislosti
rmmod <modul> odstraní modul z jádra, pokud nevyžaduje další závislosti, -v podrobný výpis
depmod (-a) / depmod <modul> vytvoří seznam závislostí všech / daných modulů v /lib/modules/<verze_jadra>/modules.dep
modprobe <modul> přidá modul do jádra včetně jeho závislostí, -r odstraní modul, -v podrobný výpis
# modprobe usbnet
runlevel / who -r vypíše předchozí a aktuální úroveň běhu systému / vypíše aktuální úroveň běhu systému a čas jejího spuštění
systemctl list-units --type target
(platí pro Red Hat Enterprise Linux 7)
vypíše aktuální úroveň běhu systému (aktivní „target units“)
init / telinit <runlevel> změní úroveň běhu systému, 0 vypnutí systému, 1 jednouživatelský režim bez sítě,
2 víceuživatelský režim bez sítě, 3 víceuživatelský režim s připojením k síti, 4 nevyužito, 5 úroveň 3 + GUI, 6 restart systému; konfiguračním souborem procesu init je /etc/inittab, dojde-li k úpravě souboru, jeho opětovné načtení vyvolá příkaz „init q“
# init 5
systemctl isolate <runlevel>.target
(platí pro Red Hat Enterprise Linux 7)
změní úroveň běhu systému (aktuální „target unit“), runlevel0.target / poweroff.target vypnutí systému, runlevel1.target / rescue.target jednouživatelský režim bez sítě, runlevel2.target / multi-user.target víceuživatelský režim s připojením k síti, runlevel3.target / multi-user.target víceuživatelský režim s připojením k síti, runlevel4.target / multi-user.target víceuživatelský režim s připojením k síti, runlevel5.target / graphical.target víceuživatelský režim s připojením k síti + GUI, runlevel6.target / reboot.target restart systému
# systemctl isolate multi-user.target
# systemctl isolate runlevel5.target
systemctl rescue
(platí pro Red Hat Enterprise Linux 7)
změní úroveň běhu systému na jednouživatelský režim bez sítě, připojí všechny lokální souborové systémy a spustí důležité systémové služby
systemctl emergency
(platí pro Red Hat Enterprise Linux 7)
změní úroveň běhu systému na jednouživatelský režim bez sítě, připojí pouze kořenový souborový systém ke čtení a spustí nejdůležitější systémové služby (používá se v případech, kdy nelze spustit rescue režim)
systemctl get-default
(platí pro Red Hat Enterprise Linux 7)
vypíše výchozí úroveň běhu systému (výchozí „target unit“)
systemctl set-default <runlevel>.target
(platí pro Red Hat Enterprise Linux 7)
změní výchozí úroveň běhu systému (výchozí „target unit“)
# systemctl set-default graphical.target
chkconfig <sluzba> <stav> nastaví dostupnost služby na všech runlevelech, --list / --list <sluzba> vypíše všechny služby / danou službu a jejich / její stav (off / on) na všech runlevelech, --add <sluzba> přidá novou službu, --del <sluzba> odstraní službu, --level <uroven> <sluzba> <stav> určí runlevel pro danou službu
# chkconfig sshd on / off
# chkconfig –level 12 qemu off / on
$ chkconfig --list | egrep -i "rexec|rlogin|rsh"
systemctl <stav> <sluzba>
(platí pro Red Hat Enterprise Linux 7)
podle daného stavu (enable, disable, status) povolí / zakáže / zjistí stav dané služby („service unit“)
# systemctl enable / disable / status httpd(.service)
# systemctl list-unit-files --type service
(vypíše všechny služby a jejich stav)
service <sluzba> <akce> podle dané akce (start, stop, restart, reload, status) spustí / zastaví / restartuje / znovu načte konfigurační soubor / zobrazí stav dané služby
# service crond start / stop / restart / reload / status
# /etc/init.d/crond start / stop / restart / reload / status
# service --status-all
(zobrazí stav všech služeb)
systemctl <akce> <sluzba>
(platí pro Red Hat Enterprise Linux 7)
podle dané akce (start, stop, restart, reload, status) spustí / zastaví / restartuje / znovu načte konfigurační soubor / zobrazí stav dané služby („service unit“)
# systemctl start / stop / restart / reload / status httpd(.service)
# systemctl list-units --type service --all
(zobrazí stav všech služeb)
reboot / init 6 ukončí všechny procesy, uloží nezapsaná data na disk a restartuje OS
systemctl reboot
(platí pro Red Hat Enterprise Linux 7)
ukončí všechny procesy, uloží nezapsaná data na disk a restartuje OS
halt / init 0 ukončí všechny procesy, uloží nezapsaná data na disk a zastaví procesor (pohotovostní režim)
systemctl halt
(platí pro Red Hat Enterprise Linux 7)
ukončí všechny procesy, uloží nezapsaná data na disk a zastaví procesor - pohotovostní režim
poweroff ukončí všechny procesy, uloží nezapsaná data na disk a vypne OS
systemctl poweroff
(platí pro Red Hat Enterprise Linux 7)
ukončí všechny procesy, uloží nezapsaná data na disk a vypne OS
shutdown ukončí všechny procesy, uloží nezapsaná data na disk a zastaví procesor, -h <cas> vypne OS, -r <cas> restartuje OS, -c zruší běžící či načasovaný shutdown, -k <cas> falešný shutdown, pošle pouze varování uživatelům a znemožní nová přihlášení do systému
# shutdown -h now / 22:00
(vypne ihned / v daný čas)
# shutdown -r +30 "quick reboot"
(restartuje za 30 min. + upozornění)
startx spustí systém X window
xterm spustí terminál v systému X window, -e <prikaz> určí příkaz, který se má v daném terminálu spustit
# xterm -e "tail -f /var/log/secure" &
tty vypíše jméno terminálu přihlášeného uživatele
set vypíše všechny aktuální proměnné (globální + lokální) a funkce
set -o vypíše aktuální nastavení voleb shellu
set {- / +}o <volba> změní nastavení voleb shellu, „-“ volbu nastaví, „+“ zruší
$ set -o vi
(nastaví shellu prostředí editoru „vi“)
printenv / printenv <promenna> vypíše všechny / dané globální proměnné
<promenna>=<hodnota> nastaví lokální proměnnou (zůstane definovaná v shellu až do jeho ukončení)
$ xy=den
$ now=$(date) / now=`date`
(hodnotou proměnné může být i výstup příkazu)
$ PATH="$PATH:~/skripty"
(přidá adresář „skripty” do proměnné „PATH”)
$ PS1="[\u@\h \W]\$ "
(nastaví prompt uživatele; proměnnou „PS1” lze definovat tímto způsobem: \u = uživatel, \h = jméno počítače, \W = pracovní adresář)
# for home in $(awk -F : '{print $6}' /etc/passwd); do ls -l ${home}/.ssh/id_[rd]sa 2> /dev/null | egrep -v "^-rw-------"; done
(vypíše soubory obsahující soukromé klíče všech uživatelů, jejichž přístupová práva se liší od hodnoty 600)
export
export <promenna(=hodnota)>
vypíše seznam všech exportovaných proměnných
exportuje lokální proměnnou tak, aby platila i pro vnořené shelly v rámci stejného sezení; lokální proměnná se trvale nastaví její definicí a exportem v ~/.bash_profile, globální proměnná v /etc/profile
$ export x / export x=y
echo $<promenna> vypíše hodnotu proměnné
$ echo $xy
den
$ echo $now
Wed 12 Mar 10:25:00 2008
$ echo $0
(vypíše jméno současného shellu nebo shellového skriptu)
$ echo $$
(vypíše PID současného shellu)
$ echo $?
(vypíše RC předchozího procesu spuštěného na popředí)
$ echo $!
(vypíše PID posledního procesu spuštěného na pozadí)
$ echo $SHELL
(vypíše přihlašovací shell přihlášeného uživatele)
$ echo $TERM
(vypíše typ terminálu; seznam terminálů je uveden v /usr/share/terminfo)
echo ${#<promenna>} vypíše délku proměnné (počet znaků)
echo <text> zobrazí uvedený text, -n potlačí výstup nového řádku za posledním argumentem (využití ve skriptech)
$ echo je novy ty$xy / echo "je novy ty$xy"
je novy tyden
$ echo "ty${xy}ni dovolena"
tydenni dovolena
(za proměnnou musí být mezera, jinak je třeba ji uzavřít do složených závorek)
$ echo -n 'Zadejte pozadovanou akci: '
unset <promenna> odstraní danou proměnnou, -f <funkce> definici funkce
$ unset x
bash / sh <soubor> spustí daný (i jen čitelný) soubor ve vnořeném shellu; soubor hledá v pracovním adresáři a v $PATH
source / . <soubor> spustí daný (i jen čitelný) soubor v aktuálním shellu; soubor hledá v $PATH nebo se určí uvedením cesty
$ . ~/.bash_profile
(obnoví profil uživatele bez nutnosti opětovného přihlášení)
<jmeno_souboru> / <cesta_k_souboru> spustí daný (spustitelný) soubor ve vnořeném shellu; soubor hledá v $PATH / v dané cestě
$ ./skript
script <soubor> zapíše vše, co se od spuštění programu zobrazí na STDOUT do daného souboru, -a přidá výstup na konec existujícího souboru, -c <prikaz> zapíše jen výstup daného příkazu, ctrl+d ukončí program
xargs (<prikaz>) čte a poté rozdělí větší množství argumentů ze STDIN na menší části tak, aby je bylo možné přiřadit následujícímu příkazu, jenž bude vykonán (příkazům totiž nelze přiřadit neomezený počet argumentů), -0 mezera, apostrof, uvozovky či obrácené lomítko ve jméně souboru nemají řídící význam (tuto volbu však musí podporovat i příkaz poskytující vstup pro „xargs“), -t příkaz se před provedením vypíše na STDERR
# find . -name core -print0 | xargs -0 -t rm
# find / -user tom | xargs -t rm -Rf
$ find . -type d | xargs chmod 750
$ find . -atime -1 -type f | xargs ls -lutr | tail -1
eval <argument> sloučí dané argumenty a spustí je jako příkaz shellu
$ user=david; eval cd ~$user
expr <vyraz> provede vyhodnocení matematických a jiných výrazů
$ expr 7 + 3
$ expr "(" 6 - 3 ")" "*" 10
$ expr length ABCD
seq <specifikace> vypíše posloupnost čísel (na každý řádek po jednom) definovaných horní a příp. i dolní mezí či inkrementem, -w zarovná řádek dosazením nuly před 1-ciferné číslo, -s <retezec> vloží mezi číslice místo nového řádku daný řetězec
$ seq 2 5
(definovaná dolní i horní mez)
$ seq 1 .2 3
(definovaná dolní i horní mez včetně inkrementu)
$ seq -w 15
(číslice 01 - 15)
$ seq -s ':' 10
(číslice 1 - 10 oddělené znakem „:“)
$ for i in $(seq 1 100); do expr $i "*" $i; done
(vypíše druhou mocninu čísel 1 až 100, každou na zvláštní řádek)
yes (<retezec>) opakovaně vypisuje daný řetězec (na každý řádek po jednom), není-li uveden, zobrazí „y“
time <prikaz> měří čas vykonání daného příkazu
$ time wget google.com
type <prikaz> vypíše, zda se jedná o program či vestavěný příkaz nebo klíčové slovo shellu, u programu zobrazí absolutní cestu k binárnímu souboru, -a vypíše všechny výskyty včetně aliasů a funkcí
alias
alias <vlastni_prikaz>=<prikaz>
vypíše všechny stávající aliasy
vytvoří alias pro daný příkaz (trvale v ~/.bashrc)
$ alias nopaste='curl -F file=@- nopaste.com/a'
unalias <vlastni_prikaz> zruší daný alias, -a odstraní všechny aliasy
history <n> vypíše historii posledních n příkazů, -c smaže historii
fc (<n> / <n m>) edituje poslední (konkrétní) příkaz(y) implicitním editorem, -e <editor> zvolí editor, -l vypíše očíslovaný seznam posledně zadaných (uvedených) příkazů, -r vypíše seznam v opačném pořadí, -s provede poslední (daný) příkaz z historie
$ fc -l -20 | grep cat
(vypíše 20 posledních příkazů obsahujících „cat“)
$ fc -l 210 250
(vypíše seznam příkazů v daném rozpětí)
$ fc -s / !!
(provede předchozí příkaz)
$ fc -s 560 / !560
(provede daný příkaz)
apropos / man -k <klicove_slovo> hledá příkazy obsahující daný řetězec či jeho část
whatis / man -f <klicove_slovo> hledá příkazy obsahující přesně zadaný řetězec
man / info <prikaz> vypíše nápovědu k danému příkazu
help
help <prikaz>
zobrazí všechny vestavěné příkazy a klíčová slova shellu
vypíše nápovědu k vestavěným příkazům a klíčovým slovům shellu
clear smaže obsah obrazovky terminálu
reset smaže obsah terminálu a nastaví výchozí hodnoty
exit ukončí práci v příkazovém řádku nebo odhlásí uživatele
logout odhlásí uživatele z přihlašovacího shellu
setenforce <rezim> nastaví režim SELinuxu, je-li povolen (0 = tolerantní (permissive) - bezpečnostní politika není aplikována, pouze se případné varovné zprávy zapisují do /var/log/messages, 1 = vynucující (enforcing) - bezpečnostní politika definující přístup k souborům je uplatněna; trvalé nastavení se provede v /etc/selinux/config)
getenforce vypíše aktuální režim SELinuxu ("enforcing", "permissive", či "disabled")
sestatus vypíše aktuální stav SELinuxu, jeho režim a použitou politiku, -v podrobný výpis na základě údajů v /etc/sestatus.conf
chcon <kontext> <soubor> změní bezpečnostní kontext souboru v rámci SELinuxu (bezpečnostní kontext se skládá z 5 částí oddělených dvojtečkou - uživatel:role:typ:citlivost:kategorie, přičemž poslední 2 nemusí být v systému definovány; při kopírování se kontext souboru změní podle nového, nadřazeného adresáře, při přesunu se původní kontext souboru zachová), -u <uzivatel> pro daného uživatele (používá se "root" pro roota, "user_u" pro ostatní uživatele a "system_u" pro procesy), -r <role> pro danou roli (definuje účel daného souboru, procesu nebo uživatele; používá se "object_r" pro soubory a "system_r" pro procesy a uživatele), -t <typ> pro daný typ (definuje, které typy procesů mají přístup ke konkrétním typům souborů; "unconfined_t" znamená, že nespadá pod politiku SELinuxu), --reference <zdrojovy_soubor> nastaví souboru bezpečnostní kontext podle zdrojového souboru, -R rekurzivně, -v podrobný výpis
# chcon --reference /etc/hosts.allow /etc/hosts.deny
restorecon <soubor> nastaví souboru původní bezpečnostní kontext v rámci SELinuxu, -R rekurzivně, -v podrobný výpis
# restorecon /root/*
Poslední úprava: 2017/03/12 17:28 autor: Miroslav Bernát

Nástroje pro stránku

počet návštěv: