5 modern alternatíva a régi Linux parancssori eszközökhöz

A modernebb alternatívák és a régi parancssori eszközök együttes használatával nagyobb élvezetet és még a munka termelékenységének növelését érhetjük el.

5 modern alternatíva a régi Linux parancssori eszközökhöz

A Linux / Unix mindennapi munkáink során számos parancssori eszközt használunk — például a du-t a lemezkihasználás és rendszergazdai erőforrások nyomon követésére. Ezek közül sok eszköz már régóta létezik. Például a top 1984-ben jelent meg, a du első kiadása pedig 1971-ből való.

Az elmúlt évek során ezeket az eszközöket korszerűsítették és különböző rendszerekre portolták, de összességében nem távolodtak el az eredeti verzióiktól, megjelenésük és használhatóságuk sem sokat változott.

Ezek remek eszközök, amelyeket sok rendszergazdának szüksége van. Ugyanakkor a közösség alternatív eszközöket is kifejlesztett, amelyek extra előnyöket kínálnak. Néhányuk egyszerűen modern, vonzó interfésszel rendelkezik, míg mások jelentősen javítják a használhatóságot. Ebben a fordításban öt alternatívát mutatunk be a Linux parancssori eszközeinek standard változatai helyett.

1. ncdu vs du

A NCurses Disk Usage (ncdu) hasonlít a du-hoz, de interaktív interfészsel rendelkezik a curses könyvtár alapján. Az ncdu bemutatja azokat a könyvtárak struktúráját, amelyek a lemezterület nagy részét foglalják el.

Az ncdu elemzi a lemezt, majd megjeleníti az eredményeket a leggyakrabban használt könyvtárak vagy fájlok alapján, például:

ncdu 1.14.2 ~ Használja a nyílbillentyűket a navigáláshoz, nyomja meg a ?-t a segítséghez
--- /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
 A teljes lemezhasználat: 159.4 GiB  Látszólagos méret: 280.8 GiB  Elemek: 561540

A bejegyzések között az irányított nyilakkal lehet navigálni. Ha megnyomja az Enter-t, az ncdu megjeleníti a kiválasztott könyvtár tartalmát:

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

Ezzel az eszközzel például meghatározhatja, mely fájlok foglalják el a legnagyobb lemezterületet. A korábbi könyvtárba balra nyíl gomb megnyomásával léphet vissza. Az ncdu segítségével fájlokat törölhet a d billentyű megnyomásával. A törlés előtt megerősítést kér. Ha le szeretné tiltani a törlési funkciót, hogy megakadályozza értékes fájlok véletlen elvesztését, használja az -r opciót a csak olvasási mód engedélyezéséhez: ncdu -r.

Az ncdu számos platformon és Linux disztribúcióban elérhető. Például a dnf használatával telepítheti Fedora alatt közvetlenül az hivatalos tárolókból:

$ sudo dnf install ncdu

2. htop vs top

Htop — egy interaktív folyamatfigyelő eszköz, amely hasonló a top-hoz, de alapértelmezés szerint kellemes felhasználói élményt biztosít. Alapértelmezett beállítások mellett a htop ugyanazt az információt jeleníti meg, mint a top, de egy színesebb és vizuálisan vonzóbb formában.

Alapértelmezés szerint a htop így néz ki:

5 modern alternatíva a régi Linux parancssori eszközökhöz
A top-tól eltérően:

5 modern alternatíva a régi Linux parancssori eszközökhöz
Ezen kívül a htop tetején áttekintő információkat mutat a rendszerről, míg az alsó részben parancsok végrehajtására szolgáló panel található funkciógombok segítségével. Ezt testre szabhatja az F2 megnyomásával a beállítási képernyő megnyitásához. A beállítások között módosíthatja a színeket, hozzáadhatja vagy eltávolíthatja a mutatókat, vagy módosíthatja az áttekintő panel megjelenítési paramétereit.

Bár az utolsó verziók top beállításaival hasonló használhatóságot is elérhetünk, a htop az alapértelmezett beállítások révén kényelmesebb konfigurációkat tesz lehetővé, ami praktikusabbá és egyszerűbbé teszi a használatát.

3. tldr vs man

A tldr parancssori eszköz egyszerűsített tájékoztatást ad a parancsokról, főleg példákat. Ezt a közösség fejlesztette ki tldr pages project.

Fontos megjegyezni, hogy a tldr nem helyettesíti a man-t. Az továbbra is a hivatalos és legteljesebb eszköz a képzési oldalak megjelenítéséhez. Mindazonáltal bizonyos esetekben a man túlságosan részletes. Amikor nincs szüksége teljeskörű információra egy parancsról, csak az alapvető használati lehetőségeit próbálja megjegyezni. Például a curl parancs man oldala majdnem 3000 sorból áll. A tldr oldal curl-hez 40 sor hosszú. Egy részlete így néz ki:


$ tldr curl

# curl
  Adatok átvitele szerverről vagy a szerverre.
  Támogatja a legtöbb protokollt, beleértve a HTTP-t, FTP-t és POP3-at.
  További információ: .

- Töltsd le az URL tartalmát egy fájlba:

  curl http://example.com -o fájlname

- Töltsd le a fájlt, az URL által megadott fájlnevet használva:

  curl -O http://example.com/filename

- Töltsd le a fájlt, követve a [L]okáció átirányításokat, és automatikusan [C]ontinuálva (folytatva) egy korábbi fájlátvitelt:

  curl -O -L -C - http://example.com/filename

- Küldj formázott adatokat (POST kérelem `application/x-www-form-urlencoded` típusú):

  curl -d 'name=bob' http://example.com/form
- Küldj egy kérést egy extra fejléccel, használva egy egyedi HTTP-módszert:

  curl -H 'X-My-Header: 123' -X PUT http://example.com
- Küldj adatokat JSON formátumban, megadva a megfelelő tartalom-típusú hivatkozó fejlécet:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

A TLDR jelentése „túl hosszú; nem olvastam”: azaz egy bizonyos szöveget figyelmen kívül hagytak a túlzott szószátyárság miatt. A név illik ehhez az eszközhöz, mert a man-oldalak bár hasznosak, néha túl hosszúak.

Fedora 4-re a tldr Python nyelven készült. A dnf csomagkezelő segítségével telepíthető. Az eszköz működéséhez általában internet-hozzáférés szükséges. De a Python kliens Fedórában lehetővé teszi ezeknek az oldalaknak a letöltését és gyorsítótárazását offline hozzáférés érdekében.

4. jq vs sed/grep

A jq egy JSON feldolgozó parancssori eszköz. Hasonló a sed-hez vagy a grep-hez, de kifejezetten a JSON formátumú adatokkal való munkára lett kifejlesztve. Ha fejlesztő vagy rendszergazda vagy, aki a JSON-t mindennapi feladatokban használja, ez az eszköz neked való.

A jq fő előnye a standard szövegfeldolgozó eszközökkel, mint például a grep és sed, szemben az, hogy megérti a JSON adatok struktúráját, lehetővé téve összetett lekérdezések létrehozását egyetlen kifejezésben.

Például amikor megpróbálod megtalálni a tartályok nevét ebben a JSON fájlban:

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

Futtasd a grep-et a name: sor keresésére:

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

A grep minden olyan sort visszaadott, amely tartalmazza a name szót. További paramétereket adhatsz hozzá a grephez a korlátozás érdekében, és néhány reguláris kifejezés manipulálásával megtalálhatod a konténerek neveit.

A jq segítségével ugyanazt az eredményt egyszerűen így kaphatod meg:

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

Ez a parancs a két konténer nevét adja vissza. Ha csak a második konténer nevét keresed, a tömb indexét adj hozzá a kifejezéshez:

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

Mivel a jq ismeri az adatok struktúráját, ugyanazokat az eredményeket adja, még ha a fájl formátuma kissé meg is változik. A grep és a sed ebben az esetben rosszul működhet.

A jq-nak sok funkciója van, de ezek leírásához egy másik cikk szükséges. További információkért fordulj a projekt oldalán jq-hoz vagy a tldr-hez.

5. fd vs find

fd — egy egyszerűsített alternatívája a find eszköznek. Az fd nem célja a teljes helyettesítés; alapértelmezés szerint a leggyakoribb beállítások vannak rajta, amelyek meghatározzák a fájlokkal való munka általános megközelítését.

Például, ha fájlokat keresel a Git tároló mappájában, az fd automatikusan kizárja a rejtett fájlokat és almappákat, beleértve a .git mappát is, valamint figyelmen kívül hagyja a .gitignore fájl mintáit. Összességében felgyorsítja a keresést, relevánsabb eredményeket adva az első próbálkozáskor.

Alapértelmezés szerint az fd kisbetűk figyelmen kívül hagyásával keresi az aktuális mappában, színes kimenettel. Ugyanez a keresés a find parancs használatával további paraméterek megadását igényli a parancssorban. Például, ha az aktuális mappában szeretnéd megtalálni az összes .md (vagy .MD) fájlt, a find parancs így néz ki:

$ find . -iname "*.md"

Az fd esetében ez így néz ki:

$ fd .md

De egyes esetekben az fd-nek is szüksége lehet további paraméterekre: például, ha szeretnéd bevenni a rejtett fájlokat és mappákat, használnod kell a -H opciót, bár általában erre a keresések során nincs szükség.

Az fd számos Linux disztribúcióhoz elérhető. Fedórán a következőképpen telepíthető:

$ sudo dnf install fd-find

Nem szükséges lemondani semmiről

Használsz új Linux parancssori eszközöket? Vagy kizárólag a régiakon ülsz? De valószínűleg van egy kombinációd, ugye? Kérlek, oszd meg tapasztalataidat a megjegyzésekben.

Hirdetés

Sok ügyfelünk már értékelte az epikus szerverek!
Ez AMD EPYC processzorral rendelkező virtuális szerverek előnyeit, a CPU core frequency of up to 3.4 GHz. The maximum configuration allows for full performance — 128 CPU cores, 512 GB RAM, 4000 GB NVMe. Hurry and order!

5 modern alternatíva a régi Linux parancssori eszközökhöz

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster