5 Modernong Alternatibo sa Karaang Linux Command Line Tools

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.

5 Modernong Alternatibo sa Karaang Linux Command Line Tools

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 (ncdu) susama sa du, apan adunay usa ka interactive nga interface nga gibase sa librarya sa mga tunglo. Gipakita sa ncdu ang istruktura sa direktoryo nga nagkuha sa kadaghanan sa imong disk space.

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

htop mao ang usa ka interactive nga proseso viewer susama sa ibabaw, apan sa gawas sa kahon naghatag kini og nindot nga kasinatian sa user. Sa kasagaran, ang htop nagpakita sa samang impormasyon sa ibabaw, apan sa mas biswal ug mabulukon nga paagi.

Sa default ang htop ingon niini:

5 Modernong Alternatibo sa Karaang Linux Command Line Tools
Dili sama sa taas:

5 Modernong Alternatibo sa Karaang Linux Command Line Tools
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 proyekto sa tldr pages.

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 panid sa proyekto jq o sa tldr.

5. fd vs pagpangita

fd mao ang usa ka gipayano nga alternatibo sa pagpangita utility. Ang Fd dili gituyo nga pulihan kini sa hingpit: kini adunay labing kasagaran nga mga setting nga gi-install nga default, nga nagtino sa kinatibuk-ang pamaagi sa pagtrabaho sa mga file.

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 mga virtual server nga adunay mga processor sa AMD EPYC, CPU core frequency hangtod sa 3.4 GHz. Ang labing kataas nga pagsumpo magtugot kanimo nga adunay usa ka pagbuto - 128 nga mga core sa CPU, 512 GB RAM, 4000 GB NVMe. Pagdali sa pag-order!

5 Modernong Alternatibo sa Karaang Linux Command Line Tools

Source: www.habr.com

Idugang sa usa ka comment