Introduzione
Il pwd
Il comando Linux stampa il percorso della directory di lavoro corrente, partendo dalla radice (/
). Usa il pwd
comando per orientarsi nel labirinto della struttura del file system di Linux o per passare la directory di lavoro in uno script Bash.
In questo tutorial imparerai a usare il pwd
comando.
Prerequisiti
- Un sistema che esegue Linux
- Accesso alla finestra del terminale (Ctrl+Alt+T )
- Un editor di testo a tua scelta
Sintassi pwd
Il pwd
il comando accetta la seguente sintassi:
pwd [-options]
Le opzioni disponibili sono discusse nella sezione seguente.
Stato di uscita
Il pwd
il comando ha due stati di uscita:
- 0 . Successo.
- Diverso da zero . Fallimento.
Opzioni pwd
Le opzioni forniscono funzionalità aggiuntive al comando. Il pwd
comando accetta le seguenti opzioni:
Opzione | Descrizione |
---|---|
-L , --logical | Istruisce pwd per produrre il $PWD contenuto delle variabili di ambiente, inclusi i collegamenti simbolici. Se non viene specificata alcuna opzione, pwd presuppone -L . |
-P , --physical | Stampa il percorso della directory corrente. Tutti i componenti sono nomi di directory e i collegamenti simbolici vengono risolti. |
--version | Emette la versione del programma. |
--help | Visualizza il messaggio di aiuto. |
Esempi pwd
Esistono diversi modi per utilizzare il pwd
comando. Gli esempi seguenti illustrano i casi d'uso comuni per pwd
comando.
Esempio 1:Ottieni il percorso della directory di lavoro
Esecuzione del pwd
comando senza alcuna opzione restituisce il percorso completo alla directory di lavoro corrente.
Ad esempio:
Il comando restituisce il percorso assoluto della directory di lavoro corrente. In questo caso, il percorso della directory home.
Tuttavia, se hai seguito un collegamento simbolico alla directory corrente, eseguendo pwd
stampa la posizione del collegamento simbolico e non la sua destinazione.
Nell'esempio seguente, abbiamo creato un collegamento simbolico alla directory corrente. Seguendo il collegamento ed eseguendo il pwd
comando visualizza il collegamento simbolico nel percorso:
Esempio 2:utilizzo dell'opzione -P
Il -P
l'opzione indica pwd
per stampare la directory di lavoro fisica ed evita di elencare i collegamenti simbolici. Pertanto, il comando stampa il percorso assoluto della directory di lavoro corrente.
Ad esempio:
Anche se è stato utilizzato un collegamento simbolico per modificare la directory, il pwd
comando stampa solo il nome effettivo della directory di lavoro.
Esempio 3:utilizzo dell'opzione -L
Il -L
l'opzione indica pwd
per stampare il percorso della directory di lavoro, inclusi eventuali collegamenti simbolici. Nell'esempio seguente, abbiamo utilizzato un collegamento simbolico per passare a una directory ed abbiamo eseguito pwd -L
:
L'output elenca il percorso con il collegamento simbolico.
Esempio 4:stampa contenuto variabile $PWD
Il $PWD
la variabile di ambiente memorizza il percorso della directory corrente. Stampa il contenuto della variabile eseguendo:
echo $PWD
Il comando restituisce la directory di lavoro corrente, inclusi eventuali collegamenti simbolici, archiviata nel $PWD
variabile.
Esempio 5:Personalizza output pwd
Personalizza il pwd
output del comando memorizzandone il valore in una variabile e aggiungendo un messaggio utilizzando il comando echo.
L'esempio seguente è uno script in cui pwd
il valore di è memorizzato nel $p
variabile e include un messaggio di output.
Segui le istruzioni seguenti:
1. Apri il terminale e crea lo script:
vi directory.sh
2. Aggiungi le seguenti righe allo script:
#!/bin/bash
p=$(pwd)
echo "You are currently in: $p"
3. Salva lo script ed esci da vi
con il seguente comando:
:wq
4. Modifica i permessi dei file per rendere eseguibile lo script:
chmod +x directory.sh
5. Esegui lo script:
./directory.sh
Lo script restituisce la directory di lavoro corrente con un messaggio personalizzato.
Esempio 6:verifica versione pwd
Il pwd
command è un comando di shell integrato (pwd
) e un binario effettivo (/bin/pwd
). La versione della shell potrebbe differire dalla versione binaria.
Controlla quale pwd
la versione viene installata eseguendo:
/bin/pwd --version
Il comando restituisce il binario pwd
versione sul tuo sistema.
Esempio 7:vedi directory di lavoro precedente
Il $OLDPWD
variabile memorizza il percorso della directory di lavoro precedente. Controlla la tua posizione precedente nel filesystem eseguendo:
echo "$OLDPWD"
Il comando restituisce la directory di lavoro precedente.
Esempio 8:vedi il file della guida
Usa il --help
opzione per vedere il pwd
file della guida del comando e le opzioni disponibili:
pwd --help
L'output è un breve file della guida con un elenco di opzioni disponibili.
Esempio 9:usa pwd in Scripting
In questo esempio, abbiamo creato un'istruzione bash case che utilizza pwd
per emettere la directory di lavoro corrente o precedente, a seconda dell'opzione selezionata. Segui i passaggi seguenti:
1. Crea uno script utilizzando un editor di testo come vi/vim:
vi directory.sh
2. Inserisci le righe seguenti:
#!/bin/bash
echo "I need to see:"
echo "1 - My current physical directory path."
echo "2 - My current directory path, including symlinks."
echo "3 - My previous directory"
read directory
case $directory in
1) echo "Your current physical location is: $(pwd -P)";;
2) echo "Your current directory, including symlinks, is: $(pwd -L)";;
3) echo "You were previously in: $OLDPWD";;
esac
3. Salva ed esci da vi eseguendo:
:wq
4. Rendi eseguibile lo script con chmod
:
chmod +x directory.sh
5. Esegui lo script e scegli un'opzione:
./directory.sh
Ad esempio:
Lo script utilizza un'istruzione case per offrire tre opzioni e stampa un output corrispondente in base alla risposta.
6. Modificare la directory utilizzando un collegamento simbolico, eseguire nuovamente lo script e confrontare gli output:
L'output mostra la posizione fisica, anche se abbiamo usato un collegamento simbolico per cambiare la directory.
7. Prova anche le opzioni rimanenti per vedere il risultato:
Esempio 10:imposta un alias per pwd
Crea un alias che includa il -P
opzione per impedire la ricezione di collegamenti simbolici durante l'esecuzione di pwd
. In questo modo, pwd
mostra sempre il percorso della directory in cui ti trovi, indipendentemente da come ci sei arrivato.
Nell'esempio seguente, l'alias include -P
opzione e l'abbiamo aggiunta a .bashrc per fare in modo che il sistema ricordi l'alias dopo un riavvio del sistema.
alias pwd='pwd -P'; echo "alias pwd='pwd -P'" >> ~/.bashrc
L'output mostra la posizione fisica, anche se abbiamo seguito un collegamento simbolico al percorso corrente.