IiNdlela ezi-5 zale mihla kwiZixhobo zoMyalelo weLinux endala

Ngokusebenzisa ezinye iindlela zale mihla kunye nezixhobo zomgca womyalelo omdala, unokonwaba ngakumbi kwaye uphucule imveliso yakho.

IiNdlela ezi-5 zale mihla kwiZixhobo zoMyalelo weLinux endala

Kumsebenzi wethu wemihla ngemihla kwi-Linux/Unix, sisebenzisa izixhobo ezininzi zomgca womyalelo-umzekelo, du ukujonga ukusetyenziswa kwediski kunye nezixhobo zenkqubo. Ezinye zezi zixhobo zinexesha elide zikhona. Ngokomzekelo, phezulu kwavela kwi-1984, kwaye ukukhululwa kokuqala kwe-du kubuyele kwi-1971.

Ukutyhubela iminyaka, ezi zixhobo ziye zaphuculwa kwaye zathunyelwa kwiinkqubo ezahlukeneyo, kodwa ngokubanzi azizange zihambe kude neenguqulelo zazo zokuqala, ukubonakala kwazo kunye nokusetyenziswa kwazo nazo azitshintshanga kakhulu.

Ezi zizixhobo ezikhulu ezifunwa ngabalawuli benkqubo abaninzi. Nangona kunjalo, uluntu luye lwavelisa ezinye izixhobo ezibonelela ngeenzuzo ezongezelelweyo. Ezinye zazo zinonxibelelwano lwangoku, oluhle, ngelixa ezinye ziphucula kakhulu ukusetyenziswa. Kolu guqulelo, siza kuthetha ngeendlela ezintlanu ezizezinye kwizixhobo ezisemgangathweni zomyalelo weLinux.

1. ncdu vs du

Nurses Disk Usetyenziso (ncdu) iyafana ne-du, kodwa inonxibelelwano olusekwe kwithala leencwadi leziqalekiso. I-ncdu ibonisa isakhiwo solawulo esithatha uninzi lwesithuba sedisk yakho.

ncdu ihlalutya idiski kwaye emva koko ibonisa iziphumo ezihlelwe ngabalawuli okanye iifayile ezisetyenziswa rhoqo, umzekelo:

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

Ungakhangela kumangeno usebenzisa izitshixo zetolo. Ukuba ucinezela Ngena, incdu izakubonisa imixholo yolawulo olukhethiweyo:

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

Ungasebenzisa esi sixhobo, umzekelo, ukumisela ukuba zeziphi iifayile ezithatha esona sithuba sediski. Ungaya kulawulo lwangaphambili ngokucinezela iqhosha lasekhohlo. Nge-ncdu unokucima iifayile ngokucinezela iqhosha le-d. Icela isiqinisekiso phambi kokuba icime. Ukuba ufuna ukukhubaza isici sokucima ukunqanda ukulahleka ngempazamo kweefayile ezixabisekileyo, sebenzisa i -r ukhetho ukwenza indlela yofikelelo lokufunda kuphela: ncdu -r.

I-ncdu iyafumaneka kumaqonga eLinux amaninzi kunye nonikezelo. Umzekelo, ungasebenzisa i-dnf ukuyifaka kwi-Fedora ngokuthe ngqo kwiindawo zokugcina ezisemthethweni:

$ sudo dnf install ncdu

2. i-htop vs phezulu

IHtop yinkqubo esebenzisanayo umbonisi ofana nomphezulu, kodwa ngaphandle kwebhokisi ibonelela ngamava amnandi omsebenzisi. Ngokungagqibekanga, i-htop ibonisa ulwazi olufanayo njengephezulu, kodwa ngendlela ebonakalayo kunye nenemibala.

Ngokungagqibekanga i-htop ibonakala ngolu hlobo:

IiNdlela ezi-5 zale mihla kwiZixhobo zoMyalelo weLinux endala
Ngokungafaniyo phezulu:

IiNdlela ezi-5 zale mihla kwiZixhobo zoMyalelo weLinux endala
Ukongeza, i-htop ibonisa ulwazi malunga nenkqubo ephezulu, kunye nephaneli yokulawula imiyalelo usebenzisa izitshixo zokusebenza ezantsi. Ungayiqwalasela ngokucinezela F2 ukuvula isikrini soqwalaselo. Kwiisetingi, unokutshintsha imibala, wongeze okanye ususe iimetriki, okanye utshintshe iinketho zokubonisela zepaneli.

Nangona unokufezekisa usetyenziso olufanayo ngokucofa useto lweenguqulelo zamva nje eziphezulu, i-htop ibonelela ngolungelelwaniso olungagqibekanga olulula, oluyenza isebenziseke ngakumbi kwaye kulula ukuyisebenzisa.

3. tldr vs umntu

Isixhobo somgca womyalelo we-tldr sibonisa ulwazi loncedo olwenziwe lula malunga nemiyalelo, uninzi lwemizekelo. Yaphuhliswa luluntu iprojekthi yamaphepha e-tldr.

Kubalulekile ukuqaphela ukuba i-tldr ayithathi ndawo yendoda. Isesona sixhobo sokukhutshwa kwephepha lephepha le-canonical nesona sibanzi. Noko ke, kwezinye iimeko umntu akafuneki nganto. Xa ungadingi ulwazi olubanzi malunga nomyalelo, uzama nje ukukhumbula usetyenziso olusisiseko. Umzekelo, iphepha lendoda lomyalelo we-curl liqulethe phantse imigca engama-3000. Iphepha le-tldr le-curl linemigca engama-40 ubude. Isiqwenga sayo sijongeka ngolu hlobo:


$ 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 ithetha β€œinde kakhulu; akazange afunde": oko kukuthi, isicatshulwa esithile asikhange sihoywe ngenxa yezenzi zaso ezigqithisileyo. Igama lifanelekile kwesi sixhobo kuba amaphepha omntu, ngelixa eluncedo, ngamanye amaxesha anokuba made kakhulu.

KuFedora, i-tldr yabhalwa ngePython. Ungayifaka usebenzisa umphathi we-dnf. Ngokuqhelekileyo, isixhobo sifuna ukufikelela kwi-intanethi ukuze sisebenze. Kodwa umxhasi we-Fedora wePython uvumela la maphepha ukuba akhutshelwe kwaye agcinwe ukuze afikelele kwi-intanethi.

4.jq vs sed/grep

jq yi JSON iprosesa yelayini yomyalelo. Iyafana ne-sed okanye i-grep, kodwa yenzelwe ngokukodwa ukusebenza ngedatha ye-JSON. Ukuba ungumphuhlisi okanye umlawuli wenkqubo osebenzisa i-JSON kwimisebenzi yemihla ngemihla, esi sisixhobo sakho.

Olona ncedo luphambili lwe-jq ngaphezulu kwezixhobo ezisezantsi zokusetyenzwa kokubhaliweyo okunje nge grep kunye ne sed kukuba iyaluqonda ulwakhiwo lwedatha ye-JSON, ikuvumela ukuba wenze imibuzo entsonkothileyo kwindlela enye.

Umzekelo, uzama ukufumana amagama esikhongozeli kule JSON fayile:

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

Qhuba i-grep ukufumana igama lomtya:

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

grep ibuyise yonke imigca equlathe igama legama. Unokongeza ezinye iinketho ezimbalwa kwi-grep ukuyinqanda, kwaye usebenzise ukukhohlisa okuqhelekileyo kokufumana amagama esikhongozeli.

Ukufumana iziphumo ezifanayo usebenzisa i-jq, bhala nje:

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

Lo myalelo uya kukunika amagama ezikhongozeli zombini. Ukuba ujonge kuphela igama lesikhongozeli sesibini, yongeza isalathiso sesiqalelo soluhlu kwintetho:

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

Ekubeni i-jq iyazi malunga nesakhiwo sedatha, ivelisa iziphumo ezifanayo nokuba ifomathi yefayile itshintsha kancinane. I-grep kunye ne-ed isenokungasebenzi ngokuchanekileyo kule meko.

jq inemisebenzi emininzi, kodwa elinye inqaku liyafuneka ukuyichaza. Ngolwazi oluthe vetshe nceda uqhagamshelane iphepha leprojekthi jq okanye kwi tldr.

5. fd vs ukufumana

fd yindlela eyenziwe lula yokufumana into eluncedo. I-Fd ayijoliswanga ukuyibuyisela ngokupheleleyo: inezona zicwangciso eziqhelekileyo ezifakwe ngokungagqibekanga, ezichaza indlela eqhelekileyo yokusebenza ngeefayile.

Umzekelo, xa ukhangela iifayile kwindawo yokugcina yeGit, fd ayibandakanyi ngokuzenzekelayo iifayile ezifihliweyo kunye noovimba beefayili, kuquka .git uvimba weefayili, kwaye ayihoyi amakhadi asendle asuka kwifayile ye.gitignore. Lilonke, ikhawulezisa uphendlo ngokubuyisela iziphumo eziyelelene ngakumbi kumzamo wokuqala.

Ngokungagqibekanga, fd yenza uphendlo olungakhathaliyo kulawulo lwangoku, ngemveliso yombala. Ukukhangela okufanayo usebenzisa umyalelo wokufumana kufuna ukufaka iiparamitha ezongezelelweyo kumgca womyalelo. Umzekelo, ukufumana zonke .md (okanye .MD) iifayile kulawulo lwangoku, ungabhala umyalelo wokufumana onje:

$ find . -iname "*.md"

Kwi-fd ibonakala ngolu hlobo:

$ fd .md

Kodwa kwezinye iimeko, i-fd ifuna iinketho ezongezelelweyo: umzekelo, ukuba ufuna ukubandakanya iifayile ezifihliweyo kunye nabalawuli, kufuneka usebenzise i -H ukhetho, nangona oku ngokuqhelekileyo kungafuneki xa uphendla.

fd iyafumaneka kwizinikezelo ezininzi zeLinux. Kwi-Fedora inokufakwa ngolu hlobo:

$ sudo dnf install fd-find

Akukho mfuneko yokuba uncame nantoni na

Ngaba usebenzisa izixhobo zomgca womyalelo weLinux entsha? Okanye ngaba uhlala kuphela kwezindala? Kodwa kunokwenzeka ukuba unayo i-combo, akunjalo? Nceda wabelane ngamava akho kumazwana.

Njengentengiso

Uninzi lwabathengi bethu sele bezixabisa izibonelelo abancedisi be-epic!
Oku iiseva ezibonakalayo ezine-AMD EPYC abaqhubekekisi, CPU core frequency ukuya kuthi ga kwi-3.4 GHz. Ukucwangciswa okuphezulu kuya kukuvumela ukuba ube ne-blast - 128 CPU cores, 512 GB RAM, 4000 GB NVMe. Khawuleza uyokwenza iodolo!

IiNdlela ezi-5 zale mihla kwiZixhobo zoMyalelo weLinux endala

umthombo: www.habr.com

Yongeza izimvo