Izmantojot modernÄkas alternatÄ«vas kopÄ ar vecÄkiem komandrindas rÄ«kiem, varat izklaidÄties un pat uzlabot savu produktivitÄti.
Ikdienas darbÄ ar Linux/Unix mÄs izmantojam daudzus komandrindas rÄ«kus, piemÄram, du, lai uzraudzÄ«tu diska lietojumu un sistÄmas resursus. Daži no Å”iem rÄ«kiem ir bijuÅ”i pieejami jau ilgu laiku. PiemÄram, top parÄdÄ«jÄs 1984. gadÄ, un pirmais du izlaidums datÄts ar 1971. gadu.
Gadu gaitÄ Å”ie rÄ«ki ir modernizÄti un portÄti uz dažÄdÄm sistÄmÄm, taÄu kopumÄ tie nav tikuÅ”i tÄlu no savÄm pirmajÄm versijÄm, arÄ« izskats un lietojamÄ«ba nav Ä«paÅ”i mainÄ«jusies.
Å ie ir lieliski rÄ«ki, kas nepiecieÅ”ami daudziem sistÄmu administratoriem. TomÄr kopiena ir izstrÄdÄjusi alternatÄ«vus rÄ«kus, kas piedÄvÄ papildu priekÅ”rocÄ«bas. Dažiem no tiem vienkÄrÅ”i ir moderns, skaists interfeiss, savukÄrt citi ievÄrojami uzlabo lietojamÄ«bu. Å ajÄ tulkojumÄ mÄs runÄsim par piecÄm alternatÄ«vÄm standarta Linux komandrindas rÄ«kiem.
1. ncdu vs du
NCurses diska lietojums (
ncdu analizÄ disku un pÄc tam parÄda rezultÄtus, kas sakÄrtoti pÄc visbiežÄk izmantotajiem direktorijiem vai failiem, piemÄram:
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
Varat pÄrvietoties pa ierakstiem, izmantojot bulttaustiÅus. Nospiežot taustiÅu Enter, ncdu parÄdÄ«s atlasÄ«tÄ direktorija saturu:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Varat izmantot Å”o rÄ«ku, lai, piemÄram, noteiktu, kuri faili aizÅem visvairÄk vietas diskÄ. Varat pÄriet uz iepriekÅ”Äjo direktoriju, nospiežot kreiso bulttaustiÅu. Izmantojot ncdu, failus var izdzÄst, nospiežot taustiÅu d. Pirms dzÄÅ”anas tas prasa apstiprinÄjumu. Ja vÄlaties atspÄjot dzÄÅ”anas funkciju, lai novÄrstu nejauÅ”u vÄrtÄ«gu failu zudumu, izmantojiet opciju -r, lai iespÄjotu tikai lasÄ«Å”anas piekļuves režīmu: ncdu -r.
ncdu ir pieejams daudzÄm Linux platformÄm un izplatÄ«jumiem. PiemÄram, varat izmantot dnf, lai to instalÄtu Fedora tieÅ”i no oficiÄlajÄm krÄtuvÄm:
$ sudo dnf install ncdu
2. htop vs top
PÄc noklusÄjuma htop izskatÄs Å”Ädi:
AtŔķirÄ«bÄ no augÅ”as:
TurklÄt htop augÅ”pusÄ parÄda pÄrskata informÄciju par sistÄmu un apakÅ”Ä paneli komandu palaiÅ”anai, izmantojot funkciju taustiÅus. Varat to konfigurÄt, nospiežot taustiÅu F2, lai atvÄrtu konfigurÄcijas ekrÄnu. IestatÄ«jumos varat mainÄ«t krÄsas, pievienot vai noÅemt metriku vai mainÄ«t pÄrskata paneļa displeja opcijas.
Lai gan lÄ«dzÄ«gu lietojamÄ«bu var panÄkt, pielÄgojot top jaunÄko versiju iestatÄ«jumus, htop nodroÅ”ina Ärtas noklusÄjuma konfigurÄcijas, kas padara to praktiskÄku un vieglÄk lietojamu.
3. tldr pret vīrieti
Komandrindas rÄ«ks tldr parÄda vienkÄrÅ”otu palÄ«dzÄ«bas informÄciju par komandÄm, galvenokÄrt piemÄrus. To izstrÄdÄja kopiena
Ir vÄrts atzÄ«mÄt, ka tldr neaizstÄj cilvÄku. Tas joprojÄm ir kanoniskais un visplaÅ”Äkais cilvÄka lapas izvades rÄ«ks. TomÄr dažos gadÄ«jumos cilvÄks ir lieks. Ja jums nav nepiecieÅ”ama visaptveroÅ”a informÄcija par komandu, jÅ«s vienkÄrÅ”i mÄÄ£inÄt atcerÄties tÄs pamata lietojumus. PiemÄram, komandas curl man lapÄ ir gandrÄ«z 3000 rindiÅu. Tldr lapa ÄokuroÅ”anai ir 40 rindiÅas gara. TÄs fragments izskatÄs Å”Ädi:
$ 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 nozÄ«mÄ "pÄrÄk garÅ”; nelasÄ«ju": tas ir, kÄds teksts tika ignorÄts tÄ pÄrmÄrÄ«gÄs daudzvÄrdÄ«bas dÄļ. Nosaukums ir piemÄrots Å”im rÄ«kam, jo āārokasgrÄmatas lapas, lai arÄ« noderÄ«gas, dažkÄrt var bÅ«t pÄrÄk garas.
Fedorai tldr tika uzrakstÄ«ts Python valodÄ. Varat to instalÄt, izmantojot dnf pÄrvaldnieku. Parasti, lai rÄ«ks darbotos, nepiecieÅ”ama piekļuve internetam. Bet Fedora Python klients ļauj Ŕīs lapas lejupielÄdÄt un saglabÄt keÅ”atmiÅÄ, lai piekļūtu bezsaistÄ.
4.jq pret sed/grep
jq ir komandrindas JSON procesors. Tas ir lÄ«dzÄ«gs sed vai grep, taÄu ir Ä«paÅ”i izstrÄdÄts darbam ar JSON datiem. Ja esat izstrÄdÄtÄjs vai sistÄmas administrators, kurÅ” ikdienas uzdevumos izmanto JSON, Å”is ir jums piemÄrots rÄ«ks.
GalvenÄ jq priekÅ”rocÄ«ba salÄ«dzinÄjumÄ ar standarta teksta apstrÄdes rÄ«kiem, piemÄram, grep un sed, ir tÄ, ka tas saprot JSON datu struktÅ«ru, ļaujot izveidot sarežģītus vaicÄjumus vienÄ izteiksmÄ.
PiemÄram, jÅ«s mÄÄ£inÄt atrast konteineru nosaukumus Å”ajÄ JSON failÄ:
{
"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"
}
}
Palaidiet grep, lai atrastu virknes nosaukumu:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep atgrieza visas rindas, kas satur vÄrdu nosaukumu. Varat pievienot vÄl dažas grep opcijas, lai to ierobežotu, un izmantot dažas regulÄras izteiksmes manipulÄcijas, lai atrastu konteineru nosaukumus.
Lai iegÅ«tu tÄdu paÅ”u rezultÄtu, izmantojot jq, vienkÄrÅ”i rakstiet:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Å Ä« komanda sniegs abu konteineru nosaukumus. Ja meklÄjat tikai otrÄ konteinera nosaukumu, pievienojiet izteiksmei masÄ«va elementa indeksu:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
TÄ kÄ jq zina par datu struktÅ«ru, tas rada tÄdus paÅ”us rezultÄtus pat tad, ja faila formÄts nedaudz mainÄs. grep un sed Å”ajÄ gadÄ«jumÄ var nedarboties pareizi.
jq ir daudzas funkcijas, taÄu, lai tÄs aprakstÄ«tu, ir nepiecieÅ”ams cits raksts. Lai iegÅ«tu vairÄk informÄcijas, lÅ«dzu, sazinieties ar
5. fd vs atrast
PiemÄram, meklÄjot failus Git repozitorija direktorijÄ, fd automÄtiski izslÄdz slÄptos failus un apakÅ”direktorijus, tostarp .git direktoriju, kÄ arÄ« ignorÄ aizstÄjÄjzÄ«mes no faila .gitignore. KopumÄ tas paÄtrina meklÄÅ”anu, pirmajÄ mÄÄ£inÄjumÄ atgriežot atbilstoÅ”Äkus rezultÄtus.
PÄc noklusÄjuma fd veic meklÄÅ”anu, kas nav reÄ£istrjutÄ«ga paÅ”reizÄjÄ direktorijÄ ar krÄsu izvadi. TajÄ paÅ”Ä meklÄÅ”anÄ, izmantojot komandu atrast, komandrindÄ ir jÄievada papildu parametri. PiemÄram, lai atrastu visus .md (vai .MD) failus paÅ”reizÄjÄ direktorijÄ, jums ir jÄraksta Å”Äda meklÄÅ”anas komanda:
$ find . -iname "*.md"
AttiecÄ«bÄ uz fd tas izskatÄs Å”Ädi:
$ fd .md
Bet dažos gadÄ«jumos fd ir nepiecieÅ”amas arÄ« papildu opcijas: piemÄram, ja vÄlaties iekļaut slÄptos failus un direktorijus, jums ir jÄizmanto opcija -H, lai gan tas parasti nav nepiecieÅ”ams, veicot meklÄÅ”anu.
fd ir pieejams daudziem Linux izplatÄ«jumiem. ProgrammÄ Fedora to var instalÄt Å”Ädi:
$ sudo dnf install fd-find
Jums nekas nav jÄatsakÄs
Vai izmantojat jaunos Linux komandrindas rÄ«kus? Vai arÄ« jÅ«s sÄžat tikai uz vecajiem? Bet visticamÄk jums ir kombinÄcija, vai ne? LÅ«dzu, dalieties pieredzÄ komentÄros.
Par reklÄmas tiesÄ«bÄm
Daudzi mÅ«su klienti jau ir novÄrtÄjuÅ”i priekÅ”rocÄ«bas episki serveri!
TÄ
Avots: www.habr.com