5 modernih alternativa starim Linux alatima naredbenog retka

Korištenjem modernijih alternativa uz starije alate naredbenog retka, možete se više zabaviti i čak poboljšati svoju produktivnost.

5 modernih alternativa starim Linux alatima naredbenog retka

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) sličan je du, ali s interaktivnim sučeljem temeljenim na biblioteci curses. ncdu prikazuje strukturu direktorija koja zauzima većinu prostora na disku.

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

htop je interaktivni preglednik procesa sličan top-u, ali izvan kutije pruža lijepo korisničko iskustvo. Prema zadanim postavkama, htop prikazuje iste informacije kao i top, ali na vizualniji i šareniji način.

Prema zadanim postavkama htop izgleda ovako:

5 modernih alternativa starim Linux alatima naredbenog retka
Za razliku od vrha:

5 modernih alternativa starim Linux alatima naredbenog retka
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 projekt tldr stranica.

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 stranica projekta jq ili na tldr.

5. fd vs naći

fd je pojednostavljena alternativa uslužnom programu za pronalaženje. Fd ga ne namjerava potpuno zamijeniti: prema zadanim postavkama ima najčešće instalirane postavke koje definiraju opći pristup radu s datotekama.

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 virtualni poslužitelji s AMD EPYC procesorima, Frekvencija jezgre procesora do 3.4 GHz. Maksimalna konfiguracija omogućit će vam da uživate - 128 CPU jezgri, 512 GB RAM-a, 4000 GB NVMe. Požurite s narudžbom!

5 modernih alternativa starim Linux alatima naredbenog retka

Izvor: www.habr.com

Dodajte komentar