5 ժամանակակից այլընտրանքներ հին Linux հրամանի տող գործիքներին

Օգտագործելով ավելի ժամանակակից այլընտրանքներ հրամանի տողերի հին գործիքների հետ մեկտեղ, դուք կարող եք ավելի շատ զվարճանալ և նույնիսկ բարելավել ձեր արտադրողականությունը:

5 ժամանակակից այլընտրանքներ հին Linux հրամանի տող գործիքներին

Linux/Unix-ի վրա մեր ամենօրյա աշխատանքի ընթացքում մենք օգտագործում ենք հրամանի տողի բազմաթիվ գործիքներ, օրինակ՝ սկավառակի օգտագործումը և համակարգի ռեսուրսները վերահսկելու համար: Այս գործիքներից մի քանիսը գոյություն ունեն երկար ժամանակ: Օրինակ՝ թոփը հայտնվեց 1984 թվականին, իսկ du-ի առաջին թողարկումը սկսվեց 1971 թվականին։

Տարիների ընթացքում այս գործիքները արդիականացվել և տեղափոխվել են տարբեր համակարգեր, բայց ընդհանուր առմամբ դրանք շատ չեն հեռացել իրենց առաջին տարբերակներից, դրանց տեսքն ու օգտագործելիությունը նույնպես առանձնապես չեն փոխվել։

Սրանք հիանալի գործիքներ են, որոնք շատ համակարգային ադմինիստրատորների կարիք ունեն: Այնուամենայնիվ, համայնքը մշակել է այլընտրանքային գործիքներ, որոնք առաջարկում են լրացուցիչ առավելություններ: Նրանցից ոմանք պարզապես ունեն ժամանակակից, գեղեցիկ ինտերֆեյս, իսկ մյուսները մեծապես բարելավում են օգտագործելիությունը: Այս թարգմանության մեջ մենք կխոսենք ստանդարտ Linux հրամանի տող գործիքների հինգ այլընտրանքների մասին:

1. ncdu vs du

NCurses սկավառակի օգտագործումը (ncdu) նման է du-ին, բայց անեծքների գրադարանի վրա հիմնված ինտերակտիվ ինտերֆեյսով։ ncdu-ն ցուցադրում է գրացուցակի կառուցվածքը, որը զբաղեցնում է ձեր սկավառակի տարածքի մեծ մասը:

ncdu-ն վերլուծում է սկավառակը և այնուհետև ցուցադրում արդյունքները՝ դասավորված ըստ ամենահաճախ օգտագործվող դիրեկտորիաների կամ ֆայլերի, օրինակ՝

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

Դուք կարող եք նավարկել մուտքերի միջով՝ օգտագործելով սլաքների ստեղները: Եթե ​​սեղմեք Enter, ncdu-ն կցուցադրի ընտրված գրացուցակի բովանդակությունը.

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

Դուք կարող եք օգտագործել այս գործիքը, օրինակ, որոշելու համար, թե որ ֆայլերն են զբաղեցնում սկավառակի առավելագույն տարածքը: Դուք կարող եք գնալ նախորդ գրացուցակ՝ սեղմելով ձախ սլաքի ստեղնը: ncdu-ի միջոցով դուք կարող եք ջնջել ֆայլերը՝ սեղմելով d ստեղնը: Այն պահանջում է հաստատել նախքան ջնջելը: Եթե ​​ցանկանում եք անջատել ջնջման հնարավորությունը՝ արժեքավոր ֆայլերի պատահական կորուստը կանխելու համար, օգտագործեք -r տարբերակը՝ միայն կարդալու մուտքի ռեժիմը միացնելու համար՝ ncdu -r:

ncdu-ն հասանելի է Linux-ի բազմաթիվ հարթակների և բաշխումների համար: Օրինակ, դուք կարող եք օգտագործել dnf՝ այն Fedora-ում ուղղակիորեն պաշտոնական պահոցներից տեղադրելու համար.

$ sudo dnf install ncdu

2. htop vs top

Հտոպ ինտերակտիվ պրոցեսների դիտիչ է, որը նման է վերևին, բայց այն ապահովում է օգտագործողի հաճելի փորձ: Լռելյայնորեն, htop-ը ցուցադրում է նույն տեղեկատվությունը, ինչ վերևում, բայց ավելի տեսողական և գունեղ ձևով:

Լռելյայն htop-ն այսպիսի տեսք ունի.

5 ժամանակակից այլընտրանքներ հին Linux հրամանի տող գործիքներին
Ի տարբերություն վերևի.

5 ժամանակակից այլընտրանքներ հին Linux հրամանի տող գործիքներին
Բացի այդ, htop-ը վերևում ցուցադրում է համակարգի մասին ընդհանուր տեղեկատվությունը, իսկ ներքևում գտնվող ֆունկցիոնալ ստեղների միջոցով հրամաններ գործարկելու վահանակ: Դուք կարող եք այն կարգավորել՝ սեղմելով F2՝ կազմաձևման էկրանը բացելու համար: Կարգավորումներում դուք կարող եք փոխել գույները, ավելացնել կամ հեռացնել չափորոշիչները կամ փոխել ընդհանուր վահանակի ցուցադրման ընտրանքները:

Թեև դուք կարող եք ձեռք բերել նմանատիպ օգտագործման հնարավորություն՝ շտկելով վերևի վերջին տարբերակների կարգավորումները, htop-ն ապահովում է հարմար լռելյայն կոնֆիգուրացիաներ, ինչը դարձնում է ավելի գործնական և հեշտ օգտագործման համար:

3. tldr ընդդեմ տղամարդու

tldr հրամանի տողի գործիքը ցուցադրում է պարզեցված օգնության տեղեկատվություն հրամանների մասին, հիմնականում օրինակներ: Այն մշակվել է համայնքի կողմից tldr էջերի նախագիծ.

Հարկ է նշել, որ tldr-ը չի փոխարինում տղամարդուն: Այն դեռ կանոնական և ամենաընդգրկուն մարդ էջի ելքային գործիքն է: Այնուամենայնիվ, որոշ դեպքերում մարդը ավելորդ է: Երբ հրամանի մասին համապարփակ տեղեկատվության կարիք չունեք, դուք պարզապես փորձում եք հիշել դրա հիմնական օգտագործումը: Օրինակ, curl հրամանի մարդ էջը պարունակում է գրեթե 3000 տող: Curl-ի tldr էջը 40 տող է: Նրա հատվածն այսպիսի տեսք ունի.


$ 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 նշանակում է «շատ երկար; չի կարդացել», այսինքն՝ որոշ տեքստ անտեսվել է չափից դուրս խոսակցության պատճառով։ Անունը տեղին է այս գործիքի համար, քանի որ մարդու էջերը, թեև օգտակար են, երբեմն կարող են չափազանց երկար լինել:

Fedora-ի համար tldr-ը գրվել է Python-ով: Դուք կարող եք տեղադրել այն՝ օգտագործելով dnf manager: Որպես կանոն, գործիքը գործելու համար պահանջում է ինտերնետ հասանելիություն: Բայց Fedora-ի Python հաճախորդը թույլ է տալիս այս էջերը ներբեռնել և քեշավորել անցանց մուտքի համար:

4.jq vs sed/grep

jq-ը JSON պրոցեսոր է հրամանի տողի համար: Այն նման է sed-ին կամ grep-ին, բայց հատուկ նախագծված է JSON տվյալների հետ աշխատելու համար: Եթե ​​դուք ծրագրավորող կամ համակարգի ադմինիստրատոր եք, ով օգտագործում է JSON-ն առօրյա առաջադրանքներում, սա ձեզ համար գործիք է:

jq-ի հիմնական առավելությունը ստանդարտ տեքստի մշակման գործիքների նկատմամբ, ինչպիսիք են grep-ը և sed-ը, այն է, որ այն հասկանում է JSON տվյալների կառուցվածքը, ինչը թույլ է տալիս ստեղծել բարդ հարցումներ մեկ արտահայտությամբ:

Օրինակ, դուք փորձում եք գտնել բեռնարկղերի անուններ այս 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"
  }
}

Գործարկեք grep՝ տողի անունը գտնելու համար.

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

grep-ը վերադարձրեց անուն բառը պարունակող բոլոր տողերը: Դուք կարող եք ավելացնել ևս մի քանի պարամետր grep-ին՝ այն սահմանափակելու համար, և որոշ կանոնավոր արտահայտությունների մանիպուլյացիաներով գտնել կոնտեյների անունները:

jq-ի միջոցով նույն արդյունքը ստանալու համար պարզապես գրեք.

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

Այս հրամանը ձեզ կտա երկու բեռնարկղերի անունները: Եթե ​​փնտրում եք միայն երկրորդ կոնտեյների անվանումը, ավելացրեք զանգվածի տարրի ինդեքսը արտահայտությանը.

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

Քանի որ jq-ը գիտի տվյալների կառուցվածքի մասին, այն տալիս է նույն արդյունքները, նույնիսկ եթե ֆայլի ձևաչափը փոքր-ինչ փոխվում է: grep-ը և sed-ն այս դեպքում կարող են ճիշտ չաշխատել:

jq-ն ունի բազմաթիվ գործառույթներ, սակայն դրանք նկարագրելու համար անհրաժեշտ է մեկ այլ հոդված։ Լրացուցիչ տեղեկությունների համար խնդրում ենք դիմել նախագծի էջ jq կամ դեպի tldr.

5. fd vs գտնել

fd պարզեցված այլընտրանք է find utility-ին: Fd-ը նախատեսված չէ այն ամբողջությամբ փոխարինելու համար. այն ունի լռելյայն տեղադրված ամենատարածված կարգավորումները, որոնք սահմանում են ֆայլերի հետ աշխատելու ընդհանուր մոտեցումը:

Օրինակ, երբ որոնում եք ֆայլեր Git պահոցի գրացուցակում, fd-ն ինքնաբերաբար բացառում է թաքնված ֆայլերը և ենթագրացուցակները, ներառյալ .git գրացուցակը, ինչպես նաև անտեսում է .gitignore ֆայլի նիշերը: Ընդհանուր առմամբ, այն արագացնում է որոնումները՝ վերադարձնելով ավելի համապատասխան արդյունքներ առաջին փորձից:

Լռելյայնորեն, fd-ն ընթացիկ գրացուցակում կատարում է մեծատառերի անզգայուն որոնում՝ գունավոր ելքով: Գտնել հրամանի օգտագործմամբ նույն որոնումը պահանջում է հրամանի տողում լրացուցիչ պարամետրեր մուտքագրել: Օրինակ, ընթացիկ գրացուցակում բոլոր .md (կամ .MD) ֆայլերը գտնելու համար դուք պետք է գրեք որոնման հրամանը, ինչպիսին է.

$ find . -iname "*.md"

fd-ի համար այն ունի հետևյալ տեսքը.

$ fd .md

Բայց որոշ դեպքերում fd-ը պահանջում է նաև լրացուցիչ տարբերակներ. օրինակ, եթե ցանկանում եք ներառել թաքնված ֆայլեր և գրացուցակներ, ապա պետք է օգտագործեք -H տարբերակը, չնայած որոնելիս դա սովորաբար չի պահանջվում:

fd-ը հասանելի է Linux-ի բազմաթիվ բաշխումների համար: Fedora-ում այն ​​կարող է տեղադրվել այսպես.

$ sudo dnf install fd-find

Պետք չէ ոչինչ զիջել

Դուք օգտագործում եք Linux հրամանի տողի նոր գործիքները: Թե՞ բացառապես հների վրա եք նստում։ Բայց, ամենայն հավանականությամբ, դուք ունեք կոմբինացիա, այնպես չէ՞: Խնդրում ենք կիսվել ձեր փորձով մեկնաբանություններում։

Գովազդի իրավունքների մասին

Մեր հաճախորդներից շատերն արդեն գնահատել են առավելությունները էպիկական սերվերներ!
այս վիրտուալ սերվերներ AMD EPYC պրոցեսորներով, պրոցեսորի հիմնական հաճախականությունը մինչև 3.4 ԳՀց: Առավելագույն կոնֆիգուրացիան թույլ կտա Ձեզ ունենալ պայթյուն՝ 128 պրոցեսորի միջուկ, 512 ԳԲ օպերատիվ հիշողություն, 4000 ԳԲ NVMe: Շտապե՛ք պատվիրել։

5 ժամանակակից այլընտրանքներ հին Linux հրամանի տող գործիքներին

Source: www.habr.com

Добавить комментарий