Ma ka hoʻohana ʻana i nā mea ʻē aʻe hou aʻe me nā mea hana laina kauoha kahiko, hiki iā ʻoe ke hauʻoli a hoʻomaikaʻi i kāu huahana.
I kā mākou hana i kēlā me kēia lā ma Linux / Unix, hoʻohana mākou i nā mea hana laina kauoha - no ka laʻana, du e nānā i ka hoʻohana ʻana i ka disk a me nā kumuwaiwai ʻōnaehana. Ua lōʻihi kekahi o kēia mau mea hana. No ka laʻana, ʻike ʻia ka top i ka makahiki 1984, a ʻo ka hoʻokuʻu mua ʻana o du mai ka makahiki 1971.
I loko o nā makahiki, ua hoʻololi ʻia kēia mau mea hana a lawe ʻia i nā ʻōnaehana like ʻole, akā ma ke ʻano maʻamau ʻaʻole lākou i neʻe mamao mai kā lākou mau mana mua, ʻaʻole i loli nui ko lākou helehelena a me ka hoʻohana ʻana.
He mau mea hana maikaʻi kēia e pono ai nā luna hoʻonohonoho he nui. Eia naʻe, ua hoʻomohala ke kaiāulu i nā mea hana ʻē aʻe e hāʻawi ana i nā pono hou aʻe. Loaʻa kekahi o lākou i kahi interface hou, nani, aʻo nā mea ʻē aʻe e hoʻomaikaʻi nui i ka hoʻohana. Ma kēia unuhi ʻana, e kamaʻilio mākou e pili ana i ʻelima mau koho i nā mea hana laina kauoha Linux maʻamau.
1. ncdu vs du
NCurses Disk hoʻohana (
Hoʻopili ʻo ncdu i ka disk a hōʻike i nā hopena i hoʻokaʻawale ʻia e nā papa kuhikuhi i hoʻohana pinepine ʻia, no ka laʻana:
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
Hiki iā ʻoe ke hoʻokele i nā mea komo me ka hoʻohana ʻana i nā kī pua. Inā ʻoe e kaomi iā Enter, e hōʻike ʻo ncdu i nā ʻike o ka papa kuhikuhi i koho ʻia:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Hiki iā ʻoe ke hoʻohana i kēia mea hana, no ka laʻana, e hoʻoholo i nā faila e lawe ana i ka nui o ka nui o ka disk. Hiki iā ʻoe ke hele i ka papa kuhikuhi mua ma ke kaomi ʻana i ke kī pua hema. Me ka ncdu hiki iā ʻoe ke holoi i nā faila ma ke kaomi ʻana i ke kī d. Nīnau ʻo ia i ka hōʻoia ma mua o ka holoi ʻana. Inā makemake ʻoe e hoʻopau i ka hiʻohiʻona holoi no ka pale ʻana i ka nalo ʻana o nā faila waiwai, e hoʻohana i ke koho -r e hiki ai i ke ʻano heluhelu wale nō: ncdu -r.
Loaʻa ka ncdu no ka nui o nā kahua Linux a me nā māhele. No ka laʻana, hiki iā ʻoe ke hoʻohana i ka dnf e hoʻokomo iā ia ma Fedora pololei mai nā hale waihona mana:
$ sudo dnf install ncdu
2. htop vs luna
E like me kēia ʻo ka htop maʻamau:
ʻAʻole like me luna:
Eia kekahi, hōʻike ʻo htop i ka ʻike ʻike e pili ana i ka ʻōnaehana ma luna, a me kahi panel no ka holo ʻana i nā kauoha me ka hoʻohana ʻana i nā kī hana ma lalo. Hiki iā ʻoe ke hoʻonohonoho iā ia ma ke kaomi ʻana i ka F2 e wehe i ka pale hoʻonohonoho. Ma nā ʻōkuhi, hiki iā ʻoe ke hoʻololi i nā waihoʻoluʻu, hoʻohui a wehe paha i nā ana, a i ʻole hoʻololi i nā koho hōʻike hōʻikeʻike.
ʻOiai hiki iā ʻoe ke hoʻokō i ka hoʻohana like ʻana ma o ka hoʻololi ʻana i nā hoʻonohonoho o nā mana hou loa o luna, hāʻawi ʻo htop i nā hoʻonohonoho paʻamau maʻalahi, e ʻoi aku ka maʻalahi a me ka maʻalahi o ka hoʻohana.
3. tldr vs kanaka
Hōʻike ka mea hana laina kauoha tldr i ka ʻike kōkua maʻalahi e pili ana i nā kauoha, ka hapa nui o nā laʻana. Ua kūkulu ʻia e ke kaiāulu
Pono e hoʻomaopopo ʻaʻole ʻo tldr kahi pani no ke kanaka. ʻO ia nō ka canonical a ʻoi loa ka paahana puka kanaka ʻaoʻao. Eia nō naʻe, i kekahi mau hihia, ʻoi aku ka nui o ke kanaka. Inā ʻaʻole pono ʻoe i ka ʻike piha e pili ana i kahi kauoha, ke hoʻāʻo nei ʻoe e hoʻomanaʻo i kāna mau hoʻohana kumu. No ka laʻana, ʻo ka ʻaoʻao kanaka no ke kauoha curl aia ma kahi o 3000 mau laina. ʻO ka ʻaoʻao tldr no ka curl he 40 laina ka lōʻihi. Penei kona ʻāpana:
$ 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
ʻO TLDR ke ʻano o ka "lōʻihi loa; 'a'ole i heluhelu": 'o ia ho'i, 'a'ole i nānā 'ia kekahi kikokikona ma muli o ka nui o ka 'ōlelo. Ua kūpono ka inoa no kēia mea hana no ka mea ʻo nā ʻaoʻao kanaka, ʻoiai he pono, hiki ke lōʻihi i kekahi manawa.
No Fedora, ua kākau ʻia ʻo tldr ma Python. Hiki iā ʻoe ke hoʻokomo iā ia me ka hoʻohana ʻana i ka mana dnf. ʻO ka maʻamau, pono ka mea hana i ke komo pūnaewele e hana. Akā ʻo ka mea kūʻai aku ʻo Fedora's Python e ʻae i kēia mau ʻaoʻao e hoʻoiho a hūnā ʻia no ke komo ʻana ma waho.
4.jq vs sed/grep
ʻO jq kahi mea hana JSON no ka laina kauoha. Ua like ia me sed a i ʻole grep, akā ua hoʻolālā ʻia e hana me ka ʻikepili JSON. Inā he mea hoʻomohala ʻoe a i ʻole ka luna hoʻonohonoho ʻōnaehana e hoʻohana iā JSON i nā hana o kēlā me kēia lā, ʻo ia ka mea hana no ʻoe.
ʻO ka pōmaikaʻi nui o ka jq ma mua o nā mea hana hoʻoponopono kikokikona maʻamau e like me grep a me sed ʻo ia ka hoʻomaopopo ʻana i ka hoʻolālā ʻikepili JSON, e ʻae iā ʻoe e hana i nā nīnau paʻakikī i ka ʻōlelo hoʻokahi.
No ka laʻana, ke ʻimi nei ʻoe i nā inoa pahu i kēia faila 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"
}
}
E holo i ka grep e ʻike i ka inoa string:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
Ua hoʻihoʻi ʻo grep i nā laina āpau i loaʻa ka inoa huaʻōlelo. Hiki iā ʻoe ke hoʻohui i kekahi mau koho hou aʻe e grep e hoʻopaʻa iā ia, a hoʻohana i kekahi manipulation hōʻike maʻamau e ʻike i nā inoa pahu.
No ka loaʻa ʻana o ka hopena like me ka hoʻohana ʻana i ka jq, e kākau wale:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Hāʻawi kēia kauoha iā ʻoe i nā inoa o nā pahu ʻelua. Inā ʻoe e ʻimi wale nei i ka inoa o ka pahu lua, e hoʻohui i ka index of the array element i ka ʻōlelo:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Ma muli o ka ʻike ʻana o jq e pili ana i ke ʻano o ka ʻikepili, hoʻopuka ia i nā hopena like inā hoʻololi iki ke ʻano o ka faila. ʻAʻole hiki ke hana pololei ʻo grep a me sed i kēia hihia.
He nui nā hana a jq, akā pono kekahi ʻatikala e wehewehe iā lākou. No ka 'ike hou aku e 'olu'olu e leka uila
5. fd vs loaa
No ka laʻana, i ka ʻimi ʻana i nā faila i loko o kahi waihona waihona Git, hoʻopau ʻokoʻa ʻo fd i nā faila huna a me nā subdirectories, me ka papa kuhikuhi .git, a me ka nānā ʻole ʻana i nā wildcards mai ka faila .gitignore. ʻO ka holoʻokoʻa, hoʻolalelale ia i ka huli ʻana ma ka hoʻihoʻi ʻana i nā hopena pili i ka hoʻāʻo mua.
ʻO ka mea paʻamau, hana ʻo fd i kahi hulina case-insensitive i ka papa kuhikuhi o kēia manawa, me ka hoʻopuka kala. ʻO ka huli like me ka hoʻohana ʻana i ke kauoha ʻimi pono e hoʻokomo i nā ʻāpana ʻē aʻe ma ka laina kauoha. No ka laʻana, no ka huli ʻana i nā faila .md (a i ʻole .MD) āpau i ka papa kuhikuhi o kēia manawa, e kākau ʻoe i kahi kauoha ʻimi e like me kēia:
$ find . -iname "*.md"
No fd ua like ia me keia:
$ fd .md
Akā i kekahi mau hihia, koi ʻia ka fd i nā koho hou aʻe: no ka laʻana, inā makemake ʻoe e hoʻokomo i nā faila huna a me nā papa kuhikuhi, pono ʻoe e hoʻohana i ka koho -H, ʻoiai ʻaʻole pono kēia i ka wā e ʻimi ai.
Loaʻa ka fd no nā māhele Linux he nui. Ma Fedora hiki ke hoʻokomo ʻia e like me kēia:
$ sudo dnf install fd-find
ʻAʻole pono ʻoe e haʻalele i kekahi mea
Ke hoʻohana nei ʻoe i nā mea hana laina kauoha Linux hou? A i ʻole noho wale ʻoe ma luna o nā mea kahiko? Akā ʻoi aku paha he hui pū kāu, ʻeā? E ʻoluʻolu e kaʻana like i kāu ʻike ma nā manaʻo.
Nā Pono o ka hoʻolaha
Ua mahalo ka nui o kā mākou mea kūʻai aku i nā pono nā kikowaena epic!
keia
Source: www.habr.com