Korištenjem modernijih alternativa uz starije alate naredbenog retka, možete se više zabaviti i čak poboljšati svoju produktivnost.
U našem svakodnevnom radu na Linuxu/Unixu koristimo mnoge alate naredbenog retka - na primjer, du za praćenje upotrebe diska i resursa sustava. Neki od ovih alata postoje već duže vrijeme. Primjerice, top se pojavio 1984., a prvo izdanje du datira iz 1971. godine.
Tijekom godina ovi su se alati modernizirali i prenosili na različite sustave, no općenito nisu odmakli daleko od svojih prvih verzija, njihov izgled i upotrebljivost također se nisu puno promijenili.
Ovo su sjajni alati koji su potrebni mnogim administratorima sustava. Međutim, zajednica je razvila alternativne alate koji nude dodatne pogodnosti. Neki od njih jednostavno imaju moderno, lijepo sučelje, dok drugi uvelike poboljšavaju upotrebljivost. U ovom prijevodu govorit ćemo o pet alternativa standardnim alatima naredbenog retka za Linux.
1. ncdu vs du
Upotreba diska NCurses (
ncdu analizira disk i zatim prikazuje rezultate poredane prema najčešće korištenim direktorijima ili datotekama, na primjer:
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
Možete se kretati kroz unose pomoću tipki sa strelicama. Ako pritisnete Enter, ncdu će prikazati sadržaj odabranog direktorija:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Pomoću ovog alata možete, primjerice, odrediti koje datoteke zauzimaju najviše prostora na disku. Možete prijeći na prethodni direktorij pritiskom na tipku sa lijevom strelicom. Pomoću ncdu možete izbrisati datoteke pritiskom na tipku d. Prije brisanja traži potvrdu. Ako želite onemogućiti značajku brisanja kako biste spriječili slučajni gubitak vrijednih datoteka, koristite opciju -r da biste omogućili način pristupa samo za čitanje: ncdu -r.
ncdu je dostupan za mnoge Linux platforme i distribucije. Na primjer, možete koristiti dnf da ga instalirate na Fedoru izravno iz službenih repozitorija:
$ sudo dnf install ncdu
2. htop vs vrh
Prema zadanim postavkama htop izgleda ovako:
Za razliku od vrha:
Osim toga, htop prikazuje pregledne informacije o sustavu na vrhu, a panel za pokretanje naredbi pomoću funkcijskih tipki na dnu. Možete ga konfigurirati pritiskom na F2 za otvaranje konfiguracijskog zaslona. U Postavkama možete promijeniti boje, dodati ili ukloniti mjerne podatke ili promijeniti opcije prikaza ploče pregleda.
Iako možete postići sličnu upotrebljivost podešavanjem postavki najnovijih verzija top-a, htop pruža prikladne zadane konfiguracije, što ga čini praktičnijim i lakšim za korištenje.
3. tldr protiv čovjeka
Alat naredbenog retka tldr prikazuje pojednostavljene informacije pomoći o naredbama, uglavnom primjere. Razvila ga je zajednica
Vrijedno je napomenuti da tldr nije zamjena za čovjeka. To je još uvijek kanonski i najopsežniji alat za ispis stranice priručnika. Međutim, u nekim slučajevima čovjek je suvišan. Kada vam nisu potrebne sveobuhvatne informacije o naredbi, samo se pokušavate sjetiti njezine osnovne upotrebe. Na primjer, man stranica za curl naredbu sadrži gotovo 3000 redaka. Tldr stranica za curl duga je 40 redaka. Njegov fragment izgleda ovako:
$ 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 znači “predug; nije pročitao": to jest, neki tekst je zanemaren zbog svoje pretjerane opširnosti. Naziv je prikladan za ovaj alat jer stranice priručnika, iako korisne, ponekad mogu biti preduge.
Za Fedoru, tldr je napisan u Pythonu. Možete ga instalirati pomoću dnf managera. Za rad alata obično je potreban pristup internetu. Ali Fedorin Python klijent dopušta preuzimanje ovih stranica i spremanje u predmemoriju za izvanmrežni pristup.
4.jq u odnosu na sed/grep
jq je JSON procesor za naredbeni redak. Sličan je sed ili grep, ali je posebno dizajniran za rad s JSON podacima. Ako ste programer ili administrator sustava koji koristi JSON u svakodnevnim zadacima, ovo je alat za vas.
Glavna prednost jq-a u odnosu na standardne alate za obradu teksta kao što su grep i sed je ta što razumije JSON strukturu podataka, što vam omogućuje stvaranje složenih upita u jednom izrazu.
Na primjer, pokušavate pronaći nazive spremnika u ovoj JSON datoteci:
{
"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"
}
}
Pokrenite grep da pronađete naziv niza:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep je vratio sve retke koji sadrže riječ name. Možete dodati još nekoliko parametara u grep kako biste ga ograničili i uz neke manipulacije regularnim izrazima pronašli nazive spremnika.
Da biste dobili isti rezultat koristeći jq, samo napišite:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Ova naredba će vam dati imena oba spremnika. Ako tražite samo naziv drugog spremnika, izrazu dodajte indeks elementa polja:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
Budući da jq zna za strukturu podataka, daje iste rezultate čak i ako se format datoteke malo promijeni. grep i sed možda neće raditi ispravno u ovom slučaju.
jq ima mnogo funkcija, ali potreban je još jedan članak za njihovo opisivanje. Za više informacija obratite se
5. fd vs naći
Na primjer, kada tražite datoteke u direktoriju Git repozitorija, fd automatski isključuje skrivene datoteke i poddirektorije, uključujući .git direktorij, a također zanemaruje zamjenske znakove iz .gitignore datoteke. Općenito, ubrzava pretraživanja vraćanjem relevantnijih rezultata pri prvom pokušaju.
Prema zadanim postavkama, fd izvodi pretraživanje bez obzira na velika i mala slova u trenutnom direktoriju, s ispisom u boji. Ista pretraga pomoću naredbe find zahtijeva unos dodatnih parametara u naredbeni redak. Na primjer, da biste pronašli sve .md (ili .MD) datoteke u trenutnom direktoriju, napisali biste naredbu traženja ovako:
$ find . -iname "*.md"
Za fd to izgleda ovako:
$ fd .md
Ali u nekim slučajevima, fd također zahtijeva dodatne opcije: na primjer, ako želite uključiti skrivene datoteke i direktorije, morate koristiti opciju -H, iako to obično nije potrebno prilikom pretraživanja.
fd je dostupan za mnoge distribucije Linuxa. U Fedori se može instalirati ovako:
$ sudo dnf install fd-find
Ne morate se ničega odreći
Koristite li nove alate naredbenog retka za Linux? Ili sjedite isključivo na starkama? Ali najvjerojatnije imate kombinaciju, zar ne? Podijelite svoje iskustvo u komentarima.
O pravima oglašavanja
Mnogi naši klijenti već su cijenili prednosti epski poslužitelji!
ovo
Izvor: www.habr.com