Z uporabo sodobnejših alternativ poleg starejših orodij ukazne vrstice se lahko bolj zabavate in celo izboljšate svojo produktivnost.
Pri vsakodnevnem delu na Linuxu/Unixu uporabljamo številna orodja ukazne vrstice - na primer du za spremljanje uporabe diska in sistemskih virov. Nekatera od teh orodij obstajajo že dolgo časa. Na primer, top se je pojavil leta 1984, prva izdaja du pa sega v leto 1971.
Skozi leta so se ta orodja posodabljala in prenašala na različne sisteme, vendar se na splošno niso premaknila daleč od svojih prvih različic, njihov videz in uporabnost se prav tako nista veliko spremenila.
To so odlična orodja, ki jih potrebujejo mnogi sistemski skrbniki. Vendar je skupnost razvila alternativna orodja, ki ponujajo dodatne ugodnosti. Nekateri od njih imajo preprosto sodoben, lep vmesnik, drugi pa močno izboljšajo uporabnost. V tem prevodu bomo govorili o petih alternativah standardnih orodij ukazne vrstice Linux.
1. ncdu proti du
Uporaba diska NCurses (
ncdu analizira disk in nato prikaže rezultate, razvrščene po najpogosteje uporabljenih imenikih ali datotekah, na primer:
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
Po vnosih se lahko pomikate s puščičnimi tipkami. Če pritisnete Enter, bo ncdu prikazal vsebino izbranega imenika:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
S tem orodjem lahko na primer ugotovite, katere datoteke zavzamejo največ prostora na disku. V prejšnji imenik se lahko pomaknete s pritiskom na levo puščično tipko. Z ncdu lahko datoteke izbrišete s pritiskom na tipko d. Pred brisanjem zahteva potrditev. Če želite onemogočiti funkcijo brisanja, da preprečite nenamerno izgubo dragocenih datotek, uporabite možnost -r, da omogočite način dostopa samo za branje: ncdu -r.
ncdu je na voljo za številne platforme in distribucije Linuxa. Na primer, dnf lahko uporabite za namestitev v Fedoro neposredno iz uradnih skladišč:
$ sudo dnf install ncdu
2. htop proti vrhu
Privzeto je htop videti takole:
Za razliko od vrha:
Poleg tega htop prikazuje pregledne informacije o sistemu na vrhu in ploščo za izvajanje ukazov s funkcijskimi tipkami na dnu. Konfigurirate ga lahko tako, da pritisnete F2, da odprete konfiguracijski zaslon. V nastavitvah lahko spremenite barve, dodate ali odstranite meritve ali spremenite možnosti prikaza pregledne plošče.
Čeprav lahko dosežete podobno uporabnost s prilagajanjem nastavitev najnovejših različic top, htop zagotavlja priročne privzete konfiguracije, zaradi česar je bolj praktičen in lažji za uporabo.
3. tldr proti človeku
Orodje ukazne vrstice tldr prikazuje poenostavljene informacije pomoči o ukazih, večinoma primere. Razvila ga je skupnost
Omeniti velja, da tldr ni nadomestilo za človeka. Še vedno je kanonično in najobsežnejše orodje za izpis strani priročnika. Vendar je v nekaterih primerih človek odveč. Ko ne potrebujete izčrpnih informacij o ukazu, se samo poskušate spomniti njegove osnovne uporabe. Na primer, stran priročnika za ukaz curl vsebuje skoraj 3000 vrstic. Stran tldr za curl je dolga 40 vrstic. Njegov fragment je videti takole:
$ 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 pomeni »predolg; ni prebral«: to pomeni, da je bilo neko besedilo prezrto zaradi pretirane dobesednosti. Ime je primerno za to orodje, ker so lahko strani priročnika, čeprav uporabne, včasih predolge.
Za Fedoro je bil tldr napisan v Pythonu. Lahko ga namestite z dnf managerjem. Običajno orodje za delovanje potrebuje dostop do interneta. Toda odjemalec Fedora Python omogoča prenos teh strani in shranjevanje v predpomnilnik za dostop brez povezave.
4.jq proti sed/grep
jq je procesor JSON za ukazno vrstico. Podoben je sed ali grep, vendar je posebej zasnovan za delo s podatki JSON. Če ste razvijalec ali sistemski skrbnik, ki uporablja JSON pri vsakodnevnih opravilih, je to orodje za vas.
Glavna prednost jq v primerjavi s standardnimi orodji za obdelavo besedila, kot sta grep in sed, je, da razume podatkovno strukturo JSON, kar vam omogoča ustvarjanje kompleksnih poizvedb v enem samem izrazu.
Na primer, poskušate najti imena vsebnikov v tej datoteki 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"
}
}
Zaženite grep, da poiščete ime niza:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep je vrnil vse vrstice, ki vsebujejo besedo ime. Grep lahko dodate še nekaj možnosti, da ga omejite, in uporabite nekaj manipulacij z regularnimi izrazi, da poiščete imena vsebnikov.
Če želite dobiti enak rezultat z uporabo jq, napišite:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Ta ukaz vam bo dal imena obeh vsebnikov. Če iščete samo ime drugega vsebnika, izrazu dodajte indeks elementa matrike:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Ker jq pozna strukturo podatkov, daje enake rezultate, tudi če se format datoteke nekoliko spremeni. grep in sed v tem primeru morda ne bosta delovala pravilno.
jq ima veliko funkcij, vendar je za njihov opis potreben drug članek. Za več informacij kontaktirajte
5. fd vs find
Na primer, pri iskanju datotek v imeniku repozitorija Git fd samodejno izključi skrite datoteke in podimenike, vključno z imenikom .git, ter prezre nadomestne znake iz datoteke .gitignore. Na splošno pospeši iskanje, saj v prvem poskusu vrne ustreznejše rezultate.
Privzeto fd izvaja iskanje v trenutnem imeniku brez upoštevanja velikih in malih črk z barvnim izpisom. Isto iskanje z ukazom find zahteva vnos dodatnih parametrov v ukazno vrstico. Na primer, če želite najti vse datoteke .md (ali .MD) v trenutnem imeniku, bi napisali ukaz za iskanje, kot je ta:
$ find . -iname "*.md"
Za fd izgleda takole:
$ fd .md
Toda v nekaterih primerih fd zahteva tudi dodatne možnosti: na primer, če želite vključiti skrite datoteke in imenike, morate uporabiti možnost -H, čeprav to pri iskanju običajno ni potrebno.
fd je na voljo za številne distribucije Linuxa. V Fedori se lahko namesti takole:
$ sudo dnf install fd-find
Ničemur se ni treba odpovedati
Ali uporabljate nova orodja ukazne vrstice Linux? Ali pa sediš izključno na starih? Toda najverjetneje imate kombinacijo, kajne? Delite svoje izkušnje v komentarjih.
O pravicah oglaševanja
Mnoge naše stranke so že cenile prednosti epski strežniki!
To
Vir: www.habr.com