5 Modernaj Alternativoj al Malnovaj Linuksaj Komandliniaj Iloj

Uzante pli modernajn alternativojn kune kun pli malnovaj komandliniaj iloj, vi povas amuziĝi kaj eĉ plibonigi vian produktivecon.

5 Modernaj Alternativoj al Malnovaj Linuksaj Komandliniaj Iloj

En nia ĉiutaga laboro en Linukso/Unikso, ni uzas multajn komandliniajn ilojn - ekzemple por kontroli la uzadon de disko kaj sistemajn rimedojn. Iuj el ĉi tiuj iloj ekzistas delonge. Ekzemple, top aperis en 1984, kaj la unua eldono de du devenas de 1971.

Tra la jaroj, ĉi tiuj iloj estis modernigitaj kaj portitaj al malsamaj sistemoj, sed ĝenerale ili ne malproksimiĝis de siaj unuaj versioj, ilia aspekto kaj uzebleco ankaŭ ne multe ŝanĝiĝis.

Ĉi tiuj estas bonegaj iloj, kiujn multaj sistemaj administrantoj bezonas. Tamen, la komunumo evoluigis alternativajn ilojn kiuj ofertas pliajn avantaĝojn. Kelkaj el ili simple havas modernan, belan interfacon, dum aliaj multe plibonigas uzeblecon. En ĉi tiu traduko, ni parolos pri kvin alternativoj al normaj Linuksaj komandliniaj iloj.

1. ncdu vs du

NCurses Diska Uzado (ncdu) similas al du, sed kun interaga interfaco bazita sur la biblioteko de malbenoj. ncdu montras la dosierujon, kiu okupas la plej grandan parton de via diskospaco.

ncdu analizas la diskon kaj poste montras la rezultojn ordigitajn laŭ la plej ofte uzataj dosierujoj aŭ dosieroj, ekzemple:

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

Vi povas navigi tra la enskriboj per la sagoklavoj. Se vi premas Enter, ncdu montros la enhavon de la elektita dosierujo:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Vi povas uzi ĉi tiun ilon por, ekzemple, determini, kiuj dosieroj okupas la plej grandan spacon en disko. Vi povas iri al la antaŭa dosierujo premante la maldekstran sagoklavon. Kun ncdu vi povas forigi dosierojn premante la d-klavon. Ĝi petas konfirmon antaŭ ol forigi. Se vi volas malŝalti la forigon por malhelpi hazardan perdon de valoraj dosieroj, uzu la opcion -r por ebligi nurlegeblan reĝimon: ncdu -r.

ncdu estas disponebla por multaj Linukso-platformoj kaj distribuoj. Ekzemple, vi povas uzi dnf por instali ĝin sur Fedora rekte de la oficialaj deponejoj:

$ sudo dnf install ncdu

2. htop vs supro

htop estas interaga procezrigardilo simila al supro, sed el la skatolo ĝi provizas belan uzantan sperton. Defaŭlte, htop montras la samajn informojn kiel top, sed en pli vida kaj bunta maniero.

Defaŭlte htop aspektas jene:

5 Modernaj Alternativoj al Malnovaj Linuksaj Komandliniaj Iloj
Male al supro:

5 Modernaj Alternativoj al Malnovaj Linuksaj Komandliniaj Iloj
Krome, htop montras superrigardajn informojn pri la sistemo ĉe la supro, kaj panelon por ruli komandojn uzante funkcioklavojn malsupre. Vi povas agordi ĝin premante F2 por malfermi la agordan ekranon. En Agordoj, vi povas ŝanĝi kolorojn, aldoni aŭ forigi metrikojn aŭ ŝanĝi la opciojn de ekrano de superrigardo de la panelo.

Kvankam vi povas atingi similan uzeblecon tajlante la agordojn de la plej novaj versioj de top, htop disponigas oportunajn defaŭltajn agordojn, kio faras ĝin pli praktika kaj pli facila uzi.

3. tldr vs viro

La ilo de komandlinio tldr montras simpligitajn helpajn informojn pri komandoj, plejparte ekzemplojn. Ĝi estis evoluigita de la komunumo tldr-paĝoj projekto.

Indas noti, ke tldr ne estas anstataŭaĵo por homo. Ĝi ankoraŭ estas la kanona kaj plej ampleksa manpaĝa eligo-ilo. Tamen, en kelkaj kazoj la homo estas superflua. Kiam vi ne bezonas ampleksajn informojn pri komando, vi nur provas memori ĝiajn bazajn uzojn. Ekzemple, la manpaĝo por la bukla komando enhavas preskaŭ 3000 liniojn. La tldr-paĝo por buklo longas 40 liniojn. Ĝia fragmento aspektas jene:


$ 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 signifas "tro longa; ne legis": tio estas, ia teksto estis ignorita pro ĝia troa vorteco. La nomo taŭgas por ĉi tiu ilo ĉar la manpaĝoj, kvankam utilaj, foje povas esti tro longaj.

Por Fedora, tldr estis skribita en Python. Vi povas instali ĝin per dnf-manaĝero. Tipe, la ilo postulas retaliron por funkcii. Sed la Python-kliento de Fedora permesas elŝuti kaj konservi ĉi tiujn paĝojn por eksterreta aliro.

4.jq vs sed/grep

jq estas JSON-procesoro por la komandlinio. Ĝi similas al sed aŭ grep, sed estas specife desegnita por labori kun JSON-datumoj. Se vi estas programisto aŭ sistemadministranto, kiu uzas JSON en ĉiutagaj taskoj, ĉi tiu estas la ilo por vi.

La ĉefa avantaĝo de jq super normaj tekstprilaboraj iloj kiel grep kaj sed estas ke ĝi komprenas la JSON-datumstrukturon, ebligante vin krei kompleksajn demandojn en ununura esprimo.

Ekzemple, vi provas trovi ujajn nomojn en ĉi tiu JSON-dosiero:

{
  "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"
  }
}

Rulu grep por trovi la ĉennomon:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep resendis ĉiujn liniojn enhavantajn la vorton nomo. Vi povas aldoni kelkajn pliajn eblojn al grep por limigi ĝin, kaj uzi iun regulan esprimon manipuladon por trovi la ujajn nomojn.

Por akiri la saman rezulton uzante jq, simple skribu:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Ĉi tiu komando donos al vi la nomojn de ambaŭ ujoj. Se vi serĉas nur la nomon de la dua ujo, aldonu la indekson de la tabelelemento al la esprimo:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Ĉar jq scias pri la datumstrukturo, ĝi produktas la samajn rezultojn eĉ se la dosierformato iomete ŝanĝiĝas. grep kaj sed eble ne funkcias ĝuste en ĉi tiu kazo.

jq havas multajn funkciojn, sed necesas alia artikolo por priskribi ilin. Por pliaj informoj bonvolu kontakti projekto paĝo jq aŭ al tldr.

5. fd vs trovi

fd estas simpligita alternativo al la trovi ilo. Fd ne intencas anstataŭigi ĝin tute: ĝi havas la plej oftajn agordojn instalitajn defaŭlte, difinante la ĝeneralan aliron por labori kun dosieroj.

Ekzemple, serĉante dosierojn en dosierujo de Git, fd aŭtomate ekskludas kaŝitajn dosierojn kaj subdosierujojn, inkluzive de la dosierujo .git, kaj ankaŭ ignoras ĵokerojn de la dosiero .gitignore. Ĝenerale, ĝi akcelas serĉojn resendante pli rilatajn rezultojn je la unua provo.

Defaŭlte, fd faras serĉon malsentema en la nuna dosierujo, kun kolora eligo. La sama serĉo uzante la komandon find postulas enigi pliajn parametrojn sur la komandlinio. Ekzemple, por trovi ĉiujn .md (aŭ .MD) dosierojn en la nuna dosierujo, vi skribus find komandon jene:

$ find . -iname "*.md"

Por fd ĝi aspektas jene:

$ fd .md

Sed en iuj kazoj, fd ankaŭ postulas pliajn opciojn: ekzemple, se vi volas inkluzivi kaŝitajn dosierojn kaj dosierujojn, vi devas uzi la opcion -H, kvankam ĉi tio kutime ne estas postulata dum serĉado.

fd disponeblas por multaj Linukso-distribuoj. En Fedora ĝi povas esti instalita tiel:

$ sudo dnf install fd-find

Vi ne devas rezigni ion ajn

Ĉu vi uzas la novajn Linuksajn komandliniajn ilojn? Aŭ ĉu vi sidas ekskluzive sur la malnovaj? Sed plej verŝajne vi havas kombon, ĉu ne? Bonvolu dividi vian sperton en la komentoj.

Pri la Rajtoj de Reklamado

Multaj el niaj klientoj jam aprezis la avantaĝojn epopeaj serviloj!
ĉi virtualaj serviloj kun AMD EPYC-procesoroj, CPU-kernfrekvenco ĝis 3.4 GHz. La maksimuma agordo permesos al vi havi eksplodon - 128 CPU-kernoj, 512 GB RAM, 4000 GB NVMe. Rapidu mendi!

5 Modernaj Alternativoj al Malnovaj Linuksaj Komandliniaj Iloj

fonto: www.habr.com

Aldoni komenton