Základné nástroje príkazového riadka v Linuxe, ako napríklad: ls وcat وgrep Je to základný kameň, ale nebol navrhnutý tak, aby držal krok s moderným používaním. Z tohto dôvodu sa objavili alternatívy s otvoreným zdrojovým kódom, ktoré ponúkajú rýchlejší výkon, organizovanejší výstup a ďalšie funkcie, vďaka ktorým je práca v termináli produktívnejšia a plynulejšia. Tieto nástroje nielen nahrádzajú staršie príkazy, ale tiež vylepšujú spôsob interakcie so systémom, čím šetria veľa času. Tu je výber najlepších alternatív, ktoré uprednostňujú profesionálni používatelia Linuxu a považujú sa za nevyhnutné v každej modernej distribúcii.
Štandardné Linuxové nástroje sú nudné. Všimli ste si to niekedy? Sú základné, ale nudné. Nechceli by ste vylepšiť ich výstup pútavými farbami? Alebo ho dokonca zrýchliť? Tieto terminálové nástroje to a ešte viac robia.
netopier: ako mačka, ale lepší
Príkaz cat bol prvý príkaz, ktorý som sa naučil, a stále je jedným z mojich najpoužívanejších. Začína však byť zastaraný, pretože zobrazuje obyčajný, neformátovaný text. Zložité súbory, ako sú konfiguračné súbory, skripty, JSON alebo YAML, sa často ťažko čítajú.
Bat je podobný Cat, ale lepší. Rieši problém s čitateľnosťou zvýrazňovaním zložitých súborov atraktívnymi farbami (t. j. zvýrazňovaním syntaxe). Vďaka zvýrazňovaniu sekcií a okrajov sa súbory tiež oveľa ľahšie čítajú.
Bat má niekoľko ďalších funkcií, vďaka ktorým je ešte atraktívnejší, ako napríklad integráciu s Gitom na identifikáciu zmenených riadkov. Dokáže tiež spolupracovať s inými nástrojmi, ako napríklad fzf alebo find, na zobrazenie okien s náhľadom farieb.
Teraz je dostupný globálne; nájdete ho takmer vo všetkých repozitároch distribúcie softvéru.
ripgrep: grep na steroidoch
Rovnako ako všetky ostatné nástroje, ktoré spomeniem, aj Ripgrep je vylepšením oproti svojmu štandardnému náprotivku. Jeho hlavnou výhodou je rýchlosť: na rozdiel od svojho staršieho náprotivku, grepu, vykonáva viacero vyhľadávaní paralelne. Ripgrep využíva výkon moderných procesorov tým, že svoju prácu rozdeľuje medzi všetky jadrá procesora.
Ripgrep nie je len neuveriteľne rýchly, ale má aj dlhý zoznam užitočných funkcií, ako je inteligentná detekcia malých a veľkých písmen, ignorovanie konkrétnych súborov a priečinkov a integrácia s inými aplikáciami.
Inteligentné rozpoznávanie veľkých a malých písmen je jednoduchá a elegantná funkcia, ktorá by mala byť súčasťou každého vyhľadávania. To jednoducho znamená, že ak vo vyhľadávacom výraze použijete veľké písmená, vyhľadávanie bude rozlišovať veľké a malé písmená. Je to funkcia, ktorá často chýba.
Ripgrep tiež ignoruje konkrétne súbory a priečinky v závislosti od pokynov v súbore gitignore alebo ignore. Napríklad nasledujúci súbor spôsobí, že ripgrep bude ignorovať všetky obrázky s názvom foo.jpg alebo priečinky s názvom ignore_dir.
ignored_dir/
**/foo.jpg
Ripgrep ponúka vynikajúcu integráciu s inými aplikáciami. Emacs, Vim, Neovim a fzf majú pluginy tretích strán, ktoré sa integrujú s ripgrepom, čo umožňuje týmto aplikáciám priamo využívať výkonné vyhľadávacie možnosti ripgrepu. Fzf (ďalší nástroj) poskytuje pokročilé funkcie, ktoré efektívne spolupracujú s ripgrepom, ako uvidíte neskôr.
To nie je všetko; Ripgrep dokáže vyhľadávať aj komprimované súbory pomocou príznaku Z. Ak máte veľký priečinok s textom a komprimovanými súbormi, Ripgrep ich dokáže všetky analyzovať bez nutnosti manuálnej dekompresie. Keďže neponúka veľa podrobností o porovnávaní, je to trochu sklamanie; šetrí však veľa času a úsilia.
Ripgrep je dostupný vo väčšine repozitárov distribúcií softvéru, preto si prečítajte manuál vašej distribúcie a nainštalujte si balíky.
delta: ripgrep beží – teraz beží
Delta je typicky určená pre programátorov a je to jeden z mojich obľúbených nástrojov. Ripgrep odvádza skvelú prácu pri rýchlom analyzovaní súborov, aby našiel presne to, čo potrebujete; môže sa pochváliť modernými funkciami a pokročilou štruktúrou vyhľadávania. Výstupu však chýbajú farby a kontext. Niektorí by mohli namietať, že je priamočiary a zameriava sa iba na hľadaný výraz, ale ja zisťujem, že potrebujem viac. Pri vyhľadávaní kódu rád vidím kontext a okolité farby, pretože oboje pomáha rozlíšiť dobré od zlého.
Pre programátorov (alebo začiatočníkov) Delta aplikuje zvýrazňovanie syntaxe na výstup ripgrep. Poskytuje tiež ďalšie funkcie pre integráciu so systémom Gitu, systémom správy dokumentov. Napríklad poskytuje pekný sekvenčný pohľad na zmeny v dokumentoch (tiež známy ako diff, skratka pre difference).
Git dokáže spravovať akýkoľvek typ textového dokumentu a často sa používa na ukladanie súborov typu dotfiles (konfiguračné súbory začínajúce bodkou). Ak máte záujem o ukladanie súborov typu dotfiles, vrelo odporúčam ich ukladanie pomocou Gitu. V tomto prípade sa tiež odporúča vyskúšať delta, už len na zobrazenie rozdielov.
Deltu si môžete nainštalovať z oficiálnych repozitárov Debianu, Ubuntu, Fedory, Arch Linuxu a ďalších distribúcií pod názvom git-delta. Je tiež dostupná od Homebrew a Nix.
fd: Rýchlejšie vyhľadávanie s krajšími farbami
Ako už názov napovedá, fd je veľmi podobný vyhľadávaniu, až na to, že je oveľa rýchlejší a má krajšie farby. Ako už bolo spomenuté, farby uľahčujú čítanie a rozlišovanie výsledkov vyhľadávania. fd farebne označuje rôzne typy súborov a cesty k priečinkom.
Okrem použitia farieb prechádza fd paralelne viacerými adresárovými stromami, čím využíva viacjadrovú povahu moderných procesorov. Táto schopnosť sa rozširuje nielen na prechádzanie adresármi, ale aj na vykonávanie príkazov. Keď sa použije X, fd spustí príkaz paralelne pre každý zhodný výskyt.
fd foo.txt -x bat --farba=vždy
Rovnako ako ripgrep, aj fd podporuje inteligentné vyhľadávanie a tiež sa riadi súborom gitignore, čo uľahčuje vyhľadávanie a štandardne eliminuje zmätok.
Fd je dostupný pre takmer všetky distribúcie systému Windows, takže si ho pred inštaláciou prečítajte v manuáli správcu balíkov alebo distribúcie.
eza: Moderná alternatíva k ls
Eza je moderná verzia štandardného príkazu ls a jeho hlavnými funkciami sú lepšia podpora farieb a ikon. Aj keď nie sú nevyhnutné, ikony považujem za pekný detail, ale pre mňa sú farby nevyhnutné.
Eza má aj ďalšie skvelé funkcie, ako napríklad stromové zobrazenie a hypertextové odkazy. Napríklad tag hypertextové odkazy konvertuje všetky názvy súborov a priečinkov na klikateľné odkazy pomocou formátu OSC 8. Väčšina terminálov tieto odkazy podporuje, ale pre istotu si môžete pozrieť Neoficiálny zoznam staníc, ktoré podporujú hypertextové odkazy OSC 8. Každá stanica je iná a možno ju budete musieť aktivovať manuálne.
Najlepšie na tom je, že hypertextové odkazy fungujú aj so stromovým zobrazením, čo znamená, že môžete rýchlo prechádzať medzi veľkými priečinkami. Všimol som si však, že stromové zobrazenie v eza je oveľa pomalšie ako štandardné stromové zobrazenie: strom zobrazuje výsledky tak, ako sa zobrazujú, zatiaľ čo eza prechádza celým priečinkom (niekedy aj veľkým) a zobrazuje ich všetky naraz. Môže to chvíľu trvať, ale môže sa pochváliť atraktívnymi farbami a klikateľnými odkazmi!
Posledným bodom je, že zakaždým písať eza –icons je otravné, takže si možno budete chcieť prečítať nášho sprievodcu, ako vytvoriť alias.
Eza je k dispozícii pre väčšinu populárnych distribúcií, takže sa môžete obrátiť na správcu balíkov vašej distribúcie. Inštalácia na Debiane a Ubuntu však vyžaduje vyhradený APT repozitár, ale domovská stránka eza to pokrýva.
Rozhranie je nepoužiteľné bez vyhľadávania histórie (fzf)
Či už ste začiatočník alebo expert, používanie fuzzy vyhľadávania v histórii shellu je nevyhnutné; je to môj najdôležitejší nástroj. Písanie príkazov je ťažkopádne, takže ich radšej robím iba raz. Vyhľadávanie predchádzajúcich príkazov je tiež ťažkopádne, pretože používanie klávesov Hore a Dole výrazne spomaľuje pracovný postup. Nástroj fuzzy vyhľadávania rieši oba tieto problémy.
Ak neviete, čo je fuzzy vyhľadávanie, ide jednoducho o približné vyhľadávanie. Napríklad, zadanie emp alebo xpe zodpovedá example. Prečo na tom záleží? Pretože si nepamätám príkaz, ktorý som zadal pred dvoma mesiacmi, alebo preto, že rýchle prepínanie medzi viacerými príkazmi namáha moju pamäť. Stačí mi zapamätať si len niekoľko znakov v príkaze a nástroj fuzzy vyhľadávania rýchlo a okamžite zúži vyhľadávanie.
Roky som sa spoliehal na komponent zsh na vyhľadávanie protokolov fzf. Ako alternatívu existuje samostatný nástroj s názvom Atuin, ktorý je takmer identický. Oba vykonávajú jednoduchú a efektívnu funkciu.
Zobraziť výskumný repozitár História fzf na GitHub Pokyny na inštaláciu nájdete aj v našich návodoch na inštaláciu Oh-My-Zsh a fzf. Alternatívny a jednoduchší spôsob nájdete v našom návode na inštaláciu a používanie Atuinu.
Ďalší skript na vyhľadávanie súborov ako profesionál
Ak máte nainštalované balíky fzf, ripgrep a bat, môžete použiť nasledujúci príkaz na fuzzy vyhľadávanie vo vašom súborovom systéme a otvorenie zodpovedajúcich riadkov vo vašom obľúbenom textovom editore. Vložte nasledujúci príkaz do súboru bashrc a potom ho znova načítajte pomocou zdrojového súboru bashrc. Pozrite si nášho sprievodcu, ako vytvoriť bashrc pre ďalšie informácie.
s () {
fzf --ansi --disabled \
--bind "change:reload:command \
rg --line-number --no-heading --color=always --smart-case {q} \
|| :" \
--bind "enter:execute(${EDITOR:-nano} +{2} {1})" \
--delimiter ":" \
--preview "command bat -p --color=always {1} --highlight-line {2}" \
--preview-window 'up:80%,border-bottom,~3,+{2}+3/3'
}
Vyššie uvedený príkaz bol povolený na otváranie súborov v nano, ale môžete ho nakonfigurovať na používanie Vim, Neovim, Emacs a ďalších. Jednoducho nastavte premennú editora v bashrc a znova ju načítajte:
export EDITOR=nvim
Ak chcete použiť skript, jednoducho prejdite do priečinka obsahujúceho textové súbory a zadajte písmeno „s“. Hoci tento príkaz akceptuje jednoduché slová ako vyhľadávacie výrazy, jeho presnosť môžete výrazne zlepšiť podľa nášho sprievodcu regulárnymi výrazmi, čo je vzorec pre pokročilé vyhľadávanie, ktorý sa naučíte za hodinu.
Bez nástrojov ako fzf History Search, ripgrep a delta by som bol stratený, takže toto sú často prvé nástroje, ktoré inštalujem. Bez nástrojov eza, bat a fd vyzerá okno terminálu nečitateľné a nečitateľné. Toto však nie je vyčerpávajúci zoznam a podrobne som opísal ďalšie terminálové nástroje na monitorovanie systémových prostriedkov.
Spoliehanie sa na moderné nástroje príkazového riadku neznamená opustenie základov; ide o evolúciu spôsobu interakcie s Linuxom. Alternatívy, ktoré sme recenzovali, neponúkajú len vylepšenia vzhľadu alebo výkonu; odrážajú aj vývoj nástrojov open source softvéru, ktoré spĺňajú potreby pokročilých používateľov. Vyskúšajte jeden z nich a rozdiel si všimnete už od prvého použitia.












