5 Alternativa moderne ndaj mjeteve të vjetra të linjës së komandës Linux

Duke përdorur alternativa më moderne së bashku me mjetet më të vjetra të linjës së komandës, mund të argëtoheni më shumë dhe madje të përmirësoni produktivitetin tuaj.

5 Alternativa moderne ndaj mjeteve të vjetra të linjës së komandës Linux

Në punën tonë të përditshme në Linux/Unix, ne përdorim shumë mjete të linjës së komandës - për shembull, për të monitoruar përdorimin e diskut dhe burimet e sistemit. Disa nga këto mjete kanë ekzistuar për një kohë të gjatë. Për shembull, top u shfaq në 1984, dhe publikimi i parë i du daton në 1971.

Me kalimin e viteve, këto mjete janë modernizuar dhe transferuar në sisteme të ndryshme, por në përgjithësi ato nuk kanë lëvizur shumë nga versionet e tyre të para, pamja dhe përdorshmëria e tyre gjithashtu nuk kanë ndryshuar shumë.

Këto janë mjete të shkëlqyera që kanë nevojë për shumë administratorë të sistemit. Megjithatë, komuniteti ka zhvilluar mjete alternative që ofrojnë përfitime shtesë. Disa prej tyre thjesht kanë një ndërfaqe moderne, të bukur, ndërsa të tjerët përmirësojnë shumë përdorshmërinë. Në këtë përkthim, ne do të flasim për pesë alternativa ndaj mjeteve standarde të linjës së komandës Linux.

1. ncdu vs du

Përdorimi i diskut NCurses (ncdu) është e ngjashme me du, por me një ndërfaqe interaktive të bazuar në bibliotekën e mallkimeve. ncdu shfaq strukturën e drejtorisë që zë pjesën më të madhe të hapësirës në disk.

ncdu analizon diskun dhe më pas shfaq rezultatet e renditura sipas drejtorive ose skedarëve më të përdorur, për shembull:

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

Ju mund të lundroni nëpër hyrje duke përdorur tastet e shigjetave. Nëse shtypni Enter, ncdu do të shfaqë përmbajtjen e drejtorisë së zgjedhur:

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

Ju mund ta përdorni këtë mjet, për shembull, për të përcaktuar se cilët skedarë zënë hapësirën më të madhe në disk. Mund të shkoni në drejtorinë e mëparshme duke shtypur tastin e shigjetës së majtë. Me ncdu mund të fshini skedarët duke shtypur tastin d. Kërkon konfirmim përpara fshirjes. Nëse dëshironi të çaktivizoni funksionin e fshirjes për të parandaluar humbjen aksidentale të skedarëve të vlefshëm, përdorni opsionin -r për të aktivizuar modalitetin e aksesit vetëm për lexim: ncdu -r.

ncdu është i disponueshëm për shumë platforma dhe shpërndarje Linux. Për shembull, mund të përdorni dnf për ta instaluar atë në Fedora direkt nga depot zyrtare:

$ sudo dnf install ncdu

2. htop vs top

htop është një shikues procesi interaktiv i ngjashëm me atë të lartë, por jashtë kutisë ofron një përvojë të këndshme të përdoruesit. Si parazgjedhje, htop shfaq të njëjtin informacion si sipër, por në një mënyrë më vizuale dhe me ngjyra.

Si parazgjedhje, htop duket kështu:

5 Alternativa moderne ndaj mjeteve të vjetra të linjës së komandës Linux
Ndryshe nga lart:

5 Alternativa moderne ndaj mjeteve të vjetra të linjës së komandës Linux
Përveç kësaj, htop shfaq informacionin e përgjithshëm të sistemit në krye dhe një panel për ekzekutimin e komandave duke përdorur tastet e funksionit në fund. Mund ta konfiguroni duke shtypur F2 për të hapur ekranin e konfigurimit. Te Cilësimet, mund të ndryshoni ngjyrat, të shtoni ose hiqni metrikat ose të ndryshoni opsionet e ekranit të panelit të përmbledhjes.

Megjithëse mund të arrini përdorshmëri të ngjashme duke ndryshuar cilësimet e versioneve më të fundit të top-it, htop ofron konfigurime të përshtatshme të paracaktuara, gjë që e bën atë më praktik dhe më të lehtë për t'u përdorur.

3. tldr vs njeriu

Mjeti i linjës së komandës tldr shfaq informacione të thjeshtuara të ndihmës rreth komandave, kryesisht shembuj. Ajo u zhvillua nga komuniteti projekti i faqeve tldr.

Vlen të theksohet se tldr nuk është një zëvendësim për njeriun. Është ende mjeti kanonik dhe më gjithëpërfshirës i daljes së faqeve të njeriut. Megjithatë, në disa raste njeriu është i tepërt. Kur nuk keni nevojë për informacion gjithëpërfshirës për një komandë, thjesht po përpiqeni të mbani mend përdorimet e saj themelore. Për shembull, faqja e njeriut për komandën curl përmban pothuajse 3000 rreshta. Faqja tldr për curl është 40 rreshta e gjatë. Fragmenti i tij duket si ky:


$ 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 do të thotë “shumë e gjatë; nuk lexova”: domethënë, një tekst u shpërfill për shkak të fjalës së tepërt. Emri është i përshtatshëm për këtë mjet, sepse faqet e njeriut, megjithëse janë të dobishme, ndonjëherë mund të jenë shumë të gjata.

Për Fedora, tldr ishte shkruar në Python. Mund ta instaloni duke përdorur menaxherin dnf. Në mënyrë tipike, mjeti kërkon qasje në internet për të funksionuar. Por klienti Python i Fedora-s lejon që këto faqe të shkarkohen dhe të ruhen në memorie për qasje offline.

4.jq vs sed/grep

jq është një procesor JSON për linjën e komandës. Është i ngjashëm me sed ose grep, por është krijuar posaçërisht për të punuar me të dhënat JSON. Nëse jeni një zhvillues ose administrator sistemi që përdor JSON në detyrat e përditshme, ky është mjeti për ju.

Avantazhi kryesor i jq ndaj mjeteve standarde të përpunimit të tekstit si grep dhe sed është se ai kupton strukturën e të dhënave JSON, duke ju lejuar të krijoni pyetje komplekse në një shprehje të vetme.

Për shembull, po përpiqeni të gjeni emrat e kontejnerëve në këtë skedar 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"
  }
}

Drejtoni grep për të gjetur emrin e vargut:

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

grep ktheu të gjitha rreshtat që përmbajnë fjalën emër. Mund të shtoni disa opsione të tjera për grep për ta kufizuar atë dhe të përdorni disa manipulime të shprehjeve të rregullta për të gjetur emrat e kontejnerëve.

Për të marrë të njëjtin rezultat duke përdorur jq, thjesht shkruani:

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

Kjo komandë do t'ju japë emrat e të dy kontejnerëve. Nëse po kërkoni vetëm emrin e kontejnerit të dytë, shtoni indeksin e elementit të grupit në shprehjen:

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

Meqenëse jq di për strukturën e të dhënave, prodhon të njëjtat rezultate edhe nëse formati i skedarit ndryshon pak. grep dhe sed mund të mos funksionojnë siç duhet në këtë rast.

jq ka shumë funksione, por nevojitet një artikull tjetër për t'i përshkruar ato. Për më shumë informacion ju lutemi kontaktoni faqe projekti jq ose te tldr.

5. fd vs gjej

fd është një alternativë e thjeshtuar për mjetin find. Fd nuk synon ta zëvendësojë plotësisht: ai ka cilësimet më të zakonshme të instaluara si parazgjedhje, duke përcaktuar qasjen e përgjithshme për të punuar me skedarët.

Për shembull, kur kërkon skedarë në një drejtori të depove Git, fd përjashton automatikisht skedarët dhe nëndrejtoritë e fshehura, duke përfshirë direktorinë .git, dhe gjithashtu injoron shkronjat e egra nga skedari .gitignore. Në përgjithësi, ai përshpejton kërkimet duke kthyer rezultate më të rëndësishme në provën e parë.

Si parazgjedhje, fd kryen një kërkim të pandjeshëm ndaj shkronjave të mëdha në drejtorinë aktuale, me dalje me ngjyra. I njëjti kërkim duke përdorur komandën find kërkon futjen e parametrave shtesë në vijën e komandës. Për shembull, për të gjetur të gjithë skedarët .md (ose .MD) në direktorinë aktuale, do të shkruani një komandë find si kjo:

$ find . -iname "*.md"

Për fd duket kështu:

$ fd .md

Por në disa raste, fd kërkon gjithashtu opsione shtesë: për shembull, nëse dëshironi të përfshini skedarë dhe drejtori të fshehura, duhet të përdorni opsionin -H, megjithëse kjo zakonisht nuk kërkohet kur kërkoni.

fd është i disponueshëm për shumë shpërndarje Linux. Në Fedora mund të instalohet si kjo:

$ sudo dnf install fd-find

Nuk duhet të heqësh dorë nga asgjë

A po përdorni mjetet e reja të linjës së komandës Linux? Apo uleni ekskluzivisht mbi të vjetrat? Por ka shumë të ngjarë që ju të keni një kombinim, apo jo? Ju lutemi ndani përvojën tuaj në komente.

Për të Drejtat e Reklamimit

Shumë nga klientët tanë i kanë vlerësuar tashmë përfitimet serverët epikë!
Ajo serverë virtualë me procesorë AMD EPYC, frekuenca e bërthamës së CPU-së deri në 3.4 GHz. Konfigurimi maksimal do t'ju lejojë të keni një shpërthim - 128 bërthama CPU, 512 GB RAM, 4000 GB NVMe. Nxitoni të porosisni!

5 Alternativa moderne ndaj mjeteve të vjetra të linjës së komandës Linux

Burimi: www.habr.com

Shto një koment