GNU/Linux >> Linux Esercitazione >  >> Linux

5 alternative moderne agli strumenti essenziali della riga di comando di Linux

Nel nostro uso quotidiano dei sistemi Linux/Unix, utilizziamo molti strumenti da riga di comando per completare il nostro lavoro e per comprendere e gestire i nostri sistemi, strumenti come du per monitorare l'utilizzo del disco e top per mostrare le risorse di sistema. Alcuni di questi strumenti esistono da molto tempo. Ad esempio, top è stato rilasciato per la prima volta nel 1984, mentre du la prima uscita di 's risale al 1971.

Nel corso degli anni, questi strumenti sono stati modernizzati e portati su sistemi diversi, ma, in generale, seguono ancora l'idea, l'aspetto e la sensazione originali.

Questi sono ottimi strumenti ed essenziali per i flussi di lavoro di molti amministratori di sistema. Tuttavia, negli ultimi anni, la comunità open source ha sviluppato strumenti alternativi che offrono vantaggi aggiuntivi. Alcuni sono solo un piacere per gli occhi, ma altri migliorano notevolmente l'usabilità, rendendoli un'ottima scelta da utilizzare sui sistemi moderni. Questi includono le seguenti cinque alternative agli strumenti a riga di comando standard di Linux.

1. ncdu in sostituzione di du

L'utilizzo del disco di NCurses (ncdu ) fornisce risultati simili a du ma in un'interfaccia interattiva basata su curses che si concentra sulle directory che consumano la maggior parte dello spazio su disco.

ncdu dedica un po' di tempo all'analisi del disco, quindi visualizza i risultati ordinati in base alle directory o ai file più utilizzati, in questo modo:

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

Passare a ciascuna voce utilizzando i tasti freccia. Se premi Invio su una voce della rubrica, ncdu visualizza il contenuto di quella directory:

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

Puoi usarlo per approfondire le directory e trovare quali file stanno consumando più spazio su disco. Torna alla directory precedente utilizzando sinistra tasto freccia. Per impostazione predefinita, puoi eliminare i file con ncdu premendo la d chiave e chiede conferma prima di eliminare un file. Se vuoi disabilitare questo comportamento per evitare incidenti, usa il -r opzione per l'accesso in sola lettura:ncdu -r .

ncdu è disponibile per molte piattaforme e distribuzioni Linux. Ad esempio, puoi utilizzare dnf per installarlo su Fedora direttamente dai repository ufficiali:

$ sudo dnf install ncdu

Puoi trovare maggiori informazioni su questo strumento su ncdu pagina web.

2. htop in sostituzione di top

htop è un visualizzatore di processi interattivo simile a top ma ciò fornisce un'esperienza utente più piacevole fuori dagli schemi. Per impostazione predefinita, htop mostra le stesse metriche di top in un display piacevole e colorato.

Per impostazione predefinita, htop assomiglia a questo:

In contrasto con l'impostazione predefinita top :

Inoltre, htop fornisce informazioni sulla panoramica del sistema in alto e una barra dei comandi in basso per attivare i comandi utilizzando i tasti funzione e puoi personalizzarlo premendo F2 per accedere alla schermata di configurazione. Durante la configurazione, puoi cambiarne i colori, aggiungere o rimuovere metriche o modificare le opzioni di visualizzazione per la barra di panoramica.

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Mentre puoi configurare le versioni recenti di top per ottenere risultati simili, htop fornisce configurazioni predefinite più sane, il che lo rende un visualizzatore di processi piacevole e facile da usare.

Per saperne di più su questo progetto, controlla htop pagina iniziale.

3. tldr in sostituzione di man

Il tldr lo strumento da riga di comando visualizza informazioni semplificate sull'utilizzo dei comandi, inclusi principalmente esempi. Funziona come client per il progetto delle pagine tldr della comunità.

Questo strumento non sostituisce man . Le pagine man sono ancora la fonte canonica e completa di informazioni per molti strumenti. Tuttavia, in alcuni casi, man è troppo. A volte non hai bisogno di tutte quelle informazioni su un comando; stai solo cercando di ricordare le opzioni di base. Ad esempio, la pagina man per curl comando ha quasi 3.000 righe. Al contrario, il tldr per curl è lungo 40 righe e si presenta così:

$ 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 sta per "troppo lungo; non letto", che è il gergo di Internet per un riassunto di testo lungo. Il nome è appropriato per questo strumento perché le pagine man, sebbene utili, a volte sono semplicemente troppo lunghe.

In Fedora, il tldr client è stato scritto in Python. Puoi installarlo usando dnf . Per altre opzioni client, consulta il progetto tldr pages.

In generale, il tldr strumento richiede l'accesso a Internet per consultare le pagine tldr. Il client Python in Fedora ti consente di scaricare e memorizzare nella cache queste pagine per l'accesso offline.

Per ulteriori informazioni su tldr , puoi usare tldr tldr .

4. jq in sostituzione di sed/grep per JSON

jq è un processore JSON da riga di comando. È come sed o grep ma specificamente progettato per gestire i dati JSON. Se sei uno sviluppatore o un amministratore di sistema che utilizza JSON nelle tue attività quotidiane, questo è uno strumento essenziale nella tua cassetta degli attrezzi.

Il principale vantaggio di jq su strumenti generici di elaborazione del testo come grep e sed è che comprende la struttura dei dati JSON, consentendoti di creare query complesse con un'unica espressione.

Per illustrare, immagina di cercare il nome 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"
  }
}

Se provi a grep direttamente per name , questo è il risultato:

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

grep ha restituito tutte le righe che contengono la parola name . Puoi aggiungere qualche altra opzione a grep per restringerlo e, con qualche manipolazione di espressioni regolari, puoi trovare i nomi dei contenitori. Per ottenere il risultato che desideri con jq , usa un'espressione che simula la navigazione nella struttura dei dati, come questa:

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

Questo comando ti dà il nome di entrambi i contenitori. Se stai cercando solo il nome del secondo contenitore, aggiungi l'indice dell'elemento dell'array all'espressione:

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

Perché jq è a conoscenza della struttura dei dati, fornisce gli stessi risultati anche se il formato del file cambia leggermente. grep e sed può fornire risultati diversi con piccole modifiche al formato.

jq ha molte caratteristiche e coprirle tutte richiederebbe un altro articolo. Per ulteriori informazioni, consultare il jq pagina del progetto, le pagine man o tldr jq .

5. fd in sostituzione di find

fd è un'alternativa semplice e veloce al find comando. Non mira a sostituire la funzionalità completa find fornisce; invece, fornisce alcune impostazioni predefinite sane che aiutano molto in determinati scenari.

Ad esempio, durante la ricerca di file di codice sorgente in una directory che contiene un repository Git, fd esclude automaticamente i file e le directory nascosti, incluso il .git directory, oltre a ignorare i modelli da .gitignore file. In generale, fornisce ricerche più veloci con risultati più pertinenti al primo tentativo.

Per impostazione predefinita, fd esegue una ricerca del modello senza distinzione tra maiuscole e minuscole nella directory corrente con output colorato. La stessa ricerca usando find richiede di fornire parametri aggiuntivi della riga di comando. Ad esempio, per cercare tutti i file markdown (.md o .MD ) nella directory corrente, il find il comando è questo:

$ find . -iname "*.md"

Ecco la stessa ricerca con fd :

$ fd .md

In alcuni casi, fd richiede opzioni aggiuntive; per esempio, se vuoi includere file e directory nascosti, devi usare l'opzione -H , mentre questo non è richiesto in find .

fd è disponibile per molte distribuzioni Linux. Installalo in Fedora usando i repository standard:

$ sudo dnf install fd-find

Per ulteriori informazioni, consultare il fd Archivio GitHub.

Grandi alternative insieme a utility comprovate

Anche se utilizzo regolarmente tutti i vecchi strumenti essenziali, specialmente quando mi connetto in remoto ai server, gli strumenti alternativi offrono alcuni vantaggi aggiuntivi che sono preziosi in molti scenari. Mi aiutano in particolare a gestire e lavorare sui miei computer desktop e laptop Linux.

Utilizzi altri strumenti che aiutano il tuo flusso di lavoro? Aggiungili nella sezione commenti qui sotto.


Linux
  1. 4 alternative a cron in Linux

  2. Introduzione al comando alternatives in Linux

  3. Cronologia della riga di comando in Linux

  4. Editor di testo della riga di comando in Linux

  5. Strumenti di overclocking in Linux

TrueCrypt sulle moderne distribuzioni Linux

Guida all'installazione di VMware Tools su Linux

Installa gli strumenti essenziali per la build su Ubuntu 22.04 o 20.04 LTS Linux

Linux:diagramma del kernel Linux vs. Strumenti per le prestazioni?

Esempi essenziali del comando ps in Linux

I 10 migliori strumenti per chitarra Linux:The Guitarist's Essential Toolkit