Kasutades vanemate käsureatööriistade kõrval kaasaegsemaid alternatiive, saate lõbutseda ja isegi parandada oma tootlikkust.
Oma igapäevatöös Linuxi/Unixiga kasutame paljusid käsurea tööriistu – näiteks du, et jälgida ketta kasutamist ja süsteemiressursse. Mõned neist tööriistadest on olnud kasutusel juba pikka aega. Näiteks ilmus top 1984. aastal ja du esimene väljalase pärineb 1971. aastast.
Aastate jooksul on neid tööriistu kaasajastatud ja porteeritud erinevatesse süsteemidesse, kuid üldiselt pole need oma esimestest versioonidest kaugele jõudnud, samuti pole nende välimus ja kasutatavus palju muutunud.
Need on suurepärased tööriistad, mida paljud süsteemiadministraatorid vajavad. Kogukond on aga välja töötanud alternatiivsed tööriistad, mis pakuvad täiendavaid eeliseid. Mõnel neist on lihtsalt kaasaegne ilus liides, teised aga parandavad oluliselt kasutatavust. Selles tõlkes räägime viiest alternatiivist tavalistele Linuxi käsurea tööriistadele.
1. ncdu vs du
NCurses kettakasutus (
ncdu analüüsib ketast ja seejärel kuvab tulemused sordituna kõige sagedamini kasutatavate kataloogide või failide järgi, näiteks:
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
Kirjetes saate liikuda nooleklahvide abil. Kui vajutate sisestusklahvi, kuvab ncdu valitud kataloogi sisu:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Selle tööriista abil saate näiteks määrata, millised failid võtavad kõige rohkem kettaruumi. Eelmisse kataloogi saate liikuda vasaknooleklahvi vajutades. ncdu abil saate faile kustutada, vajutades klahvi d. Enne kustutamist küsib see kinnitust. Kui soovite kustutamisfunktsiooni keelata, et vältida väärtuslike failide juhuslikku kadumist, kasutage kirjutuskaitstud juurdepääsurežiimi lubamiseks suvandit -r: ncdu -r.
ncdu on saadaval paljudele Linuxi platvormidele ja distributsioonidele. Näiteks saate dnfi abil installida selle Fedorasse otse ametlikest hoidlatest:
$ sudo dnf install ncdu
2. htop vs top
Vaikimisi näeb htop välja selline:
Erinevalt ülaosast:
Lisaks kuvab htop ülaosas ülevaateteavet süsteemi kohta ja allosas paneeli funktsiooniklahvide abil käskude käivitamiseks. Saate seda konfigureerida, vajutades konfiguratsiooniekraani avamiseks klahvi F2. Seadetes saate muuta värve, lisada või eemaldada mõõdikuid või muuta ülevaatepaneeli kuvavalikuid.
Ehkki samasuguse kasutatavuse saavutate top-i uusimate versioonide sätteid kohandades, pakub htop mugavaid vaikekonfiguratsioone, mis muudab selle praktilisemaks ja hõlpsamini kasutatavaks.
3. tldr vs mees
Tldr käsurea tööriist kuvab käskude kohta lihtsustatud abiteavet, enamasti näiteid. Selle töötas välja kogukond
Väärib märkimist, et tldr ei asenda inimest. See on endiselt kanooniline ja kõige põhjalikum man-lehe väljundtööriist. Mõnel juhul on inimene aga üleliigne. Kui te ei vaja käsu kohta põhjalikku teavet, proovite lihtsalt meeles pidada selle põhilisi kasutusviise. Näiteks käsku curl man-leht sisaldab peaaegu 3000 rida. Curl-i tldr-leht on 40 rida pikk. Selle fragment näeb välja selline:
$ 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 tähendab "liiga pikk; ei lugenud": see tähendab, et osa tekstist jäeti selle liigse paljusõnalisuse tõttu tähelepanuta. Nimetus on selle tööriista jaoks sobiv, kuna käsilehed, kuigi kasulikud, võivad mõnikord olla liiga pikad.
Fedora jaoks kirjutati tldr Pythonis. Saate selle installida dnf-halduri abil. Tavaliselt vajab tööriist töötamiseks Interneti-juurdepääsu. Kuid Fedora Pythoni klient võimaldab neid lehti võrguühenduseta juurdepääsuks alla laadida ja vahemällu salvestada.
4.jq vs sed/grep
jq on käsurea JSON-protsessor. See sarnaneb sed või grep-iga, kuid on spetsiaalselt loodud JSON-andmetega töötamiseks. Kui olete arendaja või süsteemiadministraator, kes kasutab igapäevatoimingutes JSON-i, on see tööriist teie jaoks.
Jq-i peamine eelis tavaliste tekstitöötlustööriistade (nt grep ja sed) ees on see, et see mõistab JSON-i andmestruktuuri, võimaldades teil luua keerulisi päringuid ühes avaldises.
Näiteks proovite selles JSON-failis leida konteinerite nimesid:
{
"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"
}
}
Stringi nime leidmiseks käivitage grep:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep tagastas kõik read, mis sisaldavad sõna nime. Saate lisada grepile selle piiramiseks veel mõned suvandid ja kasutada konteinerite nimede leidmiseks regulaaravaldistega manipuleerimist.
Sama tulemuse saamiseks jq abil kirjutage lihtsalt:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
See käsk annab teile mõlema konteineri nimed. Kui otsite ainult teise konteineri nime, lisage avaldisele massiivielemendi indeks:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Kuna jq teab andmestruktuuri, annab see samu tulemusi isegi siis, kui failivorming veidi muutub. grep ja sed ei pruugi sel juhul õigesti töötada.
jq-l on palju funktsioone, kuid nende kirjeldamiseks on vaja veel ühte artiklit. Lisateabe saamiseks võtke ühendust
5. fd vs leida
Näiteks Giti hoidla kataloogist failide otsimisel välistab fd automaatselt peidetud failid ja alamkataloogid, sealhulgas .git kataloogi, ning ignoreerib ka faili .gitignore metamärke. Üldiselt kiirendab see otsinguid, tagastades esimesel katsel asjakohasemad tulemused.
Vaikimisi teostab fd värviväljundiga praeguses kataloogis tõstutundlikku otsingut. Sama otsing, kasutades käsku find, nõuab täiendavate parameetrite sisestamist käsureale. Näiteks kõigi .md (või .MD) failide leidmiseks praegusest kataloogist kirjutage selline käsk Find:
$ find . -iname "*.md"
fd puhul näeb see välja selline:
$ fd .md
Kuid mõnel juhul nõuab fd ka lisavõimalusi: näiteks kui soovite lisada peidetud faile ja katalooge, peate kasutama suvandit -H, kuigi tavaliselt pole seda otsimisel vaja.
fd on saadaval paljude Linuxi distributsioonide jaoks. Fedoras saab selle installida järgmiselt:
$ sudo dnf install fd-find
Sa ei pea millestki loobuma
Kas kasutate uusi Linuxi käsurea tööriistu? Või istud eranditult vanade peal? Kuid tõenäoliselt on teil kombinatsioon, eks? Palun jagage oma kogemusi kommentaarides.
Reklaamide õiguste kohta
Paljud meie kliendid on eeliseid juba hinnanud eepilised serverid!
see
Allikas: www.habr.com