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

Ha modernebb alternatívákat használ a régebbi parancssori eszközök mellett, jobban szórakozhat, sőt még termelékenységét is javíthatja.

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

A Linux/Unix rendszeren végzett mindennapi munkánk során számos parancssori eszközt használunk – például du a lemezhasználat és a rendszererőforrások figyelésére. Ezen eszközök némelyike ​​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 származik.

Az évek során ezeket az eszközöket korszerűsítették, különböző rendszerekre portolták, de általában nem mozdultak el az első verzióiktól, megjelenésük és használhatóságuk sem sokat változott.

Ezek nagyszerű eszközök, amelyekre sok rendszergazdának szüksége van. A közösség azonban olyan alternatív eszközöket fejlesztett ki, amelyek további előnyöket kínálnak. Némelyikük egyszerűen modern, szép felülettel rendelkezik, míg mások nagymértékben javítják a használhatóságot. Ebben a fordításban a szabványos Linux parancssori eszközök öt alternatívájáról fogunk beszélni.

1. ncdu vs du

NCurses lemezhasználat (ncdu) hasonló a du-hoz, de a curses könyvtáron alapuló interaktív felülettel. Az ncdu megjeleníti a lemezterület nagy részét elfoglaló könyvtárstruktúrát.

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

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

A bejegyzések között a nyílbillentyűkkel navigálhat. Ha megnyomja az Enter billentyű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, hogy mely fájlok foglalják el a legtöbb lemezterületet. A balra nyíl gomb megnyomásával léphet az előző könyvtárba. Az ncdu segítségével fájlokat törölhet a d gomb megnyomásával. A törlés előtt megerősítést kér. Ha szeretné letiltani a törlés funkciót, hogy megakadályozza az értékes fájlok véletlen elvesztését, használja az -r kapcsolót a csak olvasható hozzáférési mód engedélyezéséhez: ncdu -r.

Az ncdu számos Linux-platformhoz és disztribúcióhoz elérhető. Például a dnf segítségével közvetlenül a hivatalos tárolókból telepítheti a Fedorára:

$ sudo dnf install ncdu

2. htop vs top

htop egy interaktív folyamatnézegető, amely hasonló a tophoz, de a dobozból kivéve kellemes felhasználói élményt nyújt. Alapértelmezés szerint a htop ugyanazokat az információkat jeleníti meg, mint a top, de vizuálisabb és színesebb módon.

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

5 modern alternatíva a régi Linux parancssori eszközökhöz
A felsővel ellentétben:

5 modern alternatíva a régi Linux parancssori eszközökhöz
Ezenkívül a htop felül áttekintő információkat jelenít meg a rendszerről, alul pedig egy panelt a parancsok futtatásához funkcióbillentyűkkel. Beállíthatja az F2 billentyű lenyomásával a konfigurációs képernyő megnyitásához. A Beállításokban módosíthatja a színeket, hozzáadhat vagy eltávolíthat mutatókat, illetve módosíthatja az áttekintő panel megjelenítési beállításait.

Bár a top legújabb verzióinak beállításainak módosításával hasonló használhatóságot érhet el, a htop kényelmes alapértelmezett konfigurációkat biztosít, ami praktikusabb és könnyebben használható.

3. tldr vs ember

A tldr parancssori eszköz egyszerűsített súgó információkat jelenít meg a parancsokról, többnyire példákat. A közösség fejlesztette ki tldr oldalak projekt.

Érdemes megjegyezni, hogy a tldr nem helyettesíti az embert. Még mindig a kanonikus és legátfogóbb kézikönyvoldali kimeneti eszköz. Bizonyos esetekben azonban az ember felesleges. Ha nincs szüksége átfogó információra egy parancsról, akkor csak megpróbálja emlékezni az alapvető használatára. Például a curl parancs man oldala csaknem 3000 sort tartalmaz. A curl tldr oldala 40 soros. A töredéke így néz ki:


$ 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

A TLDR azt jelenti, hogy „túl hosszú; nem olvasta": vagyis néhány szöveget figyelmen kívül hagytak a túlzott bőbeszédűsége miatt. A név megfelelő ehhez az eszközhöz, mert a kézikönyvoldalak bár hasznosak, néha túl hosszúak lehetnek.

A Fedora esetében a tldr Python nyelven íródott. A dnf manager segítségével telepítheti. Az eszköz működéséhez általában internet-hozzáférésre van szükség. A Fedora Python kliense azonban lehetővé teszi ezen oldalak letöltését és gyorsítótárba helyezését offline hozzáféréshez.

4.jq vs sed/grep

A jq egy JSON processzor a parancssorhoz. Hasonló a sed-hez vagy grep-hez, de kifejezetten a JSON-adatokkal való együttműködésre tervezték. Ha Ön fejlesztő vagy rendszergazda, aki a mindennapi feladatok során használja a JSON-t, akkor ez az eszköz az Ön számára.

A jq fő előnye az olyan szabványos szövegfeldolgozó eszközökkel szemben, mint a grep és a sed, hogy megérti a JSON adatstruktúrát, lehetővé téve összetett lekérdezések létrehozását egyetlen kifejezésben.

Például tárolóneveket próbál keresni 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"
  }
}

Futtassa a grep-et a karakterlánc nevének megkereséséhez:

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

grep visszaadott minden sort, amely a szót tartalmazza. Hozzáadhat néhány további beállítást a grephez, hogy korlátozza azt, és néhány reguláris kifejezés-manipuláció segítségével megkeresheti a tárolóneveket.

Ha ugyanazt az eredményt szeretné elérni a jq használatával, csak írja be:

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

Ez a parancs megadja mindkét tároló nevét. Ha csak a második tároló nevét keresi, adja hozzá a tömbelem indexét a kifejezéshez:

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

Mivel a jq ismeri az adatstruktúrát, ugyanazokat az eredményeket produkálja, még akkor is, ha a fájlformátum kissé megváltozik. Ebben az esetben előfordulhat, hogy a grep és a sed nem működnek megfelelően.

A jq számos funkcióval rendelkezik, de ezek leírásához egy másik cikkre van szükség. További információért forduljon projekt oldala jq vagy tldr.

5. fd vs find

fd a kereső segédprogram egyszerűsített alternatívája. Az Fd nem helyettesíti teljesen: alapértelmezés szerint telepítve vannak a leggyakoribb beállítások, amelyek meghatározzák a fájlokkal való munka általános megközelítését.

Például, amikor egy Git lerakatkönyvtárban keres fájlokat, az fd automatikusan kizárja a rejtett fájlokat és alkönyvtárakat, beleértve a .git könyvtárat is, és figyelmen kívül hagyja a .gitignore fájl helyettesítő karaktereit is. Összességében felgyorsítja a keresést azáltal, hogy az első próbálkozásra relevánsabb találatokat ad vissza.

Alapértelmezés szerint az fd a kis- és nagybetűket nem érző keresést hajt végre az aktuális könyvtárban, színes kimenettel. Ugyanez a keresés a find paranccsal további paramétereket igényel a parancssorba. Például, ha az összes .md (vagy .MD) fájlt meg szeretné keresni az aktuális könyvtárban, írjon egy find parancsot:

$ find . -iname "*.md"

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

$ fd .md

De bizonyos esetekben az fd további beállításokat is igényel: például ha rejtett fájlokat és könyvtárakat akarunk beletenni, akkor a -H kapcsolót kell használni, bár ez általában nem szükséges a keresés során.

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

$ sudo dnf install fd-find

Nem kell lemondanod semmiről

Használja az új Linux parancssori eszközöket? Vagy kizárólag a régiekre ülsz? De valószínűleg van egy kombója, nem? Kérjük, ossza meg tapasztalatait a megjegyzésekben.

A Reklám Jogairól

Sok ügyfelünk már értékelte az előnyöket epikus szerverek!
Ezt virtuális szerverek AMD EPYC processzorokkal, CPU magfrekvenciája 3.4 GHz-ig. A maximális konfiguráció lehetővé teszi a robbanást - 128 CPU mag, 512 GB RAM, 4000 GB NVMe. Siess rendelni!

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

Forrás: will.com

Hozzászólás