Folosind alternative mai moderne alături de vechile instrumente de linie de comandă, poți avea mai multă plăcere și chiar poți îmbunătăți productivitatea.

În munca de zi cu zi în Linux / Unix, folosim o mulțime de instrumente de linie de comandă — de exemplu, du pentru a monitoriza utilizarea discului și resurselor sistemului. Unele dintre aceste instrumente există de mult timp. De exemplu, top a apărut în 1984, iar prima versiune de du datează din 1971.
De-a lungul anilor, aceste instrumente au fost modernizate și portate pe diferite sisteme, dar, în general, nu s-au îndepărtat prea mult de versiunile lor originale; designul și utilizarea lor nu s-au schimbat semnificativ.
Acestea sunt instrumente excelente, esențiale pentru mulți administratori de sistem. Cu toate acestea, comunitatea a dezvoltat instrumente alternative care oferă avantaje suplimentare. Unele dintre ele au pur și simplu o interfață modernă și atractivă, iar altele îmbunătățesc semnificativ utilizarea. În această traducere, vom discuta despre cinci alternative la instrumentele standard de linie de comandă Linux.
1. ncdu vs du
NCurses Disk Usage () este similar cu du, dar are o interfață interactivă bazată pe biblioteca curses. ncdu afișează structura directoarelor care ocupă cea mai mare parte a spațiului tău de stocare.
ncdu analizează discul și apoi afișează rezultatele, sortate după cele mai utilizate directoare sau fișiere, de exemplu:
ncdu 1.14.2 ~ Folosește tastele săgeată pentru a naviga, apasă ? pentru ajutor
--- /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
Utilizare totală a discului: 159.4 GiB Dimensiune aparentă: 280.8 GiB Obiecte: 561540Puteți naviga între înregistrări folosind tastele săgeată. Dacă apăsați Enter, ncdu va afișa conținutul directorului selectat:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /mediaPuteți folosi acest instrument pentru a determina, de exemplu, care fișiere ocupă cel mai mult spațiu pe disc. Puteți reveni la directorul anterior apăsând tasta săgeată stânga. Cu ncdu puteți șterge fișiere apăsând tasta d. Înainte de a șterge, acesta cere confirmarea. Dacă doriți să dezactivați funcția de ștergere pentru a preveni pierderea accidentală a fișierelor valoroase, folosiți opțiunea -r pentru a activa modul de citire: ncdu -r.
Ncdu este disponibil pentru multe platforme și distribuții Linux. De exemplu, puteți utiliza dnf pentru a-l instala pe Fedora direct din depozitele oficiale:
$ sudo dnf install ncdu2. htop versus top
— este un utilitar interactiv pentru vizualizarea proceselor, similar cu top, dar oferind o interfață mai plăcută implicit. În mod implicit, htop afișează aceeași informație ca top, dar într-o formă mai ușor de interpretat și mai colorată.
În mod implicit, htop arată așa:

Spre deosebire de top:

În plus, în partea de sus a htop este afișată informația de ansamblu a sistemului, iar în partea de jos există un panou pentru a lansa comenzi cu ajutorul tastelor funcționale. Puteți să-l personalizați apăsând F2 pentru a deschide ecranul de configurare. În setări, puteți schimba culorile, adăuga sau elimina metrici sau modifica opțiunile de afișare a panoului de ansamblu.
Deși, cu ultimele versiuni ale top, prin configurare se poate obține o utilizabilitate similară, htop oferă configurații implicite convenabile, ceea ce îl face mai practic și mai ușor de utilizat.
3. tldr versus man
Instrumentul de linie de comandă tldr afișează informații de referință simplificate despre comenzi, în principal exemple. A fost dezvoltat de comunitate .
Este important de menționat că tldr nu este un substitut pentru man. Acesta rămâne instrumentul canonic și cel mai complet pentru a genera pagini de documentație. Cu toate acestea, în anumite cazuri, man devine redundant. Atunci când nu aveți nevoie de informații exhaustive despre un anumit comandă, încercați doar să rețineți opțiunile de bază ale utilizării sale. De exemplu, pagina man pentru comanda curl are aproape 3000 de linii. Pagina tldr pentru curl are 40 de linii. Un fragment arată astfel:
$ tldr curl
# curl
Transferă date către sau de la un server.
Suportă cele mai multe protocoale, inclusiv HTTP, FTP și POP3.
Mai multe informații: .
- Descarcă conținutul unui URL într-un fișier:
curl http://example.com -o filename
- Descarcă un fișier, salvând outputul sub numele de fișier indicat de URL:
curl -O http://example.com/filename
- Descarcă un fișier, urmând redirecționările [L]ocației și continuând automat (reluând) o transferare anterioră a fișierului:
curl -O -L -C - http://example.com/filename
- Trimite date codificate în formular (cerere POST de tip `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Trimite o cerere cu un header suplimentar, folosind o metodă HTTP personalizată:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Trimite date în format JSON, specificând headerul corespunzător de tip content:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... OUTPUT TRUNCATTLDR înseamnă „prea lung; nu am citit”: adică, un anumit text a fost ignorat din cauza prolixității sale excesive. Numele se potrivește acestui instrument, deoarece paginile man, deși utile, sunt uneori prea lungi.
Pentru Fedora, tldr a fost scris în Python. Îl puteți instala folosind managerul de pachete dnf. De obicei, instrumentul necesită acces la internet. Dar clientul Python în Fedora permite descărcarea și stocarea acestor pagini pentru acces offline.
4. jq vs sed/grep
jq este un procesor JSON pentru linia de comandă. Este similar cu sed sau grep, dar special conceput pentru a lucra cu date în format JSON. Dacă sunteți dezvoltator sau administrator de sistem care folosește JSON în sarcinile zilnice, acest instrument este pentru dumneavoastră.
Principala avantaj jq față de instrumentele standard de procesare a textului, cum ar fi grep și sed, este că acesta înțelege structura datelor JSON, permițând crearea de interogări complexe într-o singură expresie.
De exemplu, încercați să găsiți titlurile containerelor în acest fișier 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"
}
}Rulați grep pentru a căuta linia name:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",grep a returnat toate liniile care conțin cuvântul name. Puteți adăuga câteva opțiuni suplimentare în grep pentru a-l restrânge și, prin manipularea expresiilor regulate, pentru a găsi numele containerelor.
Pentru a obține același rezultat cu jq, trebuie doar să scrieți:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"Această comandă vă va da numele ambelor containere. Dacă căutați doar numele celui de-al doilea container, adăugați indicele elementului din array în expresie:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"Deoarece jq cunoaște structura datelor, el oferă aceleași rezultate, chiar dacă formatul fișierului este ușor modificat. grep și sed în acest caz pot funcționa incorect.
jq are multe funcții, dar descrierea lor necesită un alt articol. Pentru informații suplimentare, consultați jq sau tldr.
5. fd vs find
— este o alternativă simplificată la utilitarul find. Fd nu este destinat să o înlocuiască complet: are setările cele mai frecvent utilizate presetate, definind abordarea generală de lucru cu fișiere.
De exemplu, când căutați fișiere în directorul unui depozit Git, fd exclude automat fișierele și subdirectoarele ascunse, inclusiv directorul .git, și, de asemenea, ignoră modelele din fișierul .gitignore. În general, acesta accelerează căutarea, oferind rezultate mai relevante din prima tentativă.
În mod implicit, fd efectuează căutarea fără a lua în considerare literele mari sau mici în directorul curent cu ieșire colorată. Aceeași căutare folosind comanda find necesită introducerea unor opțiuni suplimentare în linia de comandă. De exemplu, pentru a găsi toate fișierele .md (sau .MD) în directorul curent, trebuie să scrieți următoarea comandă find:
$ find . -iname "*.md"Pentru fd, aceasta arată astfel:
$ fd .mdDar în unele cazuri, fd necesită și opțiuni suplimentare: de exemplu, dacă doriți să includeți fișierele și directoarele ascunse, trebuie să folosiți opțiunea -H, deși de obicei aceasta nu este necesară în căutare.
fd este disponibil pentru multe distribuții Linux. În Fedora, acesta poate fi instalat astfel:
$ sudo dnf install fd-findNu este necesar să renunți la ceva
Folosești instrumente noi din linia de comandă Linux? Sau rămâi exclusiv pe cele vechi? Dar cel mai probabil ai un mix, nu-i așa? Te rugăm să împărtășești experiența ta în comentarii.
În numele publicității
Mulți dintre clienții noștri au apreciat deja avantajele serverelor epice!
Aceasta , frecvența nucleului CPU de până la 3.4 GHz. Configurația maximă te va dezvălui complet — 128 de nuclee CPU, 512 GB RAM, 4000 GB NVMe. Grăbește-te să comanzi!
Sursa: habr.com
