5 Cov Kev Xaiv Niaj Hnub Niaj Hnub rau Cov Cuab Yeej Siv Linux qub

Los ntawm kev siv cov kev xaiv niaj hnub no nrog rau cov cuab yeej siv qub qub, koj tuaj yeem muaj kev lom zem ntau dua thiab tseem txhim kho koj cov khoom tsim tau.

5 Cov Kev Xaiv Niaj Hnub Niaj Hnub rau Cov Cuab Yeej Siv Linux qub

Hauv peb txoj haujlwm niaj hnub ntawm Linux / Unix, peb siv ntau cov cuab yeej kab hais kom ua - piv txwv li, du los saib xyuas kev siv disk thiab cov peev txheej. Qee cov cuab yeej no tau nyob ib puag ncig ntev. Piv txwv li, sab saum toj tau tshwm sim hauv 1984, thiab thawj qhov kev tso tawm du hnub rov qab mus rau 1971.

Tau ntau xyoo, cov cuab yeej no tau hloov kho tshiab thiab xa mus rau cov tshuab sib txawv, tab sis feem ntau lawv tsis tau txav deb ntawm lawv cov thawj versions, lawv cov tsos thiab kev siv tau kuj tsis hloov ntau.

Cov no yog cov cuab yeej zoo uas ntau tus thawj tswj hwm xav tau. Txawm li cas los xij, lub zej zog tau tsim lwm yam cuab yeej uas muaj txiaj ntsig ntxiv. Ib txhia ntawm lawv tsuas muaj niaj hnub, zoo nkauj interface, thaum lwm tus zoo heev txhim kho usability. Hauv kev txhais lus no, peb yuav tham txog tsib txoj hauv kev rau cov txheej txheem Linux hais kom ua kab.

1. ncdu vs du

NCurses Disk Usage (ncd ua) zoo ib yam li du, tab sis nrog kev sib tham sib cuam tshuam raws li lub tsev qiv ntawv curses. ncdu qhia cov qauv qhia uas siv feem ntau ntawm koj qhov chaw disk.

ncdu txheeb xyuas cov disk thiab tom qab ntawd qhia cov txiaj ntsig tau txheeb los ntawm cov npe siv feem ntau lossis cov ntaub ntawv, piv txwv li:

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

Koj tuaj yeem taug kev los ntawm cov ntawv nkag uas siv cov xub yuam sij. Yog tias koj nias Enter, ncdu yuav tso saib cov ntsiab lus ntawm cov npe xaiv:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Koj tuaj yeem siv cov cuab yeej no, piv txwv li, txiav txim siab seb cov ntaub ntawv twg tau siv ntau qhov chaw disk. Koj tuaj yeem mus rau daim ntawv teev npe yav dhau los los ntawm nias lub pob nyem laug. Nrog ncdu koj tuaj yeem rho tawm cov ntaub ntawv los ntawm nias tus yuam sij d. Nws nug kom paub meej ua ntej rho tawm. Yog tias koj xav lov tes taw tshem tawm cov yam ntxwv los tiv thaiv kev poob ntawm cov ntaub ntawv tseem ceeb, siv qhov kev xaiv -r los pab kom nyeem nkaus xwb hom: ncdu -r.

ncdu muaj rau ntau lub Linux platforms thiab kev faib tawm. Piv txwv li, koj tuaj yeem siv dnf los nruab rau ntawm Fedora ncaj qha los ntawm cov chaw khaws ntaub ntawv:

$ sudo dnf install ncdu

2. htop vs saum

Tojsiab yog tus txheej txheem sib tham sib saib zoo ib yam li sab saum toj, tab sis tawm ntawm lub thawv nws muab kev paub zoo rau cov neeg siv. Los ntawm lub neej ntawd, htop qhia tib cov ntaub ntawv raws li sab saum toj, tab sis nyob rau hauv ib qho kev pom ntau dua thiab muaj yeeb yuj.

Los ntawm default htop zoo li no:

5 Cov Kev Xaiv Niaj Hnub Niaj Hnub rau Cov Cuab Yeej Siv Linux qub
Tsis zoo li saum:

5 Cov Kev Xaiv Niaj Hnub Niaj Hnub rau Cov Cuab Yeej Siv Linux qub
Tsis tas li ntawd, htop tso saib cov ntaub ntawv qhia txog lub kaw lus nyob rau saum toj, thiab lub vaj huam sib luag rau kev khiav cov lus txib siv cov yuam sij ua haujlwm hauv qab. Koj tuaj yeem teeb tsa nws los ntawm nias F2 txhawm rau qhib lub vijtsam teeb tsa. Hauv Chaw, koj tuaj yeem hloov xim, ntxiv lossis tshem tawm cov ntsuas ntsuas, lossis hloov cov kev xaiv saib vaj huam sib luag.

Txawm hais tias koj tuaj yeem ua tiav qhov kev siv tau zoo sib xws los ntawm kev tweaking cov chaw ntawm qhov tseeb versions ntawm sab saum toj, htop muab kev teeb tsa yooj yim, uas ua rau nws siv tau ntau dua thiab siv tau yooj yim dua.

3. tldr vs man

Cov cuab yeej tldr hais kom ua kab qhia yooj yim cov ntaub ntawv qhia txog cov lus txib, feem ntau piv txwv. Nws tau tsim los ntawm zej zog tldr pages project.

Nws tsim nyog sau cia tias tldr tsis yog hloov pauv rau txiv neej. Nws tseem yog canonical thiab feem ntau cov txiv neej nplooj ntawv tso zis cuab tam. Txawm li cas los xij, qee zaum tus txiv neej yog redundant. Thaum koj tsis xav tau cov ntaub ntawv qhia txog kev hais kom ua, koj tsuas yog sim nco ntsoov nws cov kev siv yooj yim. Piv txwv li, tus txiv neej nplooj ntawv rau cov lus txib curl muaj yuav luag 3000 kab. Nplooj tldr rau curl yog 40 kab ntev. Nws fragment zoo li no:


$ 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 txhais tau tias "ntev dhau lawm; tsis tau nyeem": qhov ntawd yog, qee cov ntawv tsis quav ntsej vim nws qhov kev hais lus ntau dhau. Lub npe yog tsim nyog rau cov cuab yeej no vim hais tias tus txiv neej nplooj ntawv, thaum pab tau, tej zaum yuav ntev dhau lawm.

Rau Fedora, tldr tau sau rau hauv Python. Koj tuaj yeem nruab nws siv dnf tus thawj tswj hwm. Feem ntau, lub cuab yeej xav tau kev nkag mus rau hauv internet los ua haujlwm. Tab sis Fedora tus neeg siv Python tso cai rau cov nplooj ntawv no rub tawm thiab cached rau kev nkag mus offline.

4.jq vs sed/grep

jq yog JSON processor rau kab hais kom ua. Nws zoo ib yam li sed lossis grep, tab sis tshwj xeeb yog tsim los ua haujlwm nrog JSON cov ntaub ntawv. Yog tias koj yog tus tsim tawm lossis tus thawj tswj hwm uas siv JSON hauv kev ua haujlwm txhua hnub, qhov no yog lub cuab yeej rau koj.

Qhov txiaj ntsig tseem ceeb ntawm jq dhau cov txheej txheem ua cov cuab yeej xws li grep thiab sed yog tias nws nkag siab txog JSON cov ntaub ntawv qauv, tso cai rau koj los tsim cov lus nug nyuaj hauv ib qho kev qhia.

Piv txwv li, koj tab tom sim nrhiav cov npe ntim hauv cov ntaub ntawv JSON no:

{
  "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"
  }
}

Khiav grep kom pom cov hlua lub npe:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep rov qab tag nrho cov kab uas muaj lo lus lub npe. Koj tuaj yeem ntxiv ob peb txoj kev xaiv ntxiv rau grep kom txwv nws, thiab siv qee qhov kev qhia tsis tu ncua kom pom cov npe ntim.

Kom tau txais cov txiaj ntsig zoo ib yam siv jq, tsuas yog sau:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Cov lus txib no yuav muab cov npe ntawm ob lub thawv rau koj. Yog tias koj tab tom nrhiav tsuas yog lub npe ntawm lub thawv thib ob, ntxiv qhov Performance index ntawm cov khoom array rau cov lus qhia:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Txij li thaum jq paub txog cov qauv ntaub ntawv, nws tsim cov txiaj ntsig tib yam txawm tias cov ntaub ntawv hloov pauv me ntsis. grep thiab sed tej zaum yuav tsis ua haujlwm raug rau qhov no.

jq muaj ntau txoj haujlwm, tab sis lwm tsab xov xwm yuav tsum tau piav qhia lawv. Yog xav paub ntxiv thov hu rau nplooj ntawv qhov project jq lub tldr.

5.fd vs pom

fd yog ib txoj hauv kev yooj yim rau kev nrhiav khoom siv. Fd tsis yog npaj los hloov nws tag nrho: nws muaj ntau qhov chaw teeb tsa los ntawm lub neej ntawd, txhais txoj hauv kev rau kev ua haujlwm nrog cov ntaub ntawv.

Piv txwv li, thaum tshawb nrhiav cov ntaub ntawv hauv Git repository directory, fd cia li tshem tawm cov ntaub ntawv zais thiab subdirectories, suav nrog .git directory, thiab tseem tsis quav ntsej cov ntawv qub los ntawm cov ntaub ntawv .gitignore. Zuag qhia tag nrho, nws ua kom nrawm rau kev tshawb fawb los ntawm kev xa rov qab cov txiaj ntsig muaj txiaj ntsig ntau dua rau thawj zaug sim.

Los ntawm lub neej ntawd, fd ua qhov kev tshawb nrhiav tsis txaus ntseeg hauv cov npe tam sim no, nrog cov zis xim. Kev tshawb nrhiav tib yam uas siv cov lus txib nrhiav yuav tsum tau nkag mus rau cov kev txwv ntxiv ntawm kab hais kom ua. Piv txwv li, txhawm rau nrhiav tag nrho .md (lossis .MD) cov ntaub ntawv hauv cov npe tam sim no, koj yuav sau ib qho kev nrhiav pom zoo li no:

$ find . -iname "*.md"

Rau fd nws zoo li no:

$ fd .md

Tab sis qee zaum, fd kuj xav tau kev xaiv ntxiv: piv txwv li, yog tias koj xav kom suav nrog cov ntaub ntawv zais thiab cov npe, koj yuav tsum siv qhov kev xaiv -H, txawm hais tias qhov no feem ntau tsis tas yuav tsum tau tshawb nrhiav.

fd muaj rau ntau qhov kev faib tawm Linux. Hauv Fedora nws tuaj yeem ntsia tau zoo li no:

$ sudo dnf install fd-find

Koj tsis tas yuav tso dab tsi

Koj puas siv cov cuab yeej tshiab Linux hais kom ua kab? Lossis koj puas zaum tshwj xeeb rau cov laus? Tab sis feem ntau yuav koj muaj combo, txoj cai? Thov qhia koj qhov kev paub hauv cov lus.

Rau Txoj Cai Kev Tshaj Tawm

Ntau tus ntawm peb cov neeg tau txais kev pab tau txaus siab rau cov txiaj ntsig epic servers!
no virtual servers nrog AMD EPYC processors, CPU core zaus mus txog 3.4 GHz. Qhov kev teeb tsa siab tshaj plaws yuav tso cai rau koj kom muaj qhov tawg - 128 CPU cores, 512 GB RAM, 4000 GB NVMe. Ceev nrooj kom xaj!

5 Cov Kev Xaiv Niaj Hnub Niaj Hnub rau Cov Cuab Yeej Siv Linux qub

Tau qhov twg los: www.hab.com

Ntxiv ib saib