GNU/Linux >> Znalost Linux >  >> Linux

Nejlepší linuxové příkazy pro systémové administrátory

Operační systémy Linux nabízejí nespočet příkazů a utilit sysadmin, které pomáhají uživatelům, vývojářům a inženýrům s úkoly správy systému. Například příkazy a balíčky sysadmin mohou uživatelům pomoci optimalizovat nebo spravovat aplikace a poskytovat cenné informace o řešení problémů správcům sítě nebo systémovým správcům.

Tyto příkazy se týkají vývojových prostředí Linuxu, virtuálních počítačů, kontejnerů a holých kovů.

Nejlepší linuxové příkazy pro sysadmin

Tento článek shrnuje některé základní příkazy sysadmin často používané pro správu systému Linux s několika praktickými příklady.

1. Curl

Curl je nástroj příkazového řádku pro přenos dat ze serveru nebo na něj. Podporuje protokoly jako FTP, FTPS, HTTP, HTTPS, IMAP, POP3, POP3S, RTMP, SMBS, SMTP, SMTPS, TELNET atd. Můžete jej použít k testování konektivity nebo koncového bodu k jiné službě, např. databázi.

Odstraňování problémů s chybou HTTP 500:

$ curl -I -s my_app:5000

Zahrňte volbu -I pro zobrazení informací v záhlaví a volbu -s pro ztišení těla odpovědi.

Zkontrolujte koncový bod databáze z vašeho localhost:

$ curl -I -s my_database:27017
HTTP/1.0 200 OK

200 znamená, že vaše připojení vypadá v pořádku.

$ curl my_database:27017
curl: (6) Couldn't resolve host 'database'

Chyba znamená, že vaše aplikace nemůže přeložit databázi buď proto, že adresa URL databáze není k dispozici, nebo hostitelský systém, kontejner nebo virtuální počítač nemá jmenný server pro překlad názvu hostitele.

2. ls

Ls uvádí soubory v adresáři nebo vám může pomoci prozkoumat jejich oprávnění. Můžete jej také použít v infrastruktuře kontejneru k určení adresáře a souborů obrázku kontejneru. Pokud svou aplikaci nemůžete spustit kvůli problému s oprávněními, zkontrolujte oprávnění pomocí ls -l a poté udělte příslušná oprávnění k souboru pomocí chmod. Můžete jej také zkombinovat s parametry jako ls -a pro výpis všech souborů nebo ls -R pro rekurzivní výpis souborů a adresářů.

[tuts@fosslinux dist]$ ls -l
-rwxr-xr-x. 1 tuts tuts 7292656 Jun 17 12:54 hello
[tuts@fosslinux hello]$ ls -R

3. chmod

Pomocí příkazu chmod nastavte oprávnění k binárnímu souboru aplikace nebo souboru. Nejprve použijte příkaz ls ke kontrole oprávnění k souboru a poté udělte příslušná oprávnění.

Zkontrolujte oprávnění souboru pomocí ls -l:

[tuts@fosslinux ~]$ ls -l
-rw-rw-r--. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

Chcete-li uživatelům umožnit spuštění, zadejte oprávnění k provádění souboru dingdong.py.

[tuts@fosslinux ~]$ chmod +x dingdong.py
[tuts@fosslinux ~] ls -l
-rwxrwxr-x. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

4. ocas

Tail zobrazuje poslední obsah souboru. Je užitečné, pokud chcete zkontrolovat protokoly nedávných požadavků. Například na svůj server přenesete nejnovější protokoly.

$ sudo tail -f /var/log/httpd/error_log

Volba -f vypisuje řádky protokolu tak, jak jsou zapisovány do souboru. Má skript na pozadí, který přistupuje ke koncovému bodu každých několik sekund, a protokol zaznamenává požadavek. Můžete také omezit určitý počet řádků souboru pomocí volby -n.

$ sudo tail -n 3 /var/log/httpd/error_log

5. grep

Pomocí grep můžete prohledávat soubory a hledat konkrétní vzory a zvýraznit příslušné řádky ve výstupu jiného příkazu Linuxu. Chcete-li například vyhledat řádek „CRITICAL“ v souboru /var/log/dnf.log:

[tuts@fosslinux ~]$ grep CRITICAL Error /var/log/dnf.log

Použijte * pro vyhledávání ve všech souborech v adresáři a parametr -r (rekurzivní) pro zahrnutí vyhledávání v podadresářích.

cd /var/log/
$ grep -r CRITICAL Error *

Výstup můžete také izolovat od příkazu grep propojením výsledku:

$ cat dnf.log | grep CRITICAL Error

6. ps

Příkaz ps se používá k prozkoumání ID procesů a zobrazení stavu běžících procesů. Tento příkaz můžete použít k určení všech spuštěných aplikací.

[tuts@fosslinux log]$ ps -ef

Můžete jej také kombinovat s příkazy pipe a grep

[tuts@fosslinux log]$ ps -ef | grep httpd

Pomocí parametru -u zobrazíte všechny procesy vlastněné uživatelským jménem:

[tuts@fosslinux log]$ ps -u username

Pomocí příznaku aux můžete zobrazit všechny procesy s podrobnými informacemi, jako je PID, procento času CPU, který proces používá (%CPU), procento RAM (%MEM), používaná virtuální paměť (VSZ), fyzická paměť (RSS), a tak dále.

7. nahoře

Horní příkaz zobrazí průběžně aktualizovaný seznam systémových procesů v pořadí podle aktivity procesu. Můžete jej použít k určení, které procesy běží a kolik paměti a CPU spotřebovávají.

Informace na displeji se skládají ze souhrnu systému a tabulky procesů seřazených podle aktivity CPU. Některé informace zahrnují dobu provozuschopnosti systému, průměrnou zátěž, vlastníka procesu (USER), procento času CPU, který proces používá (%CPU), procento RAM, které proces využívá (%MEM), celkový čas procesoru využívaný procesem (TIME[+ ]) a tak dále.

Můžete také zadat několik příkazů, když je spuštěn horní příkaz. Například stiskněte h nebo ? pro zobrazení příkazů, které můžete zadat, k pro ukončení procesu, z pro globální barvy nebo q pro ukončení top.

8. env

Příkaz env se používá k nastavení nebo zobrazení proměnných prostředí. Pomocí env zkontrolujte, zda vaší aplikaci ve spuštění nebrání špatné prostředí.

$ env
PYTHON_PIP_VERSION=20.2.2
HOME=/root
DB_NAME=my_database
PATH=/usr/local/bin:/usr/local/sbin
LANG=C.UTF-8
PYTHON_VERSION=3.9.5

9. netstat

netstat zobrazuje stav sítě vašeho systému nebo infrastruktury. Můžete jej použít k zobrazení síťových portů a příchozích připojení. Můžete jej zkombinovat s dalšími možnostmi, jako je protokol, port nebo proces, a předvést tak aktuální porty, které vaše systémové aplikace používají.

# netstat -tulpn

10. ip/ ifconfig

Příkaz ip nahrazuje ifconfig v některých distribucích Linuxu a může konfigurovat nebo zobrazovat síťová rozhraní a upravovat IP adresy, sousední objekty a trasy. Můžete jej také použít k ověření IP adresy hostitele nebo kontejneru.

Pro zobrazení informací o všech síťových rozhraních použijte „ip a“ (adresa):

[tuts@fosslinux]$ ip a

Pomocí příkazu ‘ip link set device_name’ přesuňte rozhraní nahoru nebo dolů:

[tuts@fosslinux]$ ip link set eth0 up #bring up
[tuts@fosslinux]$ ip link set eth0 down #bring down

11. df

Použijte příkaz df (zobrazit volné místo na disku) k ověření velikosti souborového systému a řešení problémů s místem na disku. Je to užitečné ve scénářích, kdy se zobrazí chybová zpráva signalizující nedostatek volného místa ve vašem systému na hostiteli kontejneru.

[tuts@fosslinux ~]$ df -h

Parametr -h zobrazuje informace ve formátu čitelném pro člověka (tj. MB a GB). Ve výchozím nastavení příkaz df zobrazuje výsledky pro každého uživatele v kořenovém adresáři. Můžete však omezit zobrazení na konkrétní adresář (tj. df -h/tmp)

Použijte parametr -x k ignorování jakéhokoli souborového systému:

[tuts@fosslinux ]$ df -h -x tmpfs

Pomocí parametru -t vypíšete pouze konkrétní typ souborového systému. Například souborový systém btrfs pouze pro zobrazení:

[tuts@fosslinux ]$ df -h -t btrfs

Pomocí příznaku –total zobrazíte celkové součty:

[tuts@fosslinux ]$ df -h -t btrfs --total

12. du

Pomocí příkazu du zobrazíte podrobné informace o tom, které soubory využívají místo na disku v adresáři. Považuji to za užitečné při určování, které protokoly zabírají nejvíce místa. Například spusťte příkaz du s parametrem -h (čitelný pro člověka) a -s (souhrn):

[tuts@fosslinux ~]$ sudo du -h /var/log
[tuts@fosslinux ~]$ sudo du -hs /var/log
1.5G /var/log

13. dig/ nslookup

dig je skvělý nástroj příkazového řádku pro provádění dotazů DNS. Používá se v následujícím formátu:

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

představuje název serveru DNS, je název domény a je název záznamu (A, MX, NS SOA), který chcete znát. K potlačení podrobného výstupu můžete také použít příznak +short.
Zobrazení záznamu A pro bing.com:

[tuts@fosslinux ~]$ dig bing.com +short
13.107.21.200
204.79.197.200

Zobrazení MX záznamu bing.com:

[tuts@fosslinux ~]$ dig bing.com MX +short
10 bing-com.mail.protection.outlook.com.

14. firewall-cmd

Firewall-cmd je uživatelsky přívětivý front-end pro nftables a dodávané s mnoha distribucemi. Umožňuje uživatelům nastavit pravidla pro řízení odchozího i příchozího síťového provozu do vašeho počítače. Tato pravidla lze seskupit do zón, které definují úrovně důvěryhodnosti síťového zabezpečení síťových rozhraní, služeb nebo připojení. Funguje s IPv4, IPv6, sadami IP a ethernetovými mosty a nabízí přímou a intuitivní syntaxi příkazů.

Zobrazení aktuální zóny brány firewall:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Přidejte příznak –list-all, abyste viděli, co jednotlivé zóny povolují:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone libvirt --list-all

Chcete-li přidat službu:

$ sudo firewall-cmd --add-service http --permanent
$ sudo firewall-cmd –reload

Pokud se zabezpečením sítě začínáte, můžete si přečíst naši komplexní příručku o správě zabezpečení sítě pomocí brány firewall, kde najdete další příklady a triky.

15. systemctl

systemd je k dispozici ve většině distribucí Linuxu, takže příkaz systemctl je dostupný pro správu služeb a jednotek systemd.

Spuštění služby:

[tuts@fosslinux ~]$ sudo systemctl start httpd

Zastavení služby:

[tuts@fosslinux ~]$ sudo systemctl stop httpd

Chcete-li zkontrolovat stav služby.

16. zabíjet a zabíjet

Příkazy kill a killall můžete použít k ukončení běžícího procesu nebo k uvolnění některých systémových prostředků. Procesu můžete poslat signál SIGTERM (-15) nebo SIGKILL (-9), abyste proces ukončili. SIGTERM (soft kill) umožňuje dokončit systémový proces před jeho ukončením. SIGKILL okamžitě ukončí proces.

Použijte kill s parametrem -l k zobrazení všech signálů, které můžete poslat procesu.

[tuts@fosslinux ~]$ kill -l

Chcete-li proces zabít, určete jeho ID procesu a poté zadejte příkaz kill.

[tuts@fosslinux ~]$ ps aux|grep httpd

Chcete-li zabít proces httpd s ID procesu 1525:

[tuts@fosslinux ~]$ sudo kill -9 1525

Použijte killall k ukončení programu podle jména. Zabije nadřazený proces a všechny podřízené procesy.

[tuts@fosslinux ~]$ sudo killall httpd

Poznámka:Příkazy kill a killall používejte opatrně, protože by mohly poškodit nebo nechat váš systém v nestabilním stavu.

17. historie

Příkaz historie zobrazuje historii všech příkazů, které jste použili v relaci. Můžete jej například použít k protokolování příkazů, které jste použili při odstraňování problémů s aplikací nebo systémem.

[tuts@fosslinux ~]$ history
790 sudo firewall-cmd --get-active-zones
791 sudo firewall-cmd --zone libvirt --list-all
792 history

Použijte ! s číslem příkazu pro jeho opětovné provedení, aniž byste jej museli znovu zadávat.

[tuts@fosslinux ~]$ !790
sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Koneckonců

Pochopení některých základních příkazů správce systému vám může pomoci při odstraňování problémů s aplikacemi, řešení problémů, udržování optimálního chodu systémů, zajišťování zabezpečení systému nebo vám dokonce může pomoci efektivně komunikovat se správci systému při řešení problémů ve vaší infrastruktuře.
Doufám, že se vám tyto příkazy budou hodit!


Linux
  1. Školení a certifikace pro správce systému Linux

  2. Top 10 tutoriálů pro správce Linuxu

  3. 3 Užitečné Linuxové příkazy pro systémové administrátory

  1. Příkazy FreeDOS pro fanoušky Linuxu

  2. 10 Linuxových příkazů pro diagnostiku sítě

  3. Nejlepší základní Linuxové příkazy pro začátečníky

  1. Top 20 Linuxových terminálových příkazů, které můžete vyzkoušet pro začátečníky

  2. 50 užitečných linuxových IP příkazů pro správce sítě

  3. Top 25 příkazů Vim pro Linux