3 moderné nástroje CLI, ktoré mi nahradili ps, df a curl


Pravdepodobne používate príkazy ps, df a curl už roky, ale vždy je priestor na zlepšenie. Viem, že ja stále hľadám nové nástroje, a možno ich hľadáte aj vy? Ak je to tak, mám tri moderné náhrady za tieto nástroje, ktoré by ste mohli oceniť.

GNU nástroje je veľa; sú ich stovky a sú nainštalované v každom základnom systéme. Existujú už od nepamäti (dobre, je to preháňanie) a väčšinou potrebujú len vizuálnu aktualizáciu—možno aj nejaké nové funkcie. Nasledujúce nástroje spĺňajú tento cieľ, s farebnými používateľskými rozhraniami a niektorými základnými vylepšeniami kvality života, ktoré ich starým prototypom veľmi chýbali.

procesory: Vylepšenie pre unavený vyzerajúci PS

Prvým príkazom, ktorý treba nahradiť, je unavený vyzerajúci ps, ktorý existuje na Linuxe od roku 1992, a to je na ňom vidieť. Hoci je ťažké rozšíriť jeho užitočnosť, nevyhnutne potrebuje moderné oživenie, a práve to prináša procs.

Jeho vylepšenia sú jednoduché, ale vítané. Začínajúc farebným používateľským rozhraním, nemôžem poprieť, aké užitočné sú farby pri čítaní zložitého výstupu. Od logovacích súborov po zdrojový kód, obyčajný (nefajnený) text sa ťažko odlišuje. Hoci to môže znieť povrchne, prvá vec, na ktorú sa pri príkaze pozerám, je farebné zobrazenie, pretože je oveľa ľahšie čitateľné.

Ďalej na zozname je podpora pageru—áno, less existuje od začiatku deväťdesiatych rokov, a nie, ps nemá vlastný pager. Dlho som si vyvinul RSI na malíčku ľavej ruky kvôli intenzívnemu používaniu kláves Shift+|. Preferovaný pager pre procs je less, ale vráti sa k more. Ak sa chcete zamerať na konkrétny proces, už nemusíte používať grep; jednoducho zadáte názov procesu: procs bash. Ak potrebujete viacero kľúčových slov, môžete použiť procs --or bash zsh. Okrem toho podporuje prepínače --and, --nand a --nor.

Tiež, procs podporuje nastavenie vlastných stĺpcov, buď prostredníctvom príznakov alebo cez ich komplexný konfiguračný súbor. Existuje množstvo možností stĺpcov, vrátane Docker kontajnerov, TCP/UDP, pamäte a podobne.

Och, spomenul som, že podporuje aj Windows a macOS?

Je k dispozícii na Debian Trixie a novších verziách:

sudo apt install procs

Arch Linux:

sudo pacman -S procs

Fedora :

sudo dnf install procs

Snap :

sudo snap install procs

Windows :

winget install procs

Mac (cez MacPorts):

sudo port install procs

A Homebrew:

brew install procs

duf: df, ale s peknými farbami


Príkaz duf je jednoduchý. Neposkytuje veľa funkcií, ale rieši jeden jednoduchý problém: čitateľnosť. Príkaz df je ďalší príkaz, ktorý existuje už od raných dní Linuxu a stále má archaické, čierno-biele používateľské rozhranie. Áno, farby sú tu hlavným motívom (slovná hračka zamýšľaná), a duf je ďalší ultramoderný príkaz, ktorý podporuje úžasných 256 farieb.

Nie je to však len o farbách; organizácia informácií do súvisiacich skupín je základným princípom dobrého UX dizajnu - nazýva sa to Zákon blízkosti. Naše mozgy spájajú položky, ktoré sú blízko seba. Na prvý pohľad to uľahčuje rozlúštenie detailov.

Vzhľadom na tabuľkovú povahu výstupov sa pravdepodobne pýtate, ako by ste ich mohli filtrovať pomocou grep. Je to jednoduché: poskytnite cesty ako zoznam argumentov.

duf /dev /dev/shm

Môžete triediť, štýlovať, meniť témy a tiež skrývať prvky, ale pre mňa je rozhodujúca funkcia výstupy v JSON. Som veľkým fanúšikom príkazu jq, pretože mi umožňuje vybrať iba polia, ktoré potrebujem, a spájať zložité príkazy.

duf --json | head -n 17

duf --json | jq '.[].device' | sort -u

Je dostupné na Ubuntu 22.04 a novších verziách a na Debiane 12 a novších verziách:

sudo apt install duf

Arch Linux:

sudo pacman -S duf

Fedora :

sudo dnf install duf

Windows (cez Chocolatey):

choco install duf

Windows (cez Scoop):

scoop install duf

Mac (cez Homebrew):

brew install duf

Mac (cez MacPorts):

sudo port install duf

HTTPie: curl, ale jednoduchšie na použitie

Curl bola kedysi hlavným nástrojom v mojom súbore príkazov, ale myslím, že by sa mohla presunúť nabok pre výkonnejší príkaz. Často používam curl na dotazovanie REST API. Pre tých, ktorí nepoznajú, REST API je textové rozhranie, ktoré weboví vývojári používajú na získavanie dát. Pamätáte si JSON výstup v predchádzajúcej časti? Presne takto vyzerá REST API.

Každá URL sa skladá z častí a jedna konkrétna časť slúži na prenášanie informácií na server - nazýva sa GET parametre (alebo query string). Ak sa pozrieme na anatómii typickej URL:

https://www.example.com/?foo=bar&baz=foobar

Vidíte tie dva úseky „foo=bar“ a „baz=foobar“? To sú GET parametre a často určujú, ako server generuje webovú stránku.

Keď robíte požiadavku pomocou curl, musíte zadať celú URL, ale porovnajte to s požiadavkou HTTPie:

https GET example.com foo=bar baz=foobar

Nie sú tam žiadne nešikovné znaky a zámer ("GET") je jasný. Tiež podporuje JSON (REST API) bez potreby špecifikovať príslušné HTTP hlavičky, a môžem vám povedať, že ich písanie sa po niekoľkých desiatkach krát stáva neuveriteľne nudné.

curl 'https://example.com/?foo=bar&baz=foobar' -H 'Content-Type: application/json'

Výsledky sú aj vo farbe! Čo ich čítanie robí oveľa jednoduchším, pretože JSON je obzvlášť ťažké čítať bez farieb:

To nie je všetko; HTTPie podporuje nahrávanie súborov pomocou multipart, odosielanie formulárov, relácie a dokonca aj užitočnú funkciu --download:

https --download ash-speed.hetzner.com/10GB.bin

Ak ho chcete nainštalovať na Debian, Ubuntu a všetky ostatné deriváty, najprv budete musieť pridať repozitár HTTPie:

curl -SsL https://packages.httpie.io/deb/KEY.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/httpie.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/httpie.gpg] https://packages.httpie.io/deb ./" \
  | sudo tee /etc/apt/sources.list.d/httpie.list > /dev/null
sudo apt update
sudo apt install httpie

Fedora :

sudo dnf install httpie

Arch Linux:

sudo pacman -S httpie

Snap :

sudo snap install httpie

Windows (cez Chocolatey):

choco install httpie

Mac (cez Homebrew):

brew install httpie

Mac (cez MacPorts):

sudo port install httpie

To sú moje tri najlepšie tipy, o ktorých ste pravdepodobne nikdy nepočuli. Pravdaže, posledný (HTTPie) je užitočnejší pre webových vývojárov, ale vie byť užitočný pre každého, kto píše skript komunikujúci s REST API - čo nie je až také zriedkavé.

Prihláste sa na odber odporúčaní moderných CLI nástrojov

Prihláste sa na odber odporúčaní moderných CLI nástrojov

Tým, že sa prihlásite na odber, súhlasíte s prijímaním newslettera a marketingových e-mailov a akceptujete Podmienky používania a Zásady ochrany osobných údajov spoločnosti Valnet. Odber môžete kedykoľvek zrušiť.

Mal by som tiež dodať, že nástroje GNU nikam nezmiznú. Sú na každom základnom systéme a curl je tiež celkom univerzálny. Sú to skvelé nástroje a každý vie, ako ich používať. Vyzerajú však trochu unavene a navrhované nástroje prinášajú veľmi potrebné oživenie.

Súvisiace články