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 procsArch Linux:
sudo pacman -S procsFedora :
sudo dnf install procsSnap :
sudo snap install procsWindows :
winget install procsMac (cez MacPorts):
sudo port install procs
A Homebrew:
brew install procsduf: 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/shmMôž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 17duf --json | jq '.[].device' | sort -uJe 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 dufFedora :
sudo dnf install dufWindows (cez Chocolatey):
choco install dufWindows (cez Scoop):
scoop install dufMac (cez Homebrew):
brew install dufMac (cez MacPorts):
sudo port install dufHTTPie: 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=foobarNie 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.binAk 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 httpieFedora :
sudo dnf install httpieArch Linux:
sudo pacman -S httpieSnap :
sudo snap install httpieWindows (cez Chocolatey):
choco install httpieMac (cez Homebrew):
brew install httpieMac (cez MacPorts):
sudo port install httpieTo 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.







