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.

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 () 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: 561540A 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 [ ] /mediaEzzel 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 ncdu2. htop vs top
— 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:

A top-tól eltérően:

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 .
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 OUTPUTA 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 jq-hoz vagy a tldr-hez.
5. fd vs find
— 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 .mdDe 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-findNem 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 , 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!
Forrás: habr.com
