5 kaasaegset alternatiivi vanadele Linuxi käsurea tööriistadele

Kasutades vanemate käsureatööriistade kõrval kaasaegsemaid alternatiive, saate lõbutseda ja isegi parandada oma tootlikkust.

5 kaasaegset alternatiivi vanadele Linuxi käsurea tööriistadele

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) on sarnane du-ga, kuid interaktiivse liidesega, mis põhineb needuste teegil. ncdu kuvab kataloogistruktuuri, mis võtab suurema osa teie kettaruumist.

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

htop on interaktiivne protsessivaatur, mis sarnaneb topiga, kuid pakub karbist välja võttes kena kasutajakogemust. Vaikimisi kuvab htop sama teavet, mis top, kuid visuaalsemal ja värvilisemal viisil.

Vaikimisi näeb htop välja selline:

5 kaasaegset alternatiivi vanadele Linuxi käsurea tööriistadele
Erinevalt ülaosast:

5 kaasaegset alternatiivi vanadele Linuxi käsurea tööriistadele
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 tldr lehtede projekt.

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 projekti leht jq või tldr.

5. fd vs leida

fd on leidmise utiliidi lihtsustatud alternatiiv. Fd ei ole mõeldud seda täielikult asendama: sellesse on vaikimisi installitud kõige tavalisemad sätted, mis määratlevad üldise lähenemisviisi failidega töötamisele.

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 AMD EPYC protsessoritega virtuaalserverid, CPU tuuma sagedus kuni 3.4 GHz. Maksimaalne konfiguratsioon võimaldab teil lõhkeda - 128 protsessorituuma, 512 GB muutmälu, 4000 GB NVMe. Kiirusta tellima!

5 kaasaegset alternatiivi vanadele Linuxi käsurea tööriistadele

Allikas: www.habr.com

Lisa kommentaar