5 alternative moderne agli strumenti da riga di comando Linux

Utilizzando alternative più moderne insieme ai vecchi strumenti da riga di comando, è possibile divertirsi di più e persino aumentare la produttività.

5 alternative moderne agli strumenti da riga di comando Linux

Nel lavoro quotidiano in Linux/Unix utilizziamo molti strumenti da riga di comando, come ad esempio du per monitorare l'uso 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.

Negli anni, questi strumenti sono stati modernizzati e portati su diversi sistemi, ma nel complesso non si sono allontanati molto dalle loro versioni iniziali; il loro aspetto e la loro usabilità non sono cambiati significativamente.

Questi sono ottimi strumenti necessari a molti amministratori di sistema. Tuttavia, la comunità ha sviluppato strumenti alternativi che offrono vantaggi aggiuntivi. Alcuni di essi hanno semplicemente un'interfaccia moderna e accattivante, mentre altri migliorano significativamente 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, come ad esempio:

ncdu 1.14.2 ~ Usa i tasti freccia 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
 Uso totale del disco: 159.4 GiB  Dimensione apparente: 280.8 GiB  Elementi: 561540

Puoi navigare tra le voci usando 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, ad esempio, per identificare quali file occupano più spazio su disco. Per tornare alla directory precedente, premi il tasto con la freccia a sinistra. Con ncdu puoi eliminare i file premendo il tasto d. Prima di eliminare, richiede conferma. Se desideri disattivare la funzione di eliminazione per prevenire la perdita accidentale di file preziosi, utilizza l'opzione -r per abilitare la modalità di sola lettura: ncdu -r.

ncdu è disponibile per molte piattaforme e distribuzioni Linux. Ad esempio, puoi usare 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 offre un'esperienza utente più gradevole fin da subito. Di default, htop mostra le stesse informazioni di top, ma in modo più chiaro e colorato.

Di default, htop appare così:

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

5 alternative moderne agli strumenti da riga di comando Linux
Inoltre, nella parte superiore htop visualizza informazioni di sistema generali, mentre nella parte inferiore c'è un pannello per eseguire comandi tramite tasti funzione. Puoi configurarlo 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 riepilogo.

Sebbene sia possibile ottenere una usabilità simile anche ruotando le impostazioni delle ultime versioni di top, htop offre configurazioni predefinite comode, rendendolo più pratico e facile da usare.

3. tldr vs man

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

È importante notare che tldr non è un sostituto di man. Resta comunque lo strumento canonico e più completo per visualizzare le pagine di riferimento. Tuttavia, in alcuni casi, man può risultare eccessivo. Quando non hai bisogno di informazioni dettagliate su un comando, stai semplicemente cercando di ricordare le opzioni principali del 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 estratto 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 indicato dall'URL:

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

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

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

- Invia dati codificati in un 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 Content-Type appropriata:

  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, poiché le pagine man, sebbene utili, possono a volte risultare troppo lunghe.

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

4. jq vs sed/grep

jq è un elaboratore JSON da riga di comando. È simile a sed o grep, ma progettato specificamente per lavorare con dati in formato JSON. Se sei uno sviluppatore o un amministratore di sistema che utilizza JSON nelle attività quotidiane, questo strumento è 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 riga name:

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

grep restituirà tutte le righe contenenti la parola name. Puoi aggiungere ulteriori parametri a grep per limitare i risultati e, utilizzando alcune manipolazioni con le espressioni regolari, trovare i nomi dei contenitori.

Per ottenere lo stesso risultato utilizzando jq, è sufficiente scrivere:

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

Questo comando ti darà i nomi di entrambi i contenitori. Se cerchi solo il nome del secondo contenitore, aggiungi l'indice dell'elemento 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 potrebbero funzionare in modo errato in questo caso.

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

5. fd vs find

fd è un'alternativa semplificata allo strumento find. Fd non è destinato a sostituirlo completamente: ha impostazioni predefinite comuni che definiscono l'approccio generale al lavoro con i file.

Ad esempio, quando cerca file nella directory di un repository Git, fd esclude automaticamente i file e le sottodirectory nascosti, inclusa la directory .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 la ricerca senza distinzione tra maiuscole e minuscole nella directory corrente con output colorato. La stessa ricerca utilizzando il comando find richiede l'inserimento di parametri aggiuntivi nella riga di comando. Ad esempio, per trovare tutti i file .md (o .MD) nella directory corrente, è necessario scrivere questo comando find:

$ find . -iname "*.md"

Per fd appare così:

$ fd .md

Tuttavia, in alcuni casi è necessario fornire parametri aggiuntivi per fd: ad esempio, se vuoi includere file e directory nascosti, devi usare l'opzione -H, anche se di solito non è richiesta durante la ricerca.

fd è disponibile per molte distribuzioni Linux. In Fedora, puoi installarlo così:

$ sudo dnf install fd-find

Non è necessario rinunciare a nulla

Stai utilizzando nuovi strumenti della riga di comando di Linux? O resti esclusivamente sui vecchi? Ma probabilmente hai una combinazione, giusto? Per favore, condividi la tua esperienza nei commenti.

In pubblicità

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

5 alternative moderne agli strumenti da riga di comando 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