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.
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 (
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
Alapértelmezés szerint a htop így néz ki:
A felsővel ellentétben:
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
É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
5. fd vs find
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
Forrás: will.com