Tri skvelé tipy pre prácu s konzolou: bat, fzf, up

2019/01/09

Na zimu sa treba zahriať pri termináli! Štyri utility v tom pomôžu:

Nástroje sú dostupné pre akýkoľvek linuxoidný operačný systém a pre každý shell.

cat s farbami

cat je ako Lada — dokonalý už od začiatku: jednoducho vypľuje dáta z rúry / súboru bez zmeny.

brew install bat

bat je mačka s krídlami, teda netopier, ktorý je:

Netopier dokáže zobrazovať aj biele miesto, stačí dodať parameter -A.

Okrem toho fungujú všelijaké užitočné parametre:

up — interaktívne obzeranie dát v rúre

up má dosť mätúci názov, ale universal plumber, teda mnohoúčelový klampiar má s funkcionalitou spoločné asi toľko, ako mačka s výpisom súborov.

V tomto prípade ide o interaktívny vyhodnocovač príkazov v rúre, užitočný najmä pre vodičov v zácviku

brew install up

Stačí doňho poslať nejaké dáta:

cat /etc/passwd | up

A potom stačí už len uvádzať príkazy presne tak, ako sme na to zvyknutí z príkazového riadka!

| grep root
root:*:0:0:System Administrator:/var/root:/bin/sh
daemon:*:1:1:System Services:/var/root:/usr/bin/false
_cvmsroot:*:212:212:CVMS Root:/var/empty:/usr/bin/false

Za rúrou možno uviesť príkaz, následne ENTERovať a up automaticky vyhodnotí výsledok z rúry.

 | grep root | cut -d: -f1
root
daemon
_cvmsroot

Po riadku s príkazom môžeme slobodne behať, upravovať ho, enterovať a výstup sa bude okamžite aktualizovať.

Ak ukončíme príkaz pomocou Ctrl-X, up dokonca posledný príkaz utešene zapíše do shellskriptového súboru, ktorým ho môžeme zavolať.

Krása!

fzf — interaktívny fuzzy vyhľadávač

fzf je interaktívny vyhľadávač v riadkoch zo vstupu. Niečo ako kombinácia grepu a ručného výberu položiek pomocou klávesnice. Okrem toho je to množstvo ďalších funkcií!

brew install fzf

Vyhľadávanie v aktuálnom adresári je najjednoduchšie:

fzf

fzf nájde súbory a adresáre v celom podstrome aktuálneho adresára a vypíše ich do riadkov. Pomocou klávesnice (šípky hore/dole) a Enteru možno vybrať aktuálnu položku a voilá! objaví sa na štandardnom výstupe.

Okrem toho možno písať ľubovoľný text a tým filtrovať položky. fzf je fuzzy, takže nemusíme hľadať presnú zhodu, stačí sa približne trafiť a prípadne kurzorom doladiť výsledok.

Dokonca funguje aj viacnásobný výber!

fzf -m

Tabulátorom vyznačíme položky a po odENTERovaní sa zjaví výsledok!

Funguje aj spolupráca s akýmkoľvej linuxovým príkazom. Chceme interaktívne vybrať súbor na úpravu?

vim `fzf`

Parameter pre vim sa vyberie klávesnicou!

Ak je nainštalovaná podpora pre automatické dopĺňanie pre bash, zsh, či fish, funguje nádherný dvojhviezdičkový trik. Dve hviezdičky a následný TABulátor vyvolajú fzf a umožnia tým vybrať argument.

ls **[TAB]

Dopĺňanie v shelli funguje pre súbory/adresáre, SSH hostiteľov, identifikátory procesov v kille a premenné prostredia!

Samozrejme, fzf funguje pre akýkoľvek filter. Chcete interaktívne vybrať zoznam používateľov z /etc/passwd?

< /etc/passwd fzf -m

Okrem toho je možné zapnúť mapovanie klávesov (key bindings)

>> Home