Izindlela Ezi-5 Zesimanje Zamathuluzi E-Old Linux Command Line

Ngokusebenzisa ezinye izindlela zesimanjemanje eduze kwamathuluzi amadala womugqa womyalo, ungajabula kakhulu futhi uthuthukise ukukhiqiza kwakho.

Izindlela Ezi-5 Zesimanje Zamathuluzi E-Old Linux Command Line

Emsebenzini wethu wansuku zonke ku-Linux/Unix, sisebenzisa amathuluzi amaningi omugqa womyalo - isibonelo, i-du ukuqapha ukusetshenziswa kwediski nezinsiza zesistimu. Amanye ala mathuluzi kade ekhona. Isibonelo, phezulu kwavela ngo-1984, futhi ukukhishwa kokuqala kwe-du kuhlehlela emuva ku-1971.

Ngokuhamba kweminyaka, lawa mathuluzi enziwe esimanjemanje futhi athuthelwa ezinhlelweni ezihlukene, kodwa ngokuvamile awazange asuke kude nezinguqulo zawo zokuqala, ukubukeka kwawo nokusebenziseka kwawo nakho akushintshile kakhulu.

Lawa ngamathuluzi amahle adingwa abalawuli bohlelo abaningi. Nokho, umphakathi wenze amanye amathuluzi anikeza izinzuzo ezengeziwe. Ezinye zazo zimane zine-interface yesimanje, enhle, kanti ezinye zithuthukisa kakhulu ukusebenziseka. Kulokhu kuhumusha, sizokhuluma ngezinye izindlela ezinhlanu kumathuluzi omugqa womyalo we-Linux ajwayelekile.

1. ncdu vs du

I-NCurses Disk Ukusetshenziswa (ncdu) ifana ne-du, kodwa inokusebenzelana okusekelwe kulabhulali yeziqalekiso. I-ncdu ibonisa ukwakheka kohla lwemibhalo oluthatha iningi lesikhala sakho sediski.

ncdu ihlaziya idiski bese ikhombisa imiphumela ehlungwe ngezinkomba noma amafayela asetshenziswa kakhulu, isibonelo:

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

Ungazulazula kokufakiwe usebenzisa okhiye bemicibisholo. Uma ucindezela u-Enter, i-ncdu izobonisa okuqukethwe kohlu olukhethiwe:

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

Ungasebenzisa leli thuluzi ukuze, isibonelo, unqume ukuthi yimaphi amafayela athatha isikhala sediski kakhulu. Ungaya kuhla lwemibhalo lwangaphambilini ngokucindezela ukhiye womcibisholo wesokunxele. Nge-ncdu ungasusa amafayela ngokucindezela inkinobho ethi d. Icela ukuqinisekiswa ngaphambi kokususa. Uma ufuna ukukhubaza isici sokususa ukuze uvimbele ukulahlekelwa ngephutha kwamafayela abalulekile, sebenzisa inketho ethi -r ukuze unike amandla imodi yokufinyelela yokufunda kuphela: ncdu -r.

I-ncdu iyatholakala kumapulatifomu amaningi we-Linux nokusabalalisa. Isibonelo, ungasebenzisa i-dnf ukuyifaka ku-Fedora ngqo kusuka kumakhosombe asemthethweni:

$ sudo dnf install ncdu

2. i-htop vs phezulu

IHtop iyisibukeli senqubo esisebenzisanayo esifana nephezulu, kodwa ngaphandle kwebhokisi sinikeza ulwazi oluhle lomsebenzisi. Ngokuzenzakalelayo, i-htop ibonisa ulwazi olufanayo noluphezulu, kodwa ngendlela ebonakalayo nenemibala eminingi.

Ngokuzenzakalelayo i-htop ibonakala kanje:

Izindlela Ezi-5 Zesimanje Zamathuluzi E-Old Linux Command Line
Ngokungafani phezulu:

Izindlela Ezi-5 Zesimanje Zamathuluzi E-Old Linux Command Line
Ukwengeza, i-htop ibonisa ulwazi lokubuka konke mayelana nesistimu phezulu, kanye nephaneli yokusebenzisa imiyalo kusetshenziswa izinkinobho zokusebenza ezansi. Ungayimisa ngokucindezela okuthi F2 ukuze uvule isikrini sokumisa. Kumasethingi, ungakwazi ukushintsha imibala, wengeze noma ususe amamethrikhi, noma ushintshe izinketho zokubonisa zephaneli yokubuka konke.

Nakuba ungakwazi ukuzuza ukusebenziseka okufanayo ngokulungisa izilungiselelo zezinguqulo zakamuva ze-top, i-htop inikeza ukucushwa okuzenzakalelayo okulula, okwenza kube lula futhi kube lula ukukusebenzisa.

3. tldr vs indoda

Ithuluzi lomugqa womyalo we-tldr libonisa ulwazi losizo olwenziwe lula mayelana nemiyalo, ikakhulukazi izibonelo. Yathuthukiswa umphakathi iphrojekthi yamakhasi we-tldr.

Kuyaqapheleka ukuthi i-tldr ayithatheli umuntu. Kuseyithuluzi lokuphuma kwekhasi lomuntu elisemthethweni neliphelele. Nokho, kwezinye izimo umuntu akanamandla. Uma ungadingi ulwazi olubanzi mayelana nomyalo, uzama nje ukukhumbula ukusetshenziswa kwawo okuyisisekelo. Isibonelo, ikhasi lendoda lomyalo we-curl liqukethe cishe imigqa engu-3000. Ikhasi le-tldr lokugoqa linemigqa engama-40 ubude. Isiqephu salo sibukeka kanje:


$ 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

I-TLDR isho ukuthi β€œinde kakhulu; akazange afunde": okusho ukuthi, omunye umbhalo awuzange uzitshwe ngenxa yegama-zwi lawo elidlulele. Igama lifanele leli thuluzi ngoba amakhasi wesilisa, nakuba ewusizo, ngezinye izikhathi angaba made kakhulu.

Ku-Fedora, i-tldr yabhalwa nge-Python. Ungayifaka usebenzisa umphathi we-dnf. Ngokuvamile, ithuluzi lidinga ukufinyelela kwe-inthanethi ukuze lisebenze. Kodwa iklayenti le-Fedora's Python livumela lawa makhasi ukuthi alandwe futhi agcinwe ukuze afinyelele ungaxhunyiwe ku-inthanethi.

4.jq vs sed/grep

I-jq iyiphrosesa ye-JSON yomugqa womyalo. Ifana ne-sed noma i-grep, kodwa yakhelwe ngokuqondile ukusebenza nedatha ye-JSON. Uma ungunjiniyela noma umlawuli wesistimu osebenzisa i-JSON emisebenzini yansuku zonke, leli ithuluzi lakho.

Inzuzo enkulu ye-jq ngaphezu kwamathuluzi ajwayelekile okucubungula umbhalo njenge-grep ne-sed ukuthi iqonda ukwakheka kwedatha ye-JSON, okukuvumela ukuthi udale imibuzo eyinkimbinkimbi ngendlela eyodwa.

Isibonelo, uzama ukuthola amagama esiqukathi kuleli fayela le-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"
  }
}

Qalisa i-grep ukuze uthole igama leyunithi yezinhlamvu:

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

grep Π²Π΅Ρ€Π½ΡƒΠ» всС строки, содСрТащиС слово name. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² grep, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… манипуляций с рСгулярными выраТСниями Π½Π°ΠΉΡ‚ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

Ukuze uthole umphumela ofanayo usebenzisa i-jq, vele ubhale:

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

Lo myalo uzokunikeza amagama azo zombili iziqukathi. Uma ubheka kuphela igama lesiqukathi sesibili, engeza inkomba yesici samalungu afanayo kunkulumo:

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

Njengoba i-jq yazi ngesakhiwo sedatha, ikhiqiza imiphumela efanayo ngisho noma ifomethi yefayela ishintsha kancane. I-grep ne-sed kungenzeka ingasebenzi kahle kuleli cala.

I-jq inemisebenzi eminingi, kodwa enye indatshana iyadingeka ukuyichaza. Ukuze uthole ulwazi olwengeziwe sicela uthinte ikhasi lephrojekthi jq noma ku-tldr.

5. fd vs ukuthola

fd iyindlela ehlukile eyenziwe lula yokuthola usizo. I-Fd ayihloselwe ukuyishintsha ngokuphelele: inezilungiselelo ezivame kakhulu ezifakwe ngokuzenzakalelayo, ezichaza indlela evamile yokusebenza ngamafayela.

Isibonelo, lapho usesha amafayela kuhla lwemibhalo lwekhosombe le-Git, i-fd ayifaki ngokuzenzakalela amafayela afihliwe nezinhla zemibhalo ezingaphansi, okuhlanganisa uhla lwemibhalo lwe-.git, futhi iyaziba amakhadi asendle asuka kufayela elithi .gitignore. Sekukonke, isheshisa ukusesha ngokubuyisela imiphumela ehlobene kakhulu emzamweni wokuqala.

Ngokuzenzakalelayo, i-fd yenza usesho olungazweli kuhla lwemibhalo lwamanje, olunombala ophumayo. Ukusesha okufanayo usebenzisa umyalo wokuthola kudinga ukufaka imingcele eyengeziwe emugqeni womyalo. Isibonelo, ukuze uthole wonke amafayela e-.md (noma .MD) kuhla lwemibhalo lwamanje, ungabhala umyalo wokuthola onjengalo:

$ find . -iname "*.md"

Ku-fd kubukeka kanje:

$ fd .md

Kodwa kwezinye izimo, i-fd nayo idinga izinketho ezengeziwe: isibonelo, uma ufuna ukufaka amafayela afihliwe nezinkomba, kufanele usebenzise inketho -H, nakuba lokhu ngokuvamile kungadingeki lapho usesha.

fd iyatholakala ngokusatshalaliswa kweLinux okuningi. Ku-Fedora ingafakwa kanje:

$ sudo dnf install fd-find

Akumele uyeke noma yini

Ingabe usebenzisa amathuluzi amasha womugqa womyalo we-Linux? Noma uhlezi kuphela kwezindala? Kodwa kungenzeka ukuthi une-combo, akunjalo? Sicela wabelane ngolwazi lwakho kumazwana.

Emalungelo Wokukhangisa

Iningi lamakhasimende ethu seliyazisile izinzuzo amaseva amaqhawe!
Yilokho amaseva abonakalayo anamaphrosesa we-AMD EPYC, imvamisa ye-CPU core ifika ku-3.4 GHz. Ukucushwa okuphezulu kuzokuvumela ukuthi ube nokuqhuma - 128 CPU cores, 512 GB RAM, 4000 GB NVMe. Shesha uku-oda!

Izindlela Ezi-5 Zesimanje Zamathuluzi E-Old Linux Command Line

Source: www.habr.com

Engeza amazwana