Come scoprire la tua directory con il comando pwd

Uno dei comandi più importanti che impari quando usi il Interfaccia a riga di comando di Linux è il pwd comando, che sta per stampa directory di lavoro.

Questa guida ti mostra come usare il pwd comando. Ti mostra anche come trovare il percorso fisico della directory in cui stai lavorando e la directory logica in cui stai lavorando.

Come determinare in quale directory Linux ti trovi attualmente

Per scoprire in quale directory ti trovi attualmente, apri una riga di comando ed esegui il seguente comando:

pwd. 

L'uscita per pwd comando sarà qualcosa del genere:

/home/gary. 

Mentre ti sposti nel sistema, la directory di lavoro cambia per riflettere la tua posizione attuale all'interno del file system.

Ad esempio, se usi il comando cd per accedere alla cartella documenti, il pwd comando produce il seguente output:

/home/gary/documents. 

Cosa mostra pwd quando si accede a una cartella collegata simbolicamente?

Per rispondere a questa domanda, abbiamo impostato il seguente scenario.

Immagina di avere la seguente struttura di cartelle:

  • casa
    • Gary
      • documenti
        • cartella1
        • cartella2

Ora immagina che hai creato un collegamento simbolico alla cartella 2, come segue:

ln -s /home/gary/documents/folder1 /home/gary/documents/accounts. 

L'albero delle cartelle ora sarebbe simile a questo:

  • casa
    • Gary
      • documenti
        • cartella1
        • cartella2
        • conti

Il ls comando mostra i file e le cartelle all'interno di una posizione particolare:

ls -lt. 

Se hai eseguito il ls comando contro la cartella dei documenti, per gli account mostrerebbe qualcosa del genere:

account -> cartella2. 

I collegamenti simbolici puntano a un'altra posizione all'interno del file system.

Ora immagina di essere nella cartella documenti e di utilizzare il cd comando per spostarsi nella cartella account. Quale sarebbe l'output di pwd sarà?

Se hai indovinato che avrebbe mostrato /home/gary/documents/accounts, allora avresti ragione. Ma, se hai eseguito il ls comando contro la cartella degli account, ti mostra i file all'interno della cartella folder2.

Guarda il seguente comando:

pwd -P. 

Quando esegui il comando precedente all'interno di una cartella collegata simbolicamente, vedi la posizione fisica, che in questo caso è /home/gary/documents/folder2.

Per vedere la cartella logica, puoi usare il seguente comando:

pwd -L. 

Questo comando mostrerebbe la stessa cartella del pwd comando da solo, che è /home/gary/documents/accounts.

Il valore predefinito del comando sul percorso fisico o sul percorso logico dipende da come è stato impostato e compilato pwd sul tuo sistema. Pertanto, la migliore pratica consiste nell'utilizzare il -P o -L switch (a seconda del comportamento che si desidera vedere).

Come utilizzare la variabile $PWD

È possibile visualizzare la directory di lavoro corrente visualizzando il valore di $PWD variabile, come segue:

echo $PWD. 

Come visualizzare la directory di lavoro precedente

Se desideri visualizzare la directory di lavoro precedente, esegui il comando seguente:

echo $OLDPWD. 

L'output mostra la directory in cui ti trovavi prima di spostarti nella directory corrente.

Ricorrenze multiple di pwd

Il pwd Il comando potrebbe comportarsi in modo diverso in base a come lo hai impostato. Un buon esempio è in Kubuntu Linux.

Il guscio versione di pwd, che usi quando esegui il pwd comando, mostra la directory di lavoro logica quando ci si trova all'interno di una cartella collegata simbolicamente. Se esegui il seguente comando, tuttavia, vedrai che mostra la directory di lavoro fisica quando ti trovi all'interno di una cartella collegata simbolicamente:

/usr/bin/pwd. 

Questo output non è utile: essenzialmente stai eseguendo lo stesso comando ma ottieni il risultato inverso quando lo esegui in modalità predefinita. Ecco perché è bene prendere l'abitudine di usare il -P e -L interruttori.

Interruttori utili con pwd

Due ulteriori interruttori sono utili con il pwd comando. Il primo:

pwd --version. 

...visualizza il numero di versione corrente per pwd.

Quando eseguito contro la versione shell di pwd, il --versione l'interruttore potrebbe non funzionare. Tuttavia, funzionerà contro la versione /bin/pwd.

L'altro interruttore:

pwd --help. 

...visualizza la pagina di manuale nella finestra del terminale.

Di nuovo, questo interruttore non funziona per la versione shell di pwd, solo contro la versione /bin/pwd.