Použitím modernejších alternatív spolu so staršími nástrojmi príkazového riadku si môžete užiť viac zábavy a dokonca zvýšiť svoju produktivitu.
Pri našej každodennej práci na Linuxe/Unixe používame mnoho nástrojov príkazového riadku – napríklad du na monitorovanie využitia disku a systémových zdrojov. Niektoré z týchto nástrojov existujú už dlho. Napríklad top sa objavil v roku 1984 a prvé vydanie du sa datuje do roku 1971.
V priebehu rokov boli tieto nástroje modernizované a portované na rôzne systémy, no vo všeobecnosti sa od svojich prvých verzií ďaleko neposunuli, ich vzhľad a použiteľnosť sa tiež veľmi nezmenili.
Toto sú skvelé nástroje, ktoré potrebujú mnohí správcovia systému. Komunita však vyvinula alternatívne nástroje, ktoré ponúkajú ďalšie výhody. Niektoré z nich majú jednoducho moderné, krásne rozhranie, zatiaľ čo iné výrazne zlepšujú použiteľnosť. V tomto preklade si povieme o piatich alternatívach k štandardným nástrojom príkazového riadka Linuxu.
1. ncdu vs du
NCcurses využitie disku (
ncdu analyzuje disk a potom zobrazí výsledky zoradené podľa najčastejšie používaných adresárov alebo súborov, napríklad:
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /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
Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
V záznamoch sa môžete pohybovať pomocou klávesov so šípkami. Ak stlačíte Enter, ncdu zobrazí obsah zvoleného adresára:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Tento nástroj môžete použiť napríklad na zistenie, ktoré súbory zaberajú najviac miesta na disku. Stlačením klávesu so šípkou doľava môžete prejsť do predchádzajúceho adresára. Pomocou ncdu môžete vymazať súbory stlačením klávesu d. Pred odstránením požaduje potvrdenie. Ak chcete vypnúť funkciu odstránenia, aby ste predišli náhodnej strate cenných súborov, použite voľbu -r na povolenie režimu prístupu iba na čítanie: ncdu -r.
ncdu je k dispozícii pre mnohé platformy a distribúcie Linuxu. Napríklad môžete použiť dnf na jeho inštaláciu do Fedory priamo z oficiálnych repozitárov:
$ sudo dnf install ncdu
2. htop vs top
V predvolenom nastavení htop vyzerá takto:
Na rozdiel od top:
Okrem toho htop zobrazuje v hornej časti prehľadné informácie o systéme a v spodnej časti panel na spúšťanie príkazov pomocou funkčných kláves. Môžete ho nakonfigurovať stlačením klávesu F2, čím otvoríte konfiguračnú obrazovku. V Nastaveniach môžete zmeniť farby, pridať alebo odstrániť metriky alebo zmeniť možnosti zobrazenia panela prehľadu.
Hoci podobnú použiteľnosť môžete dosiahnuť úpravou nastavení najnovších verzií top, htop poskytuje pohodlné predvolené konfigurácie, vďaka čomu je praktickejšie a jednoduchšie.
3. tldr vs človek
Nástroj príkazového riadka tldr zobrazuje zjednodušené pomocné informácie o príkazoch, väčšinou príklady. Vyvinula ho komunita
Stojí za zmienku, že tldr nie je náhradou človeka. Stále je to kanonický a najkomplexnejší nástroj na výstup manuálovej stránky. V niektorých prípadoch je však človek nadbytočný. Keď nepotrebujete komplexné informácie o príkaze, snažíte sa zapamätať si jeho základné použitie. Napríklad manuálová stránka pre príkaz curl obsahuje takmer 3000 riadkov. Strana tldr pre zvlnenie má 40 riadkov. Jeho fragment vyzerá takto:
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: <https://curl.haxx.se>.
- Download the contents of an URL to a file:
curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Send data in JSON format, specifying the appropriate content-type header:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDR znamená „príliš dlho; nečítal“: to znamená, že niektorý text bol ignorovaný pre jeho prílišnú výrečnosť. Názov je vhodný pre tento nástroj, pretože manuálové stránky, hoci sú užitočné, môžu byť niekedy príliš dlhé.
Pre Fedoru bol tldr napísaný v Pythone. Môžete ho nainštalovať pomocou správcu dnf. Nástroj na fungovanie zvyčajne vyžaduje prístup na internet. Ale Python klient Fedory umožňuje tieto stránky stiahnuť a uložiť do vyrovnávacej pamäte pre offline prístup.
4.jq vs sed/grep
jq je procesor JSON pre príkazový riadok. Je podobný sed alebo grep, ale je špeciálne navrhnutý na prácu s údajmi JSON. Ak ste vývojár alebo správca systému, ktorý používa JSON pri každodenných úlohách, toto je nástroj pre vás.
Hlavnou výhodou jq oproti štandardným nástrojom na spracovanie textu, ako sú grep a sed, je to, že rozumie štruktúre údajov JSON, čo vám umožňuje vytvárať zložité dotazy v jedinom výraze.
Pokúšate sa napríklad 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 a nájdite názov reťazca:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep vrátil všetky riadky obsahujúce názov slova. Môžete pridať niekoľko ďalších možností grep, aby ste ho obmedzili, a použiť manipuláciu s regulárnymi výrazmi na nájdenie názvov kontajnerov.
Ak chcete získať rovnaký výsledok pomocou jq, stačí napísať:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Tento príkaz vám dá názvy oboch kontajnerov. Ak hľadáte iba názov druhého kontajnera, pridajte do výrazu index prvku poľa:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Keďže jq vie o štruktúre údajov, produkuje rovnaké výsledky, aj keď sa formát súboru mierne zmení. grep a sed nemusia v tomto prípade fungovať správne.
jq má veľa funkcií, ale na ich popis je potrebný ďalší článok. Pre viac informácií prosím kontaktujte
5. fd vs nájsť
Napríklad pri vyhľadávaní súborov v adresári úložiska Git fd automaticky vylúči skryté súbory a podadresáre vrátane adresára .git a tiež ignoruje zástupné znaky zo súboru .gitignore. Celkovo zrýchľuje vyhľadávanie tým, že na prvý pokus vracia relevantnejšie výsledky.
Š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. Rovnaké vyhľadávanie pomocou príkazu find vyžaduje zadanie ďalších parametrov na príkazovom riadku. Ak chcete napríklad nájsť všetky súbory .md (alebo .MD) v aktuálnom adresári, napíšte príkaz find takto:
$ find . -iname "*.md"
Pre fd to vyzerá takto:
$ fd .md
V niektorých prípadoch však fd vyžaduje aj ďalšie možnosti: napríklad, ak chcete zahrnúť skryté súbory a adresáre, musíte použiť možnosť -H, hoci sa to pri vyhľadávaní zvyčajne nevyžaduje.
fd je k dispozícii pre mnohé distribúcie Linuxu. Vo Fedore sa dá nainštalovať takto:
$ sudo dnf install fd-find
Nemusíte sa ničoho vzdávať
Používate nové nástroje príkazového riadka systému Linux? Alebo sedíte výlučne na starých? Ale s najväčšou pravdepodobnosťou máte kombo, však? Podeľte sa o svoje skúsenosti v komentároch.
O právach reklamy
Výhody už ocenili mnohí naši klienti epické servery!
To
Zdroj: hab.com