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.

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 () 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: 561540Pomocou 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 [ ] /mediaTento 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 ncdu2. htop vs top
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:

Na rozdiel od top:

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 .
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 OUTPUTTLDR 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 jq alebo na tldr.
5. fd versus find
— 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 .mdAle 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-findNie 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 , 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!
Zdroj: habr.com
