20 Linuxové příkazy pro správce systému

Linux nabízí nespočet příkazů a pomůcek, které vám pomohou provádět úkoly správy systému rychle a efektivně.

Vaše práce jako správce systému zahrnuje instalaci a spouštění softwaru, řízení přístupu, monitorování, zajišťování dostupnosti, zálohování, obnovování záloh a samozřejmě hašení požárů. 😜

V tomto článku se podíváme na některé příkazy, které často používají správci systému Linux při své každodenní práci.

nejmenovat

Pro tisk systémových informací použijte příkaz uname s parametrem -a. Tento příkaz vám zobrazí název jádra, verzi jádra, verzi jádra, název hostitele, typ procesoru a informace o vaší hardwarové platformě.

[email protected]:~$ uname -a
Linux ubuntu18 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Co to znamená:

kernel name:Linux 
hostname: ubuntu18 
kernel release: 5.3.0-1028-azure 
kernel version: #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 
machine hardware name: x86_64 
processor: x86_64 
hardware-platform: x86_64 
operating system: GNU/Linux

df

Použijte příkaz df k ověření velikosti souborového systému a dostupného prostoru. Tento příkaz sám o sobě zobrazuje výstup v 1K blocích.

[email protected]:~$ df 
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              437208       0    437208   0% /dev
tmpfs              91100     692     90408   1% /run
/dev/sda1       30309264 2383952  27908928   8% /
....

Volba -h zobrazuje výstup ve formátu čitelném pro člověka, to znamená v MB a GB.

[email protected]:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            427M     0  427M   0% /dev
tmpfs            89M  692K   89M   1% /run
/dev/sda1        29G  2.3G   27G   8% /
tmpfs           445M     0  445M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           445M     0  445M   0% /sys/fs/cgroup
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            89M     0   89M   0% /run/user/1001 

Chcete-li ignorovat jakýkoli souborový systém, například tmpfs, což je pro čistší výstup, použijte parametr -x

[email protected]:~$ df -h -x tmpfs
Filesystem      Size  Used Avail Use% Mounted on
udev            427M     0  427M   0% /dev
/dev/sda1        29G  2.3G   27G   8% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt

Chcete-li vypsat pouze určitý typ souborového systému, použijte parametr -t. například pro zobrazení pouze souborového systému ext4:

[email protected]:~$ df -h -t ext4
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.3G   27G   8% /
/dev/sdb1       3.9G   16M  3.7G   1% /mnt

Použitím příznaku celkem přidáte řádek zobrazující celkové součty:

[email protected]:~$ df -h -t ext4 --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.3G   27G   8% /
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
<b>total            33G  2.3G   31G   8% -</b>

du

Chcete-li zkontrolovat využití místa na disku v adresáři, použijte příkaz du. Chcete-li například vidět využití místa na disku v adresáři /var/log. Pro formát čitelný člověkem použijte příznak -h.

[email protected]:~$ sudo du -h /var/log
24K	/var/log/Microsoft/Azure/NetworkWatcherAgent/Logs
28K	/var/log/Microsoft/Azure/NetworkWatcherAgent
32K	/var/log/Microsoft/Azure
36K	/var/log/Microsoft
60K	/var/log/apt
4.0K	/var/log/samba
177M	/var/log/journal/0f4f926f583b4691af7de11025b19ff6
177M	/var/log/journal
...
204M	/var/log

Chcete-li zobrazit pouze celkové využití, použijte příznak -s (souhrn).

[email protected]:~$ sudo du -hs /var/log
204M	/var/log

volný, uvolnit

Použijte příkaz free k zobrazení celkové, použité a volné systémové paměti. Pro formát čitelný člověkem použijte příznak -h.

[email protected]:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           889M        272M        100M        712K        517M        443M
Swap:            0B          0B          0B
total - Total installed memory (memtotal + swaptotal)
used - used memory
free - unused memory (memfree + swapfree)
buffers - memory used by kernel buffers
cache - memory used by page caches
buff/cache - sum of buffers and cache
available - Estimated memory available for starting new applications, without swapping

ps

Použijte ps k zobrazení stavových informací o procesech běžících v systému. Chcete-li zobrazit všechny procesy vlastněné uživatelem ubuntu, použijte příznak -u s uživatelským jménem:

[email protected]:~$ ps -u ubuntu
   PID TTY          TIME CMD
  7804 ?        00:00:00 systemd
  7805 ?        00:00:00 (sd-pam)
  7940 ?        00:00:00 sshd
  7941 pts/0    00:00:00 bash
  8111 ?        00:00:00 sshd
  8112 pts/1    00:00:00 bash
 13868 ?        00:00:00 sshd
 13869 pts/2    00:00:00 bash
 13885 pts/0    00:00:00 man
 13895 pts/0    00:00:00 pager
 18111 pts/2    00:00:00 man
 18121 pts/2    00:00:00 pager
 18485 pts/1    00:00:00 ps

Chcete-li zobrazit všechny procesy, spusťte ps s příznakem aux:

[email protected]:~$ ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.7 160076  7020 ?        Ss   Jun29   0:34 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Jun29   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        I<   Jun29   0:00 [rcu_gp]
root          4  0.0  0.0      0     0 ?        I<   Jun29   0:00 [rcu_par_gp]
root          6  0.0  0.0      0     0 ?        I<   Jun29   0:00 [kworker/0:0H-kb]
....

kde

Nadpis
Význam
PID
Identifikační číslo procesu
%PROCESOR
Procento času procesoru, který proces využívá
%MEM
Procento využití paměti RAM
VSZ
Využití virtuální paměti v KB
RSS
Fyzická paměť, kterou proces používá, v KB
TTY
Terminál spojený s procesem
STAT
R – Spuštěné nebo připravené ke spuštění, S – Spící, I – Nečinnost, T – Zastaveno, Z – Zombie, D – Čekání na diskový I/O, X – Mrtvý, W – Vyměněno, N – Proces s nízkou prioritou, < – Proces s vysokou prioritou

horní

Zatímco příkaz ps zobrazuje v každém okamžiku snímek stavu procesů, top zobrazuje průběžně aktualizovaný (ve výchozím nastavení každé tři sekundy) seznam systémových procesů v pořadí podle aktivity procesu.

Horní výstup příkazu se skládá ze dvou hlavních částí: Souhrn systému nahoře a tabulka procesů seřazených podle aktivity CPU.

top - 14:25:32 up 44 days, 11:37,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 114 total,   1 running,  59 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   910992 total,   101208 free,   274712 used,   535072 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   458492 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND    
 50497 ubuntu    20   0   44528   3944   3368 R  0.7  0.4   0:00.15 top        
     1 root      20   0  160076   7020   4400 S  0.0  0.8   0:34.85 systemd    
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.08 kthreadd   
     3 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 rcu_gp     
     4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 rcu_par_gp 
     6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:+
     9 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_+

Některá pole v souhrnu systému jsou následující:

nahoru
Doba provozuschopnosti. Čas od posledního spuštění počítače.
zatížení průměr
Průměrná zátěž se týká počtu procesů, které čekají na spuštění, hodnota menší než 1,0 znamená, že stroj není zaneprázdněn. Jsou 3 hodnoty. První je průměr za posledních 60 sekund, druhý je průměr za posledních 5 minut a třetí ukazuje průměr za posledních 15 minut.
%Cpu(y)

Tento řádek popisuje činnosti CPU.
0,3 nás, uživatel
0,3 % CPU se používá pro uživatelské procesy.
0,0 sy, systém
Pro systémové procesy se používá 0,0 % CPU.
0,0 ni, pěkné
0,0 % CPU je využíváno procesy s nízkou prioritou (pěkné).
99,7 id, nečinný
99,7 % CPU je nečinných
0,0 wa, IO-čekejte
0,0 % CPU čeká na I/O
0,0 ahoj
čas strávený hardwarovými přerušeními
0,0 si
čas strávený softwarovými přerušeními
0,0 st
časový kámen z tohoto virtuálního počítače hypervizorem

Pole tabulky procesů jsou následující:

PID
Identifikační číslo procesu
UŽIVATEL
Vlastník procesu
PR
Přednost
NI
Pěkná hodnota
VIRT
Virtuální paměť použitá procesem (KB)
RES
Fyzická paměť používaná procesem
SHR
Sdílená paměť používaná procesem
S
Stav procesu. R – běžící, S – spící, I – nečinný, T – zastavený, Z – zombie, D – čekání na vstup/výstup disku, W- vyměněno, X – mrtvý
%PROCESOR
Proces CPU čas využívá v procentech
%MEM
Proces fyzické paměti se používá
ČAS[+]
Celkový čas CPU použitý procesem
PŘÍKAZ
Název programu

Zatímco top běží, můžete zadávat řadu příkazů. Stiskněte h nebo ? zobrazit příkazy, které lze spustit, když je spuštěn top. Stisknutím k ukončíte proces. Stisknutím q opustíte horní část.

kopat

dig je skvělý nástroj pro DNS dotazy. Používá se následovně:

dig <DNS server> <domain> <query-type>

kde

  • je název serveru DNS, na který se chcete dotazovat
  • je název domény, na který se chcete dotazovat
  • je název záznamu, který chcete znát – A, MX, NS SOA atd.

Chcete-li potlačit podrobný výstup, použijte příznak +krátký.

Chcete-li zobrazit záznam pro google.com, použijte:

[email protected]:~$ dig google.com +short
172.217.164.174

Chcete-li zobrazit záznamy MX pro google.com, použijte:

[email protected]:~$ dig google.com MX  +short
50 alt4.aspmx.l.google.com.
10 aspmx.l.google.com.
20 alt1.aspmx.l.google.com.
40 alt3.aspmx.l.google.com.
30 alt2.aspmx.l.google.com.

Pokud se potřebujete dotazovat na záznamy DNS na internetu, můžete použít nástroj pro vyhledávání DNS.

kdo a w

který zobrazuje přihlášené uživatele.

[email protected]:~$ who
ubuntu   pts/0        2020-08-14 17:28 (183.83.211.129)
ubuntu   pts/1        2020-08-14 17:58 (183.83.211.129)

w zobrazuje aktuálně přihlášené uživatele a jejich procesy. V záhlaví je uveden aktuální čas, doba provozu systému, počet přihlášených uživatelů a průměrné zatížení systému.

[email protected]:~$ w
 18:07:33 up 46 days, 15:19,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
ubuntu   pts/0    183.83.211.129   17:28    2.00s  0.10s  0.00s w
ubuntu   pts/1    183.83.211.129   17:58    9:07   0.05s  0.01s vi

V další části jsou uvedena uživatelská jména, terminál a vzdálená IP adresa, ze které jsou přihlášeni, doba přihlášení, doba nečinnosti, JCPU, PCPU a program, na kterém jsou spuštěny. JCPU je čas používaný všemi procesy připojenými k tty, zatímco PCPU je čas používaný aktuálním procesem.

dehet

S GNU tar můžete archivovat více souborů do jednoho souboru.

Jako příklad vytvořte adresář myfiles a tři soubory a.txt, b.txt, c.txt v adresáři myfiles:

[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}

Nyní vytvořte archiv s názvem allfiles.tar obsahující všechny soubory v adresáři myfiles:

[email protected]:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Seznam všech souborů v aktuálním adresáři. Můžete vidět adresář myfiles a archiv allfiles.tar:

[email protected]:~$ ls
allfiles.tar  myfiles

Archiv můžete rozbalit s příznakem -x. Takže rozbalení allfiles.tar:

[email protected]:~$ tar -xvf allfiles.tar
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Tento archiv můžete také komprimovat pomocí parametru -z. To by vytvořilo archiv komprimovaný pomocí gzip.

[email protected]:~$ tar -zcvf allfiles.tar.gz myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
[email protected]:~$ ls
allfiles.tar.gz  myfiles

Chcete-li rozbalit komprimovaný archiv, použijte -z s parametrem -x.

[email protected]:~$ tar -zxvf allfiles.tar.gz 
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

grep

grep se používá k hledání vzoru v souboru nebo sadě souborů. Vytiskne všechny řádky odpovídající tomuto vzoru. Chcete-li například vyhledat řádek obsahující „ServerRoot“ v /etc/apache2/apache2.conf:

[email protected]:~$ grep ServerRoot /etc/apache2/apache2.conf 
# ServerRoot: The top of the directory tree under which the server's
#ServerRoot "/etc/apache2"

Chcete-li hledat ve všech souborech v adresáři, použijte *. Chcete-li zahrnout vyhledávání do podadresářů, použijte příznak -r (rekurzivní). Chcete-li tedy vyhledat všechny řádky obsahující vzor „VirtualHost“ ve všech souborech v /etc/apache2:

[email protected]:~$ cd /etc/apache2
[email protected]:/etc/apache2$ grep -r VirtualHost *
apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost>
apache2.conf:# logged here.  If you *do* define an error logfile for a <VirtualHost>
conf-available/localized-error-pages.conf:# even on a per-VirtualHost basis.  If you include the Alias in the global server
conf-available/other-vhosts-access-log.conf:# Define an access log for VirtualHosts that don't define their own logfile
ports.conf:# have to change the VirtualHost statement in
sites-available/000-default.conf:<VirtualHost *:80>
...

rsync

rsync je rychlý nástroj příkazového řádku pro synchronizaci souborů a adresářů mezi dvěma umístěními. Může být použit pro místní i vzdálené kopírování a je rychlý, protože odesílá pouze rozdíly mezi zdrojovými soubory a existujícími soubory v cíli.

Je široce používán pro zálohování a jako vylepšený příkaz pro kopírování pro každodenní použití.

Zde je příklad:

Chcete-li zkopírovat/rsyncovat všechny soubory z adresáře myfiles do adresáře záloh:

[email protected]:~$ rsync -avh myfiles/ /backups
sending incremental file list
./
a.txt
b.txt
c.txt

sent 218 bytes  received 76 bytes  588.00 bytes/sec
total size is 0  speedup is 0.00

Chcete-li rsyncovat všechny soubory z adresáře myfiles do adresáře záloh na vzdáleném hostiteli, zahrňte do názvu cíle remote_user @remote_host. Chcete-li tedy rsyncovat složku myfiles na vzdálený hostitel s IP 10.0.0.50:

[email protected]:~$ rsync -avh myfiles/ [email protected]:/home/vagrant
[email protected]'s password: 
sending incremental file list
./
a.txt
b.txt
c.txt

sent 230 bytes  received 76 bytes  47.08 bytes/sec
total size is 0  speedup is 0.00

ss

Příkaz ss se používá k výpisu statistik soketů, podobně jako starší nástroj netstat. Chcete-li zobrazit sokety TCP, použijte parametr -t.

[email protected]:~$ ss -t 
State       Recv-Q        Send-Q                 Local Address:Port                     Peer Address:Port         
ESTAB       0             0                           10.0.0.4:53852                   168.63.129.16:8037         
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB       0             0                           10.0.0.4:33256                 169.254.169.254:http         
ESTAB       0             1080                        10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:63049

Tím se nezobrazí sokety, které naslouchají. Chcete-li zahrnout naslouchající i nenaslouchající sokety, použijte příznaky -t a -a.

[email protected]:~$ ss -t -a 
State        Recv-Q        Send-Q                Local Address:Port                     Peer Address:Port         
LISTEN       0             128                         0.0.0.0:ssh                           0.0.0.0:*            
LISTEN       0             80                        127.0.0.1:mysql                         0.0.0.0:*            
LISTEN       0             128                   127.0.0.53%lo:domain                        0.0.0.0:*            
ESTAB        0             0                          10.0.0.4:53852                   168.63.129.16:8037         
ESTAB        0             0                          10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB        0             0                          10.0.0.4:33256                 169.254.169.254:http         
ESTAB        0             1080                       10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB        0             120                        10.0.0.4:ssh                    183.83.211.129:63049        
LISTEN       0             128                            [::]:ssh                              [::]:*            
LISTEN       0             128                               *:http                                *:*

lokalizovat

Příkaz locate používá k vyhledávání souborů databázi a ve skutečnosti může být mnohem rychlejší než příkaz find. Velmi jednoduché použití, hledání souboru, řekněme, apache2.conf:

[email protected]:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Parametr -c můžete použít, pokud chcete pouze počet souborů odpovídajících vyhledávacímu vzoru.

[email protected]:~$ locate -c apache2.conf
2

Někdy může být nutné obnovit databázi používanou locate, což je mlocate. Pro aktualizaci databáze použijte příkaz updatedb. To by vyžadovalo oprávnění superuživatele.

[email protected]:~$ sudo updatedb

nalézt

Jeden z nejčastěji používaných příkazů v Linuxu. Použijte jej k hledání souborů na základě názvů souborů, oprávnění, ID uživatele, groupid, velikosti, typu souboru a dalších kritérií.

Chcete-li vyhledat soubor podle názvu v aktuálním adresáři, použijte příznak -name následovaný názvem souboru.

[email protected]:~$ find . -name a.txt
./myfiles/a.txt

Chcete-li vyhledat adresáře, použijte příznak -type d:

[email protected]:~$ find . -type d
.
./.ssh
./myfiles
./.cache
./.gnupg
./.gnupg/private-keys-v1.d
./docker

Chcete-li vyhledávat soubory podle velikosti, řekněme soubory větší než 20 MB, použijte příznak -size:

[email protected]:~$ find . -size +20M
./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb

systemctl

Nyní, když systemd nahradil proces SysV init ve většině distribucí Linuxu, použijte ke správě služeb a jednotek systemd příkaz systemctl.

Chcete-li spustit službu, například apache2:

[email protected]:~$ sudo systemctl start apache2.service

Příponu služby můžete ponechat.

Zastavení služby:

[email protected]:~$ sudo systemctl stop apache2

Chcete-li zobrazit stav služby, použijte příkaz systemctl status. Následující příklad ukazuje stav apache2, když je spuštěn:

[email protected]:~$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Wed 2020-08-19 11:34:04 UTC; 2s ago
  Process: 25346 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 18202 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
  Process: 25536 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 25555 (apache2)
    Tasks: 55 (limit: 1024)
   CGroup: /system.slice/apache2.service
           ├─25555 /usr/sbin/apache2 -k start
           ├─25558 /usr/sbin/apache2 -k start
           └─25559 /usr/sbin/apache2 -k start

Aug 19 11:34:04 ubuntu18 systemd[1]: Starting The Apache HTTP Server...
Aug 19 11:34:04 ubuntu18 systemd[1]: Started The Apache HTTP Server.

příkaz ufw

UFW – nekomplikovaný firewall je snadno použitelný frontend pro iptables. Je k dispozici ve výchozím nastavení v distribucích založených na Ubuntu. Na CentOS můžete nainstalovat ufw z úložiště EPEL.

Chcete-li povolit ufw:

$ sudo ufw enable

Zkontrolujte stav brány firewall pomocí stavu ufw:

$ sudo ufw status
Status: active

Výchozí zásady UFW povolují veškerý odchozí provoz a blokují veškerý příchozí provoz.

Následující příkaz povolí příchozí provoz na portu HTTP:

$ sudo ufw allow http
Rule added
Rule added (v6)

Můžete zakázat provoz na jakémkoli portu. Zde je příklad blokování provozu na portu 21:

$ sudo ufw deny 21
Rule added
Rule added (v6)

journalctl

Použijte journalctl k zobrazení protokolů shromážděných systemd. systemd shromažďuje log v centrálním umístění v binárním formátu. Chcete-li zobrazit tyto protokoly:

[email protected]:~$ sudo journalctl
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:07:59 UTC. --
Jun 29 02:48:31 ubuntu kernel: Linux version 5.3.0-1028-azure ([email protected]) (gcc version 7.5.0 (Ubuntu
Jun 29 02:48:31 ubuntu kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-1028-azure root=UUID=b0dd9d06-536e-41
Jun 29 02:48:31 ubuntu kernel: KERNEL supported cpus:
Jun 29 02:48:31 ubuntu kernel:   Intel GenuineIntel
...

Většinou byste preferovali vidět protokoly v opačném pořadí, tedy nejnovější protokoly jako první:

[email protected]:~$ sudo journalctl -r
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:10:16 UTC. --
Aug 19 15:10:16 ubuntu18 sudo[31263]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
Aug 19 15:10:16 ubuntu18 sudo[31263]:   ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc
Aug 19 15:10:11 ubuntu18 sudo[31213]: pam_unix(sudo:session): session closed for user root
Aug 19 15:07:59 ubuntu18 sudo[31213]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
Aug 19 15:07:59 ubuntu18 sudo[31213]:   ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc
Aug 19 15:07:56 ubuntu18 sudo[31183]: pam_unix(sudo:session): session closed for user root
Aug 19 15:06:47 ubuntu18 sudo[31183]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
...

Chcete-li zobrazit protokoly konkrétní služby, například mysql, použijte příznak -u:

[email protected]:~$ sudo journalctl -u mysql
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. --
Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server...
Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server.
Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server...
Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.

zabíjet a zabíjet

Možná budete muset zabít běžící proces nebo když potřebujete uvolnit některé systémové prostředky. kill with -l flag zobrazuje všechny signály, které můžete poslat procesu.

[email protected]:~$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
....

Dva nejčastěji používané signály jsou SIGTERM a SIGKILL. Můžete také použít -9 pro SIGKILL a -15 pro SIGTERM. SIGTERM umožňuje dokončení procesu před jeho ukončením, a proto se nazývá soft kill. SIGKILL okamžitě ukončí proces. Zde je příklad:

Seznam všech procesů apache2

[email protected]:~$ ps aux|grep apache2
root      45521  0.0  0.5  78188  4688 ?        Ss   Aug08   0:03 /usr/sbin/apache2 -k start
www-data  45524  0.0  0.5 830480  4816 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
www-data  45525  0.0  0.7 830480  6856 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
ubuntu    70374  0.0  0.1  14852  1040 pts/0    S+   07:45   0:00 grep --color=auto apache2

Chcete-li zabít proces apache2 s ID procesu 45525:

[email protected]:~$ sudo kill -9 45525

Znovu si prohlédněte seznam procesů apache2:

[email protected]:~$ ps aux|grep apache2
root      45521  0.0  0.5  78188  4688 ?        Ss   Aug08   0:03 /usr/sbin/apache2 -k start
www-data  45524  0.0  0.5 830480  4816 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
ubuntu    70525  0.0  0.1  14852  1052 pts/0    S+   07:52   0:00 grep --color=auto apache2

Použijte killall k ukončení programu podle jména. Což znamená, že killall zabije řídicí (rodičovský) proces a všechny podřízené procesy. Chcete-li zabít všechny instance procesu apache2 ve výše uvedeném příkladu:

[email protected]:~$ sudo killall apache2

Používejte kill a killall opatrně. Tyto příkazy mohou ponechat systém v nestabilním stavu.

IP

Příkaz ip nahrazuje ifconfig v novějších distribucích Linuxu. Použijte jej ke konfiguraci a zobrazení síťových rozhraní. Používá se také k zobrazení a úpravě IP adres, tras a sousedních objektů.

Zobrazit informace o všech síťových rozhraních:

[email protected]:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe9b:88d6/64 scope link 
       valid_lft forever preferred_lft forever

Pro zvýšení nebo snížení rozhraní použijte ip link set dev následovaný názvem zařízení. Chcete-li například uvést rozhraní eth0 online:

[email protected]:~$ ip link set eth0 up

A abych to shodil:

[email protected]:~$ ip link set eth0 down

datum

Velmi často používaný příkaz, zde prozkoumáme několik zajímavých způsobů použití tohoto příkazu.

[email protected]:~$ date
Tue Aug 11 07:42:49 UTC 2020

Chcete-li zobrazit datum příští neděle:

[email protected]:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020

Chcete-li zobrazit datum minulé neděle:

[email protected]:~$ date -d 'last sunday'
Sun Aug  9 00:00:00 UTC 2020

Místo parametru -d můžete také použít –date:

[email protected]:~$ date --date="last sunday"
Sun Aug  9 00:00:00 UTC 2020

Chcete-li zobrazit datum před 6 dny:

[email protected]ntu18:~$ date --date="6 days ago"
Wed Aug  5 08:06:37 UTC 2020

Datum za 6 dní:

[email protected]:~$ date --date="6 days"
Mon Aug 17 08:08:37 UTC 2020

Můžete snadno ovládat výstupní formát data. Zde je příklad:

[email protected]:~$ date '+%d-%B-%Y'
11-August-2020

souhrn

Vy jako správce systému udržujete světovou výpočetní infrastrukturu v chodu. Potřebujete řešit problémy, udržovat a udržovat systémy v optimálním provozu a zároveň zajistit bezpečnost.

Doufám, že se vám tyto příkazy budou hodit a pomohou vám dělat vaši práci lépe.

Zde jsou někteří FTP/SFTP klienti a nejlepší cheaty pro Vim pro vývojáře a Sysadmin.