GNU/Linux >> Znalost Linux >  >> Linux

5 moderních alternativ k základním nástrojům příkazového řádku Linuxu

Při každodenním používání systémů Linux/Unix používáme k dokončení naší práce ak pochopení a správě našich systémů mnoho nástrojů příkazového řádku – nástroje jako du ke sledování využití disku a top pro zobrazení systémových prostředků. Některé z těchto nástrojů existují již dlouhou dobu. Například top byl poprvé vydán v roce 1984, zatímco du první vydání se datuje do roku 1971.

V průběhu let byly tyto nástroje modernizovány a přeneseny do různých systémů, ale obecně se stále drží své původní myšlenky, vzhledu a chování.

Jsou to skvělé nástroje a nezbytné pro pracovní postupy mnoha systémových administrátorů. V posledních letech však komunita open source vyvinula alternativní nástroje, které nabízejí další výhody. Některé jsou jen pastvou pro oči, ale jiné výrazně zlepšují použitelnost, díky čemuž jsou skvělou volbou pro použití v moderních systémech. Patří mezi ně následujících pět alternativ ke standardním nástrojům příkazového řádku systému Linux.

1. ncdu jako náhrada za du

The NCurses Disk Usage (ncdu ) poskytuje podobné výsledky jako du ale v interaktivním rozhraní založeném na curses, které se zaměřuje na adresáře, které zabírají většinu místa na disku.

ncdu stráví nějaký čas analýzou disku a poté zobrazí výsledky seřazené podle nejpoužívanějších adresářů nebo souborů, například takto:

ncdu 1.14.2 ~ Pro navigaci použijte klávesy se šipkami, stiskněte ? o pomoc
--- /home/rgerardi ------------------------------------- -----------------------
   96,7 GiB [##########] /libvirt
   33,9 GiB [ ###       ] /.crc
    7,0 GiB [          ] /Projekty
. 4,7 GiB [          ] /Stahování
. 3,9 GiB [          ] /.local
    2,5 GiB [          ] /.minishift
    2,4 GiB [          ] /.vagrant.d
. 1,9 GiB [          ] /.config
. 1,8 GiB [          ] /.mezipaměť
    1,7 GiB [          ] /Videa
    1,1 GiB [          ] /go
  692,6 MiB /   692,6 MiB /     br   591,5 MiB [          ] /tmp
  139,2 MiB [          ] /.var
  104,4 MiB [          ] /.oh-my-zsh
 ] 5   8   B ] 5                  /.mozilla
   54,6 MiB [          ] /.kube
   41,8 MiB [          ] /.vim
   31,5 MiB [          ] /.ansible /<3 Mi B] .  
26.5 MIB [] /.VIM_UNDO_FILES
15.3 MIB [] / Osobní
2.6 MIB [] .Ansible_module_generated
1.4 MIB [] / Pozadí
944.0 kib [] / obrázky   644,0 kiB [          ]  .zsh_history
  536,0 kiB [          ] /.ansible_async
 Celkové využití disku:159,4 GiB  Zdánlivá velikost:280,8 s 40 0:65 GiB

Ke každé položce přejděte pomocí kláves se šipkami. Pokud stisknete Enter na položce adresáře ncdu zobrazí obsah tohoto adresáře:

--- /home/rgerardi/libvirt -------------------------------------- --------------
                         /..
   91,3 GiB [##########] /images
    5,3 GiB [   ] /     média

Můžete to použít k procházení adresářů a zjištění, které soubory zabírají nejvíce místa na disku. Pomocí vlevo se vrátíte do předchozího adresáře klávesa šipky. Ve výchozím nastavení můžete mazat soubory pomocí ncdu stisknutím d a před odstraněním souboru požádá o potvrzení. Pokud chcete toto chování zakázat, abyste předešli nehodám, použijte -r volba pro přístup pouze pro čtení:ncdu -r .

ncdu je k dispozici pro mnoho platforem a distribucí Linuxu. Můžete například použít dnf k instalaci na Fedoru přímo z oficiálních repozitářů:

$ sudo dnf install ncdu 

Více informací o tomto nástroji naleznete na ncdu webová stránka.

2. htop jako náhrada za top

htop je interaktivní prohlížeč procesů podobný top ale to poskytuje hezčí uživatelský zážitek hned po vybalení. Ve výchozím nastavení htop zobrazuje stejné metriky jako top v příjemném a barevném zobrazení.

Ve výchozím nastavení htop vypadá takto:

Na rozdíl od výchozího top :

Kromě toho htop poskytuje informace o přehledu systému v horní části a panel příkazů v dolní části pro spouštění příkazů pomocí funkčních kláves a můžete jej přizpůsobit stisknutím F2 pro vstup na obrazovku nastavení. V nastavení můžete změnit jeho barvy, přidat nebo odebrat metriky nebo změnit možnosti zobrazení pro panel přehledu.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

I když můžete nakonfigurovat nejnovější verze top k dosažení podobných výsledků htop poskytuje rozumnější výchozí konfigurace, což z něj dělá pěkný a snadno použitelný prohlížeč procesů.

Chcete-li se o tomto projektu dozvědět více, podívejte se na htop domovská stránka.

3. tldr jako náhrada za man

tldr nástroj příkazového řádku zobrazuje zjednodušené informace o použití příkazů, většinou včetně příkladů. Funguje jako klient pro komunitní projekt tldr pages.

Tento nástroj nenahrazuje man . Manuálové stránky jsou stále kanonickým a úplným zdrojem informací pro mnoho nástrojů. V některých případech však man je příliš mnoho. Někdy nepotřebujete všechny tyto informace o příkazu; jen se snažíte zapamatovat si základní možnosti. Například manuálová stránka pro curl příkaz má téměř 3000 řádků. Naproti tomu tldr pro curl má 40 řádků a vypadá takto:

$ tldr curl

# curl
  Přenáší data ze serveru nebo na server.
  Podporuje většinu protokolů, včetně HTTP, FTP a POP3.
  Další informace :.

- Stáhnout obsah adresy URL do souboru:

  curl http://example.com -o název_souboru

- Stáhne soubor a uloží výstup pod názvem souboru uvedeným v adrese URL:

  curl -O http://example.com/název_souboru

- Stažení souboru, následující [L]přesměrování umístění a automatické [C]pokračování (obnovení) předchozího přenosu souboru:

  curl -O -L -C - http://příklad .com/filename

- Odeslat data zakódovaná ve formuláři (požadavek POST typu `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                                                                                                                                                                        požadavek:
>







>>
>
>>>
>>>
>>>>
>>>>
> typ obsahu JSON:" /json' http://example.com/users/1234

... ZKRÁCENÝ VÝSTUP

TLDR znamená „příliš dlouho; nečetl jsem“, což je internetový slang pro souhrn dlouhého textu. Název je pro tento nástroj vhodný, protože manuálové stránky, i když jsou užitečné, jsou někdy příliš dlouhé.

Ve Fedoře tldr klient byl napsán v Pythonu. Můžete jej nainstalovat pomocí dnf . Další možnosti klienta najdete v projektu tldr pages.

Obecně tldr nástroj vyžaduje přístup k internetu, aby bylo možné prohlížet stránky tldr. Klient Python ve Fedoře vám umožňuje stáhnout a uložit tyto stránky do mezipaměti pro offline přístup.

Další informace o tldr , můžete použít tldr tldr .

4. jq jako náhrada za sed/grep pro JSON

jq je procesor JSON příkazového řádku. Je to jako sed nebo grep ale speciálně navržený pro práci s daty JSON. Pokud jste vývojář nebo správce systému a používáte JSON ve svých každodenních úkolech, je to základní nástroj ve vaší sadě nástrojů.

Hlavní výhoda jq přes obecné nástroje pro zpracování textu, jako je grep a sed spočívá v tom, že rozumí datové struktuře JSON, což vám umožňuje vytvářet složité dotazy pomocí jediného výrazu.

Pro ilustraci si představte, že se pokoušíte najít názvy kontejnerů v tomto souboru JSON:

{
  "apiVersion":"v1",
  "kind":"Pod",
  "metadata":{
    "labels":{
"app":"myapp"
    },
    "name":"myapp",
    "namespace":"project1"
  },
  "spec":{
    "kontejnery":[
      {
        "příkaz":[
          "spánku",
          "3000"
  "       ],          ],          image":"busybox",
        "imagePullPolicy":"IfNotPresent",
        "name":"busybox"
      },
      {
        "name":" nginx",
        "image":"nginx",
        "zdroje":{},
        "imagePullPolicy":"IfNotPresent"
      }
  br   ], />    "restartPolicy":"Nikdy"
  }
}

Pokud se pokusíte grep přímo pro name , toto je výsledek:

$ grep name k8s-pod.json
        "name":"myapp",
        "namespace":"project1"
                "name":"busybox"
         jméno":"nginx",

grep vrátil všechny řádky, které obsahují slovo name . Do grep můžete přidat několik dalších možností omezit jej a pomocí určité manipulace s regulárními výrazy můžete najít názvy kontejnerů. Chcete-li získat požadovaný výsledek pomocí jq , použijte výraz, který simuluje procházení datové struktury, jako je tento:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Tento příkaz vám dá název obou kontejnerů. Pokud hledáte pouze název druhého kontejneru, přidejte do výrazu index prvku pole:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Protože jq je si vědom struktury dat, poskytuje stejné výsledky, i když se formát souboru mírně změní. grep a sed může poskytnout různé výsledky s malými změnami formátu.

jq má mnoho funkcí a jejich pokrytí by vyžadovalo další článek. Další informace naleznete v jq stránka projektu, manuálové stránky nebo tldr jq .

5. fd jako náhrada za find

fd je jednoduchou a rychlou alternativou k find příkaz. Jeho cílem není nahradit kompletní funkcionalitu find poskytuje; místo toho poskytuje některé rozumné výchozí hodnoty, které v určitých scénářích hodně pomáhají.

Například při hledání souborů zdrojového kódu v adresáři, který obsahuje úložiště Git, fd automaticky vyloučí skryté soubory a adresáře, včetně .git adresáře a také ignorování vzorů z .gitignore soubor. Obecně poskytuje rychlejší vyhledávání s relevantnějšími výsledky na první pokus.

Ve výchozím nastavení fd spustí vyhledávání vzorů bez ohledu na velikost písmen v aktuálním adresáři s barevným výstupem. Stejné vyhledávání pomocí find vyžaduje zadání dalších parametrů příkazového řádku. Chcete-li například prohledat všechny soubory markdown (.md nebo .MD ) v aktuálním adresáři find příkaz je tento:

$ find . -iname "*.md" 

Zde je stejné vyhledávání jako fd :

$ fd .md 

V některých případech fd vyžaduje další možnosti; například pokud chcete zahrnout skryté soubory a adresáře, musíte použít volbu -H , zatímco v find to není vyžadováno .

fd je k dispozici pro mnoho distribucí Linuxu. Nainstalujte jej do Fedory pomocí standardních repozitářů:

$ sudo dnf install fd-find 

Další informace naleznete na fd úložiště GitHub.

Skvělé alternativy vedle osvědčených nástrojů

I když stále pravidelně používám všechny staré základní nástroje, zejména při vzdáleném připojení k serverům, alternativní nástroje poskytují některé další výhody, které jsou v mnoha scénářích cenné. Zejména mi pomáhají spravovat a pracovat na mých počítačích Linux a laptopech.

Používáte nějaké další nástroje, které vám usnadňují práci? Přidejte je do sekce komentářů níže.


Linux
  1. 4 alternativy cronu v Linuxu

  2. Mých 5 oblíbených nástrojů pro správu systému Linux

  3. Zpřístupnění certifikátů CA nástrojům příkazového řádku Linuxu

  1. Úvod do příkazu alternatives v Linuxu

  2. Příkaz mv v Linuxu:7 základních příkladů

  3. Textové editory příkazového řádku v Linuxu

  1. Sériová komunikace na moderním Linuxu

  2. Historie příkazového řádku v Linuxu

  3. Nástroje pro přetaktování v Linuxu