Ngokusebenzisa ezinye iindlela zale mihla kunye nezixhobo zomgca womyalelo omdala, unokonwaba ngakumbi kwaye uphucule imveliso yakho.
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 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
Ngokungagqibekanga i-htop ibonakala ngolu hlobo:
Ngokungafaniyo phezulu:
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
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
5. fd vs ukufumana
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
umthombo: www.habr.com