5 moderných alternatív k starým nástrojom príkazového riadku Linuxu.

Používaním modernejších alternatív spolu so starými príkazovými nástrojmi si môžete viac užiť prácu a dokonca zvýšiť produktivitu.

5 moderných alternatív k starým nástrojom príkazového riadku Linuxu.

V každodennej práci v Linuxe / Unixe používame množstvo príkazových nástrojov — napríklad du na monitorovanie využitia disku a systémových prostriedkov. Niektoré z týchto nástrojov existujú už dlho. Napríklad top sa objavil v roku 1984 a prvá verzia du sa datuje do roku 1971.

V priebehu rokov boli tieto nástroje modernizované a portované na rôzne systémy, no celkovo sa od svojich prvých verzií príliš vzdialili, ich vzhľad a použiteľnosť sa taktiež výrazne nezmenili.

Sú to vynikajúce nástroje, ktoré sú potrebné mnohým systémovým administrátorom. Avšak komunita vyvinula alternatívne nástroje, ktoré ponúkajú ďalšie výhody. Niektoré z nich majú jednoducho moderné a pekné rozhranie, iné výrazne zlepšujú použiteľnosť. V tomto prehľade sa pozrieme na päť alternatív k štandardným príkazovým nástrojom v Linuxe.

1. ncdu vs du

NCurses Disk Usage (ncdu) je podobný ako du, avšak s interaktívnym rozhraním založeným na knižnici curses. ncdu zobrazuje štruktúru adresárov, ktoré zaberajú väčšinu vášho diskového priestoru.

ncdu analyzuje disk a potom zobrazuje výsledky usporiadané podľa najčastejšie používaných adresárov alebo súborov, napríklad:

ncdu 1.14.2 ~ Použite klávesy so šípkami na navigáciu, stlačte ? pre pomoc
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Celkové využitie disku: 159.4 GiB  Zjavná veľkosť: 280.8 GiB  Položky: 561540

Pomocou klávesov so šípkami sa môžete pohybovať medzi položkami. Ak stlačíte Enter, ncdu zobrazí obsah vybraného adresára:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Tento nástroj môžete využiť na určenie, ktoré súbory zaberajú najviac miesta na disku. Do predchádzajúceho adresára sa môžete vrátiť stlačením klávesy so šípkou doľava. Pomocou ncdu môžete súbory odstrániť stlačením klávesy d. Pred odstránením vyžaduje potvrdenie. Ak chcete deaktivovať funkciu odstraňovania, aby ste predišli náhodnej strate cenných súborov, použite možnosť -r na aktivovanie režimu len na čítanie: ncdu -r.

Ncdu je dostupný pre mnohé platformy a distribúcie Linuxu. Napríklad, môžete ho nainštalovať na Fedore pomocou dnf priamo z oficiálnych repozitárov:

$ sudo dnf install ncdu

2. htop vs top

Htop je interaktívny nástroj na zobrazenie procesov, podobný top, ale zaručuje príjemnejšie používateľské rozhranie hneď po inštalácii. Predvolený htop zobrazuje rovnaké informácie ako top, ale v prehľadnejšej a farebnejšej podobe.

Predvolene htop vyzerá takto:

5 moderných alternatív k starým nástrojom príkazového riadku Linuxu.
Na rozdiel od top:

5 moderných alternatív k starým nástrojom príkazového riadku Linuxu.
Okrem toho htop v hornej časti zobrazuje prehľadné informácie o systéme a v dolnej časti panel na spúšťanie príkazov pomocou funkčných klávesov. Môžete ho prispôsobiť stlačením F2 na otvorenie obrazovky nastavení. V nastaveniach môžete zmeniť farby, pridať alebo odstrániť metriky alebo upraviť nastavenia zobrazenia prehľadového panela.

Aj keď, s poslednými verziami top je možné dosiahnuť podobnú použiteľnosť, htop ponúka pohodlné predvoľby, čo z neho robí praktickejší a jednoduchší nástroj na používanie.

3. tldr vs man

Nástroj príkazového riadka tldr zobrazuje zjednodušené informácie o príkazoch, prevažne príklady. Vyvinula ho komunita tldr pages project.

Je dôležité poznamenať, že tldr nie je náhradou za man. Ten stále zostáva kanonickým a najkompletnejším nástrojom na zobrazenie manuálových stránok. Avšak v niektorých prípadoch môže byť man nadbytočný. Keď nepotrebujete úplné informácie o nejakom príkaze, snažíte sa len zapamätať základné možnosti jeho využitia. Napríklad, stránka man pre príkaz curl obsahuje takmer 3000 riadkov. Stránka tldr pre curl má dĺžku 40 riadkov. Jej úryvok vyzerá takto:


$ tldr curl

# curl
  Prenáša dáta zo servera alebo na server.
  Podporuje väčšinu protokolov, vrátane HTTP, FTP a POP3.
  Viac informácií: .

- Stiahnite obsah URL do súboru:

  curl http://example.com -o filename

- Stiahnite súbor a uložte výstup pod názvom uvedeným v URL:

  curl -O http://example.com/filename

- Stiahnite súbor, sledujte [L]okácie presmerovaní a automaticky [C]ontinuujte (obnovte) predchádzajúci prenos súboru:

  curl -O -L -C - http://example.com/filename

- Pošlite formátované dáta (POST požiadavka typu `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Pošlite požiadavku s pridanou hlavičkou, používajúc vlastnú HTTP metódu:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Pošlite dáta vo formáte JSON, špecifikujte zodpovedajúcu hlavičku typu obsahu:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR znamená „príliš dlhé; nečítal som”: t.j. určitý text bol ignorovaný kvôli jeho nadmernej rozvláčnosti. Názov je vhodný pre tento nástroj, pretože man-strany, aj keď sú užitočné, môžu byť niekedy príliš dlhé.

Pre Fedora bol tldr napísaný v Pythone. Môžete ho nainštalovať pomocou správcu dnf. Na používanie nástroja je zvyčajne potrebný prístup na internet. Ale Python klient v Fedore umožňuje sťahovať a cachovať tieto stránky pre offline prístup.

4. jq vs sed/grep

jq je JSON procesor pre príkazový riadok. Je podobný sed alebo grep, ale špeciálne navrhnutý na prácu s dátami vo formáte JSON. Ak ste vývojár alebo systémový administrátor, ktorý používa JSON vo svojej každodennej práci, tento nástroj je pre vás.

Hlavnou výhodou jq oproti štandardným textovým nástrojom na spracovanie, ako sú grep a sed, je, že rozumie štruktúre dát JSON, čo umožňuje vytvárať zložené dotazy v jednom výraze.

Napríklad, ak sa snažíte nájsť názvy kontajnerov v tomto súbore JSON:

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "labels": {
      "app": "myapp"
    },
    "name": "myapp",
    "namespace": "project1"
  },
  "spec": {
    "containers": [
      {
        "command": [
          "sleep",
          "3000"
        ],
        "image": "busybox",
        "imagePullPolicy": "IfNotPresent",
        "name": "busybox"
      },
      {
        "name": "nginx",
        "image": "nginx",
        "resources": {},
        "imagePullPolicy": "IfNotPresent"
      }
    ],
    "restartPolicy": "Never"
  }
}

Spustite grep na vyhľadanie riadku name:

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

grep vrátil všetky riadky obsahujúce slovo name. Môžete pridať niekoľko ďalších parametrov do grep, aby ste ho obmedzili, a pomocou niektorých manipulácií s regulárnymi výrazmi nájsť mená kontajnerov.

Ak chcete dosiahnuť tento istý výsledok pomocou jq, stačí napísať:

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

Tento príkaz vám vráti mená oboch kontajnerov. Ak hľadáte iba meno druhého kontajnera, pridajte index prvku poľa do výrazu:

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

Pretože jq pozná štruktúru dát, poskytuje rovnaké výsledky, aj keď sa formát súboru mierne zmení. grep a sed môžu v tomto prípade fungovať nesprávne.

jq má mnoho funkcií, ale na ich popis potrebujete ešte jeden článok. Pre viac informácií sa obráťte na stránke projektu jq alebo na tldr.

5. fd versus find

fd — je zjednodušená alternatíva nástroja find. Fd nemá v úmysle úplne ho nahradiť: štandardne obsahuje najbežnejšie nastavenia určujúce celkový prístup k práci so súbormi.

Napríklad pri vyhľadávaní súborov v adresári repozitára Git, fd automaticky vylučuje skryté súbory a podadresáre, vrátane adresára .git, a tiež ignoruje vzory z súboru .gitignore. Celkovo urýchľuje vyhľadávanie tak, že poskytuje relevantnejšie výsledky na prvý pokus.

Štandardne fd vykonáva vyhľadávanie bez ohľadu na veľkosť písmen v aktuálnom adresári s farebným výstupom. To isté vyhľadávanie pomocou príkazu find vyžaduje zadanie ďalších parametrov v príkazovom riadku. Napríklad, na nájdenie všetkých súborov .md (alebo .MD) v aktuálnom adresári, je potrebné zadať nasledujúci príkaz find:

$ find . -iname "*.md"

Pre fd to vyzerá takto:

$ fd .md

Ale v niektorých prípadoch sú pre fd potrebné dodatočné parametre: napríklad, ak chcete zahrnúť skryté súbory a adresáre, musíte použiť možnosť -H, aj keď to pri vyhľadávaní obvykle nie je potrebné.

fd je dostupný pre mnoho distribúcií Linuxu. V Federe ho môžete nainštalovať takto:

$ sudo dnf install fd-find

Nie je nutné sa niečoho vzdať

Používate nové nástroje príkazového riadku Linux? Alebo sedíte výhradne na starých? Ale pravdepodobne máte kombináciu, že? Prosím, podeľte sa o vaše skúsenosti v komentároch.

Na základe reklamy

Mnohí naši klienti už ocenili výhody epických serverov!
Toto virtuálne servery s procesormi AMD EPYC, frekvencia jadra CPU až 3,4 GHz. Maximálna konfigurácia umožní plné využitie — 128 jadier CPU, 512 GB RAM, 4000 GB NVMe. Ponáhľajte sa s objednávkou!

5 moderných alternatív k starým nástrojom príkazového riadku Linuxu.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster