Come elencare le variabili d'ambiente su Linux

0
152
fatmawati achmad zaenuri/Shutterstock.com

Per elencare tutte le variabili di ambiente su un computer Linux, utilizzare il comando printenv. Inseriscilo nel comando less per ottenere risultati ricercabili o usa grep per stampare variabili specifiche.

Su Linux, le variabili di ambiente contengono valori e impostazioni importanti. Script, applicazioni e shell leggono questi valori, spesso per configurarsi o per controllarne il comportamento. Ecco diversi modi per mostrare queste variabili nel tuo terminale.

Indice

Tutto Informazioni sulle variabili d'ambiente
Comandi per la stampa delle variabili d'ambiente
Utilizzo di printenv per visualizzare le variabili d'ambiente
Alcune variabili d'ambiente comuni
Ispezioni ambientali

Tutto sulle variabili d'ambiente

I nostri vari computer di prova hanno una media di 50 variabili d'ambiente su ciascuno di essi. Una variabile di ambiente, come qualsiasi altra variabile, è una combinazione di un nome e di un valore. Il nome è univoco, impostato al momento della creazione della variabile e dura per tutta la vita della variabile di ambiente.

Le variabili contengono valori per noi. Quando un processo ha bisogno di sapere qual è il valore, cerca la variabile per nome e ne legge il valore. Sebbene i nomi delle variabili non possano essere modificati, i loro valori possono esserlo.

RELATED Qual ​​è la differenza tra .bashrc e .profile su Linux?

Non hai cambiato spesso le variabili di ambiente del sistema, ma puoi farlo se necessario. Ad esempio, potresti voler aumentare le dimensioni della cache della cronologia dei comandi della shell Bash. Puoi modificare il valore della variabile di ambiente $HISTSIZE nel tuo “.bashrc” file per impostare un nuovo limite massimo per il numero di comandi ricordati.

È semplice e comodo, ma non è qualcosa che farai spesso. Le variabili d'ambiente tendono a essere lasciate ai valori predefiniti o vengono modificate una volta e poi dimenticate. Non sono qualcosa con cui armeggiare spesso.

Tuttavia, vale la pena sapere come visualizzare le variabili di ambiente che sono definite e in uso sul tuo computer. La stampa delle variabili di ambiente su una finestra di terminale ti consente di verificarne i valori e ti mostra quali aspetti della tua esperienza con Linux sono governati da questi valori di background.

RELAZIONATO: Come per impostare le variabili d'ambiente in Bash su Linux

Comandi per la stampa di variabili d'ambiente

Puoi usare echo per vedere il valore memorizzato in una variabile di ambiente. Per farlo devi conoscere in anticipo il nome della variabile d'ambiente.

echo $HOME echo $USER

Ci sono due metodi comunemente usati per mostrare i nomi e i valori di tutte le variabili d'ambiente su Linux. Sono i comandi env e printenv.

Il comando printenv è il modo ufficiale per farlo. Il comando è stato scritto specificamente per questo scopo. Il comando env ha uno scopo completamente diverso.

env viene utilizzato per eseguire un'applicazione con valori temporanei, specificati dall'utente, per le variabili di ambiente. Questi sovrascrivono i valori archiviati reali e consentono all'applicazione di essere eseguita in un ambiente modificato. Se invochi env senza parametri della riga di comando, la sua azione predefinita è elencare le variabili di ambiente.

Potremmo anche usare lo strumento progettato per il lavoro, piuttosto che dipendere dall'effetto collaterale di uno strumento che è stato invocato in modo errato, quindi useremo printenv nei nostri esempi.

RELAZIONATO: Come passare le variabili d'ambiente ai contenitori Docker

Uso di printenv per vedere le variabili d'ambiente

Il comando printenv è molto semplice. Ha pochissime opzioni. Puoi usare l'opzione –version per scoprire il numero di versione della versione sul tuo computer e puoi usare il comando –help per vedere una breve descrizione di queste due e un'altra opzione della riga di comando.

< p>L'altra opzione è l'opzione -0 (terminatore nullo). Di solito, printenv elenca le variabili d'ambiente una per riga, aggiungendo un carattere di nuova riga alla fine di ogni riga. L'opzione -0 sostituisce quel carattere di nuova riga con un byte nullo. Utilizzeresti questa opzione se esegui il pipe dell'output in un'altra applicazione che non necessita dei caratteri di nuova riga.

printenv -0

L'effetto dell'opzione -0 in una finestra di terminale è di stipare l'output in un muro di testo impenetrabile.

È praticamente impossibile dargli un senso. Sarà un evento raro se avrai bisogno di usare l'opzione -0. Lasciamo perdere e riproviamo.

printenv

< p>L'output viene stampato con una variabile di ambiente per riga. Per convenzione, i nomi delle variabili di ambiente utilizzano sempre caratteri maiuscoli. Immediatamente dopo il nome della variabile è presente un segno di uguale “=“, seguito dal valore su cui è impostata la variabile di ambiente.

C'è ancora molto output, quindi potresti trovare più semplice reindirizzare l'output in less .

printenv | meno

Questo ti consente di scorrere l'elenco e di cercare nell'elenco come bene.

Se conosci qualcosa sulla variabile di ambiente che ti interessa, puoi utilizzare grep per trovare i probabili candidati. Supponiamo di sapere che esiste una variabile di ambiente che contiene la parola “display” dentro. Possiamo cercare nell'elenco in questo modo:

printenv | grep DISPLAY

RELAZIONATO: Come lavorare con le variabili in Bash

Alcune variabili d'ambiente comuni

Le variabili d'ambiente predefinite su diversi computer Linux sono soggette alle preferenze dei manutentori delle varie distribuzioni, ambienti desktop e shell.

Ecco alcune delle variabili di ambiente più comuni che probabilmente troverai su un computer Linux utilizzando l'ambiente desktop GNOME.

  • BASHOPTS: l'elenco delle opzioni della riga di comando che sono state utilizzate quando è stato lanciato bash.
  • BASH_VERSION: la versione di bash.
  • COLONNE: la larghezza del terminale in colonne.
  • DIRSTACK : la pila di directory da utilizzare con i comandi pushd e popd.
  • HISTFILESIZE: il numero massimo di righe della cronologia dei comandi che possono essere scritte nel file della cronologia.
  • MISURA HIST: Il numero massimo di righe della cronologia dei comandi che possono essere archiviate in memoria. Se si supera questo numero, i comandi ricordati in precedenza vengono sovrascritti in memoria. Quando chiudi la finestra del terminale, la cronologia dei comandi viene scritta nel file della cronologia.
  • HOME: la directory home dell'utente corrente.
  • HOSTNAME: il nome del computer.
  • IFS: il separatore di campo interno utilizzato per analizzare l'input dell'utente. Il valore predefinito è uno spazio.
  • LANG: la lingua corrente e le impostazioni di localizzazione, inclusa la codifica dei caratteri.
  • LS_COLORS: definisce i codici utilizzati per aggiungere colore all'output di ls.
  • MAIL: il percorso dell'utente corrente& #8217;s casella di posta Linux.
  • OLDPWD: la directory di lavoro precedente.
  • PS1: la definizione del prompt dei comandi principale. Questo definisce l'aspetto del prompt nella finestra del tuo terminale.
  • PERCORSO: un elenco di directory separate da due punti in cui viene cercato, in ordine, un comando o un'applicazione corrispondente quando si digita un comando nella shell.
  • PWD: la directory di lavoro corrente .
  • SHELL: il nome della tua shell predefinita.
  • TERM: il tipo di terminale che viene emulato quando esegui una shell.
  • UID: l'identificatore utente dell'utente corrente.
  • USER: l'utente corrente.
  • _: Il comando eseguito più di recente. Se usi printenv per elencarlo, sarà sempre printenv.

Ispezioni ambientali

A vedi tutte le tue variabili d'ambiente, usa printenv. Convogliare l'output tramite grep per filtrare i risultati e utilizzare echo per stampare il valore di una specifica variabile di ambiente nota.

File dei comandi Linux tar · pv · cat · tac · chmod · grep ·  diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · unisciti a · jq · piega · uniq · journalctl · tail · stat · ls ·fstab · echo · meno · chgrp · chown · rev · guarda · stringhe · digita · rinomina · zip · decomprimi · monta · smonta · installa · fdisk · mkfs ·< /strong> rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · converti · rclone · shred · srm Processi alias · schermata · top · bello · renice · progressi · strace · systemd · tmux ·chsh · cronologia · su · batch · gratuito · che · dmesg · chfn · usermod · ps · chroot · xargs · tty · mignolo · lsof · vmstat · timeout ·< /strong> muro ·· uccidi · dormi · sudo · su · ora · groupadd · usermod · gruppi · lshw · spegnimento · riavvio · arresto · spegnimento · passwd · lscpu · crontab · date · bg · fg Rete netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · chi · whoami ·· iptables · ssh-keygen · ufw

RELAZIONATO: I migliori laptop Linux per sviluppatori e appassionati