5 moderne alternative agli strumenti della riga di comando di Linux

Utilizzando alternative più moderne insieme ai vecchi strumenti della riga di comando, è possibile trarre maggiore piacere e addirittura aumentare la produttività.

5 moderne alternative agli strumenti della riga di comando di Linux

Nella nostra vita quotidiana con Linux / Unix utilizziamo molti strumenti della riga di comando, come ad esempio du per monitorare l'utilizzo del disco e delle risorse di sistema. Alcuni di questi strumenti esistono da molto tempo. Ad esempio, top è stato introdotto nel 1984 e la prima versione di du risale al 1971.

Nel corso degli anni, questi strumenti sono stati modernizzati e portati su diversi sistemi, ma in generale non si sono discostati molto dalle loro prime versioni, né il loro aspetto né la loro usabilità sono cambiati significativamente.

Si tratta di strumenti eccellenti, necessari a molti amministratori di sistema. Tuttavia, la comunità ha sviluppato strumenti alternativi che offrono vantaggi aggiuntivi. Alcuni di questi hanno semplicemente un'interfaccia moderna e gradevole, mentre altri migliorano notevolmente l'usabilità. In questa traduzione parleremo di cinque alternative agli strumenti standard della riga di comando di Linux.

1. ncdu vs du

NCurses Disk Usage (ncdu) è simile a du, ma con un'interfaccia interattiva basata sulla libreria curses. ncdu mostra la struttura delle directory che occupano la maggior parte del tuo spazio su disco.

ncdu analizza il disco e poi mostra i risultati ordinati per le directory o i file più utilizzati, ad esempio:

ncdu 1.14.2 ~ Usa le frecce per navigare, premi ? per aiuto
--- /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
 Utilizzo totale del disco: 159.4 GiB  Dimensione apparente: 280.8 GiB  Elementi: 561540

È possibile navigare tra le registrazioni utilizzando i tasti freccia. Se premi Invio, ncdu mostrerà il contenuto della cartella selezionata:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Puoi utilizzare questo strumento per, ad esempio, determinare quali file occupano più spazio su disco. Puoi tornare alla cartella precedente premendo la freccia sinistra. Con ncdu puoi eliminare i file premendo il tasto d. Prima di eliminare chiede conferma. Se desideri disabilitare la funzione di eliminazione per prevenire la perdita accidentale di file preziosi, utilizza l'opzione -r per attivare la modalità di sola lettura: ncdu -r.

Ncdu è disponibile per molte piattaforme e distribuzioni Linux. Puoi, ad esempio, utilizzare dnf per installarlo su Fedora direttamente dai repository ufficiali:

$ sudo dnf install ncdu

2. htop vs top

Htop è uno strumento interattivo per visualizzare i processi, simile a top, ma che fornisce un'interazione più piacevole con l'utente fin da subito. Di default, htop mostra le stesse informazioni di top, ma in un formato più visivo e colorato.

Per impostazione predefinita, htop appare così:

5 moderne alternative agli strumenti della riga di comando di Linux
A differenza di top:

5 moderne alternative agli strumenti della riga di comando di Linux
Inoltre, nella parte superiore di htop viene visualizzata una panoramica delle informazioni di sistema, mentre nella parte inferiore si trova un pannello per eseguire comandi tramite i tasti funzione. Puoi personalizzarlo premendo F2 per aprire lo schermo di configurazione. Nelle impostazioni, puoi cambiare i colori, aggiungere o rimuovere metriche o modificare le opzioni di visualizzazione del pannello di panoramica.

Sebbene, modificando le impostazioni delle ultime versioni di top, sia possibile ottenere un'usabilità simile, htop offre configurazioni più pratiche di default, rendendolo più comodo e semplice da usare.

3. tldr vs man

Lo strumento da riga di comando tldr visualizza informazioni sulle comandi semplificate, in gran parte esempi. È stato sviluppato dalla comunità tldr pages project.

Vale la pena notare che tldr non è un sostituto di man. Rimane comunque lo strumento canonico e più completo per visualizzare le pagine di manuale. Tuttavia, in alcuni casi, man è superfluo. Quando non hai bisogno di informazioni esaustive su un comando, stai semplicemente cercando di ricordare le opzioni principali al suo utilizzo. Ad esempio, la pagina man per il comando curl contiene quasi 3000 righe. La pagina tldr per curl ha una lunghezza di 40 righe. Un suo frammento appare così:


$ tldr curl

# curl
  Trasferisce dati da o verso un server.
  Supporta la maggior parte dei protocolli, inclusi HTTP, FTP e POP3.
  Maggiori informazioni: .

- Scarica il contenuto di un URL in un file:

  curl http://example.com -o filename

- Scarica un file, salvando l'output con il nome file indicato dall'URL:

  curl -O http://example.com/filename

- Scarica un file, seguendo i reindirizzamenti [L]ocation, e continuando automaticamente (riprendendo) un precedente trasferimento di file:

  curl -O -L -C - http://example.com/filename

- Invia dati codificati in formato modulo (richiesta POST di tipo `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form
- Invia una richiesta con un'intestazione extra, utilizzando un metodo HTTP personalizzato:

  curl -H 'X-My-Header: 123' -X PUT http://example.com
- Invia dati in formato JSON, specificando l'intestazione di tipo contenuto appropriato:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... OUTPUT TRONCATO

TLDR significa «troppo lungo; non letto»: cioè, un certo testo è stato ignorato a causa della sua eccessiva verbosità. Il nome si adatta a questo strumento, perché le pagine man, sebbene utili, a volte sono troppo lunghe.

Per Fedora, tldr è stato scritto in Python. Puoi installarlo tramite il gestore dnf. Di solito, è necessario l'accesso a Internet per far funzionare lo strumento. Ma il client Python in Fedora permette di scaricare e memorizzare in cache queste pagine per l'accesso offline.

4. jq vs sed/grep

jq è un elaboratore JSON per la riga di comando. È simile a sed o grep, ma specificamente progettato per lavorare con i dati in formato JSON. Se sei uno sviluppatore o un amministratore di sistema che utilizza JSON nelle attività quotidiane, questo strumento fa per te.

Il principale vantaggio di jq rispetto agli strumenti standard di elaborazione del testo, come grep e sed, è che comprende la struttura dei dati JSON, consentendo di creare query complesse in un'unica espressione.

Ad esempio, stai cercando i nomi dei contenitori in questo file JSON:

{
  "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"
  }
}

Esegui grep per cercare la stringa name:

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

grep ha restituito tutte le righe contenenti la parola name. Puoi aggiungere ulteriori parametri a grep per limitarlo e, con alcune manipolazioni delle espressioni regolari, trovare i nomi dei container.

Per ottenere lo stesso risultato con jq, basta scrivere:

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

Questo comando ti darà i nomi di entrambi i container. Se stai cercando solo il nome del secondo container, aggiungi l'indice dell'elemento dell'array nell'espressione:

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

Poiché jq conosce la struttura dei dati, fornisce gli stessi risultati anche se il formato del file cambia leggermente. grep e sed in questo caso potrebbero funzionare in modo impreciso.

jq ha molte funzionalità, ma per descriverle ci vorrebbe un altro articolo. Per ulteriori informazioni, consulta pagina del progetto jq o tldr.

5. fd vs find

fd è un'alternativa semplificata allo strumento find. Fd non è inteso come un sostituto completo: ha impostazioni predefinite comuni che definiscono l'approccio generale nella gestione dei file.

Ad esempio, quando cerchi file nella directory di un repository Git, fd esclude automaticamente i file e le sottodirectory nascoste, compresa la cartella .git, e ignora i modelli dal file .gitignore. In generale, velocizza la ricerca fornendo risultati più pertinenti al primo tentativo.

Per impostazione predefinita, fd esegue ricerche senza distinzione tra maiuscole e minuscole nella directory corrente con output colorato. La stessa ricerca utilizzando il comando find richiede ulteriori parametri nel terminal. Ad esempio, per trovare tutti i file .md (o .MD) nella directory corrente, dovresti scrivere il comando find seguente:

$ find . -iname "*.md"

Per fd appare così:

$ fd .md

Ma in alcuni casi anche fd richiede parametri aggiuntivi: ad esempio, se desideri includere file e cartelle nascosti, devi usare l'opzione -H, anche se di solito non è necessaria durante la ricerca.

fd è disponibile per molti distribuzioni Linux. In Fedora può essere installato così:

$ sudo dnf install fd-find

Non è necessario rinunciare a niente

Utilizzi nuovi strumenti della riga di comando Linux? Oppure ti attieni esclusivamente ai vecchi? Ma probabilmente hai una combinazione, giusto? Per favore, condividi la tua esperienza nei commenti.

In base alla pubblicità

Molti dei nostri clienti hanno già apprezzato i vantaggi di server epici!
Questo server virtuali con processori AMD EPYC, frequenza del core CPU fino a 3.4 GHz. La configurazione massima permetterà di sfrecciare al massimo: 128 core CPU, 512 GB RAM, 4000 GB NVMe. Affrettati a ordinare!

5 moderne alternative agli strumenti della riga di comando di Linux

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster