5 sodobnih alternativ starim orodjem ukazne vrstice Linux

Z uporabo sodobnejših alternativ poleg starejših orodij ukazne vrstice se lahko bolj zabavate in celo izboljšate svojo produktivnost.

5 sodobnih alternativ starim orodjem ukazne vrstice Linux

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) je podoben du, vendar z interaktivnim vmesnikom, ki temelji na knjižnici curses. ncdu prikaže strukturo imenika, ki zavzame večino vašega prostora na disku.

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

htop je interaktivni pregledovalnik procesov, podoben top-u, vendar takoj po izdelavi zagotavlja lepo uporabniško izkušnjo. Htop privzeto prikazuje iste informacije kot top, vendar na bolj vizualni in barvit način.

Privzeto je htop videti takole:

5 sodobnih alternativ starim orodjem ukazne vrstice Linux
Za razliko od vrha:

5 sodobnih alternativ starim orodjem ukazne vrstice Linux
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 tldr pages projekt.

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 stran projekta jq ali na tldr.

5. fd vs find

fd je poenostavljena alternativa pripomočku za iskanje. Fd ga ne namerava popolnoma nadomestiti: ima privzeto nameščene najpogostejše nastavitve, ki določajo splošen pristop k delu z datotekami.

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 virtualni strežniki s procesorji AMD EPYC, Frekvenca jedra procesorja do 3.4 GHz. Največja konfiguracija vam bo omogočila uživanje - 128 procesorskih jeder, 512 GB RAM-a, 4000 GB NVMe. Pohitite z naročilom!

5 sodobnih alternativ starim orodjem ukazne vrstice Linux

Vir: www.habr.com

Dodaj komentar