Njia 5 Mbadala za Zana za Mstari wa Amri za Kale za Linux

Kwa kutumia njia mbadala za kisasa zaidi pamoja na zana za zamani za mstari wa amri, unaweza kujifurahisha zaidi na hata kuboresha tija yako.

Njia 5 Mbadala za Zana za Mstari wa Amri za Kale za Linux

Katika kazi yetu ya kila siku kwenye Linux/Unix, tunatumia zana nyingi za mstari wa amri - kwa mfano, du kufuatilia matumizi ya diski na rasilimali za mfumo. Baadhi ya zana hizi zimekuwepo kwa muda mrefu. Kwa mfano, top ilionekana mnamo 1984, na toleo la kwanza la du lilianzia 1971.

Kwa miaka mingi, zana hizi zimekuwa za kisasa na zimewekwa kwa mifumo tofauti, lakini kwa ujumla hawajahamia mbali na matoleo yao ya kwanza, kuonekana kwao na utumiaji pia haujabadilika sana.

Hizi ni zana nzuri ambazo wasimamizi wengi wa mfumo wanahitaji. Hata hivyo, jumuiya imeunda zana mbadala zinazotoa manufaa ya ziada. Baadhi yao wana kiolesura cha kisasa, kizuri, wakati wengine huboresha sana usability. Katika tafsiri hii, tutazungumza kuhusu njia tano mbadala za zana za mstari wa amri za Linux.

1. ncdu vs du

NCurses Disk Matumizi (ncdu) ni sawa na du, lakini kwa kiolesura shirikishi kulingana na maktaba ya laana. ncdu inaonyesha muundo wa saraka ambayo inachukua nafasi kubwa ya diski yako.

ncdu huchambua diski na kisha kuonyesha matokeo yaliyopangwa na saraka au faili zinazotumiwa mara nyingi, kwa mfano:

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

Unaweza kupitia maingizo kwa kutumia vitufe vya vishale. Ukibonyeza Enter, ncdu itaonyesha yaliyomo kwenye saraka iliyochaguliwa:

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

Unaweza kutumia zana hii, kwa mfano, kuamua ni faili gani zinazochukua nafasi kubwa ya diski. Unaweza kwenda kwenye saraka iliyotangulia kwa kubonyeza kitufe cha mshale wa kushoto. Na ncdu unaweza kufuta faili kwa kubonyeza kitufe cha d. Inauliza uthibitisho kabla ya kufuta. Ikiwa ungependa kuzima kipengele cha kufuta ili kuzuia upotevu wa kimakosa wa faili muhimu, tumia chaguo la -r ili kuwezesha hali ya ufikiaji wa kusoma pekee: ncdu -r.

ncdu inapatikana kwa majukwaa mengi ya Linux na usambazaji. Kwa mfano, unaweza kutumia dnf kuisanikisha kwenye Fedora moja kwa moja kutoka kwa hazina rasmi:

$ sudo dnf install ncdu

2. htop dhidi ya juu

Juu ni kitazamaji cha mchakato unaoingiliana sawa na juu, lakini nje ya kisanduku hutoa uzoefu mzuri wa mtumiaji. Kwa chaguo-msingi, htop huonyesha maelezo sawa na ya juu, lakini kwa njia inayoonekana zaidi na ya rangi.

Kwa chaguo-msingi htop inaonekana kama hii:

Njia 5 Mbadala za Zana za Mstari wa Amri za Kale za Linux
Tofauti na juu:

Njia 5 Mbadala za Zana za Mstari wa Amri za Kale za Linux
Kwa kuongeza, htop inaonyesha maelezo ya muhtasari kuhusu mfumo ulio juu, na jopo la kuendesha amri kwa kutumia funguo za kazi chini. Unaweza kuisanidi kwa kubonyeza F2 ili kufungua skrini ya usanidi. Katika Mipangilio, unaweza kubadilisha rangi, kuongeza au kuondoa vipimo, au kubadilisha chaguo za kuonyesha kidirisha cha muhtasari.

Ingawa unaweza kufikia utumiaji sawa kwa kubadilisha mipangilio ya matoleo ya hivi karibuni ya top, htop hutoa usanidi chaguo-msingi rahisi, ambayo inafanya kuwa ya vitendo zaidi na rahisi kutumia.

3. tldr dhidi ya mtu

Zana ya mstari wa amri ya tldr huonyesha maelezo ya usaidizi yaliyorahisishwa kuhusu amri, hasa mifano. Ilitengenezwa na jamii mradi wa kurasa za tldr.

Inafaa kuzingatia kuwa tldr sio mbadala wa mwanadamu. Bado ni zana ya kisheria na pana zaidi ya kutoa ukurasa wa mwanadamu. Hata hivyo, katika baadhi ya matukio binadamu ni redundant. Wakati hauitaji habari kamili juu ya amri, unajaribu tu kukumbuka matumizi yake ya kimsingi. Kwa mfano, ukurasa wa mtu wa amri ya curl una karibu mistari 3000. Ukurasa wa tldr wa curl una urefu wa mistari 40. Sehemu yake inaonekana kama hii:


$ 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 maana yake ni β€œmuda mrefu sana; hawakusoma": yaani, maandishi fulani yalipuuzwa kwa sababu ya vitenzi vyake vingi. Jina linafaa kwa zana hii kwa sababu kurasa za mtu, ingawa ni muhimu, wakati mwingine zinaweza kuwa ndefu sana.

Kwa Fedora, tldr iliandikwa kwa Python. Unaweza kuisanikisha kwa kutumia dnf manager. Kwa kawaida, chombo kinahitaji upatikanaji wa mtandao ili kufanya kazi. Lakini mteja wa Python wa Fedora huruhusu kurasa hizi kupakuliwa na kuhifadhiwa kwa ufikiaji wa nje ya mkondo.

4.jq dhidi ya sed/grep

jq ni kichakataji cha JSON cha safu ya amri. Ni sawa na sed au grep, lakini imeundwa mahsusi kufanya kazi na data ya JSON. Ikiwa wewe ni msanidi programu au msimamizi wa mfumo ambaye hutumia JSON katika kazi za kila siku, hiki ndicho chombo chako.

Faida kuu ya jq juu ya zana za kawaida za usindikaji wa maandishi kama vile grep na sed ni kwamba inaelewa muundo wa data wa JSON, hukuruhusu kuunda maswali changamano kwa usemi mmoja.

Kwa mfano, unajaribu kutafuta majina ya kontena katika faili hii ya 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"
  }
}

Endesha grep kupata jina la kamba:

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

grep ilirudisha mistari yote iliyo na jina la neno. Unaweza kuongeza vigezo vichache zaidi kwa grep ili kuizuia, na kwa udanganyifu wa kawaida wa kujieleza pata majina ya kontena.

Ili kupata matokeo sawa kwa kutumia jq, andika tu:

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

Amri hii itakupa majina ya vyombo vyote viwili. Ikiwa unatafuta tu jina la kontena la pili, ongeza faharisi ya safu ya safu kwenye usemi:

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

Kwa kuwa jq inajua juu ya muundo wa data, hutoa matokeo sawa hata ikiwa umbizo la faili linabadilika kidogo. grep na sed inaweza kufanya kazi kwa usahihi katika kesi hii.

jq ina kazi nyingi, lakini kifungu kingine kinahitajika kuzielezea. Kwa habari zaidi tafadhali wasiliana ukurasa wa mradi jq au kwa tldr.

5. fd dhidi ya kupata

fd ni mbadala iliyorahisishwa kwa matumizi ya kupata. Fd haikusudiwa kuibadilisha kabisa: ina mipangilio ya kawaida iliyowekwa na chaguo-msingi, ikifafanua mbinu ya jumla ya kufanya kazi na faili.

Kwa mfano, unapotafuta faili katika saraka ya hazina ya Git, fd hutenga kiotomatiki faili zilizofichwa na saraka ndogo, ikiwa ni pamoja na saraka ya .git, na pia hupuuza kadi-mwitu kutoka kwa faili ya .gitignore. Kwa ujumla, inaharakisha utafutaji kwa kurudisha matokeo muhimu zaidi kwenye jaribio la kwanza.

Kwa chaguo-msingi, fd hufanya utafutaji usiojali kesi katika saraka ya sasa, na matokeo ya rangi. Utafutaji sawa kwa kutumia amri ya kupata unahitaji kuingiza vigezo vya ziada kwenye mstari wa amri. Kwa mfano, ili kupata faili zote za .md (au .MD) katika saraka ya sasa, ungeandika amri ya kupata kama hii:

$ find . -iname "*.md"

Kwa fd inaonekana kama hii:

$ fd .md

Lakini katika hali zingine, fd pia inahitaji chaguzi za ziada: kwa mfano, ikiwa unataka kujumuisha faili zilizofichwa na saraka, lazima utumie -H chaguo, ingawa hii kawaida haihitajiki wakati wa kutafuta.

fd inapatikana kwa usambazaji wengi wa Linux. Katika Fedora inaweza kusanikishwa kama hii:

$ sudo dnf install fd-find

Huna budi kuacha chochote

Je, unatumia zana mpya za mstari wa amri za Linux? Au unakaa pekee kwenye zile za zamani? Lakini uwezekano mkubwa una combo, sawa? Tafadhali shiriki uzoefu wako katika maoni.

Haki za Matangazo

Wateja wetu wengi tayari wamethamini faida seva za epic!
Ni seva pepe zilizo na vichakataji vya AMD EPYC, mzunguko wa msingi wa CPU hadi 3.4 GHz. Configuration ya juu itawawezesha kuwa na mlipuko - cores 128 CPU, 512 GB RAM, 4000 GB NVMe. Haraka ili kuagiza!

Njia 5 Mbadala za Zana za Mstari wa Amri za Kale za Linux

Chanzo: mapenzi.com

Kuongeza maoni