Pinaagi sa paggamit sa mas modernong mga alternatibo kauban sa mas daan nga command line tool, mahimo kang mas makalingaw ug mapalambo pa ang imong pagka-produktibo.
Sa among adlaw-adlaw nga trabaho sa Linux/Unix, naggamit kami daghang mga himan sa command line - pananglitan, du aron ma-monitor ang paggamit sa disk ug mga kapanguhaan sa sistema. Ang pipila niini nga mga himan dugay na nga naglungtad. Pananglitan, ang top nagpakita niadtong 1984, ug ang unang pagpagawas sa du nagsugod niadtong 1971.
Sulod sa mga katuigan, kini nga mga himan gi-moderno ug gi-port sa lain-laing mga sistema, apan sa kinatibuk-an wala sila mibalhin sa layo gikan sa ilang unang mga bersyon, ang ilang panagway ug usability wala usab kaayo mausab.
Nindot kini nga mga himan nga gikinahanglan sa daghang mga tigdumala sa sistema. Bisan pa, ang komunidad naghimo og mga alternatibo nga himan nga nagtanyag dugang nga mga benepisyo. Ang uban kanila adunay usa ka moderno, matahum nga interface, samtang ang uban labi nga nagpauswag sa pagkagamit. Niini nga paghubad, maghisgot kami bahin sa lima ka mga alternatibo sa standard nga mga himan sa linya sa command sa Linux.
1. ncdu vs du
Paggamit sa Disk sa NCurses (
Gisusi sa ncdu ang disk ug dayon gipakita ang mga resulta nga gisunod sa labing kanunay nga gigamit nga mga direktoryo o mga file, pananglitan:
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
Mahimo kang mag-navigate sa mga entri gamit ang mga arrow key. Kung imong gipugos ang Enter, ang ncdu magpakita sa mga sulud sa napili nga direktoryo:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Mahimo nimong gamiton kini nga himan aron, pananglitan, mahibal-an kung unsang mga file ang nagkuha sa labing daghang espasyo sa disk. Mahimo kang moadto sa miaging direktoryo pinaagi sa pagpindot sa wala nga arrow key. Uban sa ncdu mahimo nimong mapapas ang mga file pinaagi sa pagpindot sa d key. Nangayo kini og kumpirmasyon sa dili pa i-delete. Kung gusto nimong i-disable ang feature sa pagtangtang aron malikayan ang aksidenteng pagkawala sa bililhong mga file, gamita ang -r nga opsyon aron mahimo ang read-only access mode: ncdu -r.
Ang ncdu magamit alang sa daghang mga platform sa Linux ug pag-apod-apod. Pananglitan, mahimo nimong gamiton ang dnf aron i-install kini sa Fedora direkta gikan sa opisyal nga mga repositoryo:
$ sudo dnf install ncdu
2. htop batok sa ibabaw
Sa default ang htop ingon niini:
Dili sama sa taas:
Dugang pa, ang htop nagpakita sa kinatibuk-ang impormasyon bahin sa sistema sa ibabaw, ug usa ka panel alang sa pagpadagan sa mga sugo gamit ang mga function key sa ubos. Mahimo nimo kini i-configure pinaagi sa pagpindot sa F2 aron maablihan ang screen sa pag-configure. Sa Settings, mahimo nimong usbon ang mga kolor, idugang o tangtangon ang mga sukatan, o usbon ang mga opsyon sa pagpakita sa overview panel.
Bisan kung mahimo nimong makab-ot ang parehas nga pagkagamit pinaagi sa pag-tweak sa mga setting sa pinakabag-o nga mga bersyon sa taas, ang htop naghatag ug kombenyente nga default nga mga pag-configure, nga naghimo niini nga labi ka praktikal ug dali gamiton.
3. tldr batok sa tawo
Ang tldr command line tool nagpakita sa gipasimple nga impormasyon sa tabang mahitungod sa mga sugo, kasagaran mga pananglitan. Gipalambo kini sa komunidad
Angay nga hinumdoman nga ang tldr dili puli sa tawo. Mao gihapon kini ang kanonikal ug labing komprehensibo nga himan sa pag-output sa panid sa tawo. Bisan pa, sa pipila ka mga kaso ang tawo sobra ra. Kung dili nimo kinahanglan ang komprehensibo nga kasayuran bahin sa usa ka mando, gisulayan nimo nga hinumdoman ang sukaranang mga gamit niini. Pananglitan, ang man page alang sa curl command adunay hapit 3000 ka linya. Ang tldr page para sa curl kay 40 ka linya ang gitas-on. Ang tipik niini ingon niini:
$ 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
Ang TLDR nagpasabut nga βtaas kaayo; wala nagbasa": sa ato pa, ang pipila ka teksto wala gibalewala tungod sa sobra nga pagkasulti niini. Ang ngalan angay alang niini nga himan tungod kay ang mga panid sa tawo, samtang mapuslanon, usahay taas kaayo.
Alang sa Fedora, ang tldr gisulat sa Python. Mahimo nimo kini i-install gamit ang dnf manager. Kasagaran, ang himan nanginahanglan pag-access sa internet aron molihok. Apan gitugotan sa kliyente sa Python ni Fedora nga kini nga mga panid ma-download ug ma-cache alang sa offline nga pag-access.
4.jq batok sed/grep
Ang jq usa ka JSON processor alang sa command line. Susama kini sa sed o grep, apan espesipikong gidesinyo aron magtrabaho sa datos sa JSON. Kung ikaw usa ka developer o system administrator nga naggamit sa JSON sa adlaw-adlaw nga mga buluhaton, kini ang himan alang kanimo.
Ang nag-unang bentaha sa jq sa standard nga mga galamiton sa pagproseso sa teksto sama sa grep ug sed mao nga kini nakasabut sa istruktura sa datos sa JSON, nga nagtugot kanimo sa paghimo og komplikadong mga pangutana sa usa ka ekspresyon.
Pananglitan, ikaw naningkamot sa pagpangita sa mga ngalan sa sudlanan niini nga JSON file:
{
"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"
}
}
Pagdalagan ang grep aron makit-an ang ngalan sa string:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
Gibalik sa grep ang tanan nga mga linya nga adunay sulud nga ngalan sa pulong. Mahimo nimong idugang ang pipila pa nga mga parameter sa grep aron mapugngan kini, ug uban ang pipila nga regular nga pagmaniobra sa ekspresyon pangitaa ang mga ngalan sa sulud.
Aron makuha ang parehas nga resulta gamit ang jq, isulat lang:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Kini nga sugo maghatag kanimo sa mga ngalan sa duha ka sudlanan. Kung nangita ka lamang sa ngalan sa ikaduha nga sudlanan, idugang ang indeks sa elemento sa array sa ekspresyon:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Tungod kay nahibal-an sa jq ang bahin sa istruktura sa datos, nagpatungha kini parehas nga mga sangputanan bisan kung ang format sa file nagbag-o gamay. Ang grep ug sed mahimong dili molihok sa husto sa kini nga kaso.
Ang jq adunay daghang mga gimbuhaton, apan gikinahanglan ang laing artikulo sa paghulagway niini. Para sa dugang impormasyon palihog kontaka
5. fd vs pagpangita
Pananglitan, sa pagpangita sa mga file sa usa ka Git repository directory, fd awtomatik nga dili iapil ang mga tinago nga mga file ug mga subdirectory, lakip ang .git nga direktoryo, ug gibalewala usab ang mga wildcard gikan sa .gitignore file. Sa kinatibuk-an, gipadali niini ang mga pagpangita pinaagi sa pagbalik sa mas may kalabutan nga mga resulta sa unang pagsulay.
Sa kasagaran, ang fd naghimo sa usa ka case-insensitive nga pagpangita sa kasamtangan nga direktoryo, nga adunay kolor nga output. Ang parehas nga pagpangita gamit ang command sa pagpangita nanginahanglan pagsulod sa dugang nga mga parameter sa linya sa mando. Pananglitan, aron makit-an ang tanang .md (o .MD) nga mga file sa kasamtangan nga direktoryo, magsulat ka ug find command sama niini:
$ find . -iname "*.md"
Para sa fd ingon niini:
$ fd .md
Apan sa pipila ka mga kaso, ang fd nanginahanglan usab og dugang nga mga kapilian: pananglitan, kung gusto nimo ilakip ang mga tinago nga mga file ug mga direktoryo, kinahanglan nimo gamiton ang -H nga kapilian, bisan kung kini kasagaran dili kinahanglan kung mangita.
Ang fd anaa alang sa daghang mga distribusyon sa Linux. Sa Fedora kini mahimong ma-install sama niini:
$ sudo dnf install fd-find
Dili nimo kinahanglan nga itugyan ang bisan unsa
Gigamit ba nimo ang bag-ong Linux command line tools? O naglingkod ka ba sa mga daan? Apan lagmit naa kay combo, di ba? Palihug ipaambit ang imong kasinatian sa mga komento.
Diha sa Mga Katungod sa Pagdukiduki
Daghan sa among mga kliyente ang nakadayeg na sa mga benepisyo epiko nga mga server!
kini
Source: www.habr.com