pwd

()

Fonte: https://www.ionos.it/

Ottenere il nome della cartella

Utilizzate pwd (abbreviazione di print working directory) per farvi mostrare il nome della cartella corrente in cui state lavorando.

La sintassi del comando è la seguente:

pwd [OPZIONI]

pwd è l’acronimo di “Print Working Directory”.

Il comando pwd è uno dei comandi utilizzati più di frequente dagli amministratori di sistema Linux.

Funziona su Linux e altri sistemi operativi UNIX simili ed è un comando shell incorporato, disponibile su shell Bash, korn, ksh e così via.

Il comando stampa il nome della directory di lavoro corrente con il percorso completo a partire da root (/). È anche una variabile ambientale.

Differenza tra Shell “pwd” e “/ bin / pwd”

Le shell Linux di solito vengono fornite con due tipi di comando pwd: pwd integrato e versione binaria.

Per scoprirlo, puoi utilizzare il seguente comando:

type -a pwd
Lo screenshot qui sotto mostra che bash shell viene fornito con il comando pwd integrato e la versione binaria.

Che cos’è una directory di lavoro corrente?

La directory di lavoro corrente è la directory in cui si stanno attualmente utilizzando comandi come ls, cat, o cd usando bash o korn shell o zsh (zshell).

Sintassi del comando PWD

Ogni comando Linux ha la sua sintassi. Senza una conoscenza di base della sintassi dei comandi, l’esecuzione di comandi su un terminale Linux potrebbe sembrare un’attività noiosa.

Di seguito è riportata una sintassi di base del comando pwd:

pwd [options]
Il comando Pwd viene fornito con diverse opzioni che ci consentono di utilizzare questo comando in modi diversi. Tuttavia, puoi ancora usare il comando pwd senza argomenti.

Diamo un’occhiata alle opzioni più basilari del comando pwd. Per trovare un elenco di opzioni del comando pwd, puoi digitare pwd –help sul terminale.

list-pwd-options

-L: Stampa il valore di $ PWD se nomina la directory di lavoro corrente. In altre parole, stampa o visualizza la directory di lavoro corrente.
directory-di-lavoro-corrente

Anche senza il -L, semplicemente digitando pwd sul terminale fa la stessa cosa.

-P: Stampa la directory fisica senza collegamenti simbolici. Un collegamento simbolico è un tipo speciale di file che crea un collegamento a un file o punta a un altro file.
Stampa la directory fisica senza collegamenti simbolici utilizzando i comandi seguenti:
pwd -P

Supponendo che tu abbia usato il cd più volte e desideri conoscere la tua directory di lavoro corrente, puoi utilizzare i seguenti comandi per farlo:

echo $PWD
stampa-directory-corrente

pwd
print-working-directory

Entrambi i comandi visualizzano la directory di lavoro corrente.

Come stampare la versione del comando PWD
Per trovare la versione del comando pwd integrato sul tuo terminale, puoi usare la versione binaria per farlo:

/bin/pwd –version
pwd-version

1. Stampa la directory di lavoro corrente.

[email protected]:~$ /bin/pwd

/home/avi

2. Creare un collegamento simbolico di una cartella

(ad esempio /var/www/html nella directory home come htm ). Spostarsi nella directory appena creata e stampare la directory di lavoro con collegamenti simbolici e senza collegamenti simbolici.

Crea un collegamento simbolico della cartella/var/www/html come htm nella tua directory home e spostati su di essa.

[email protected]:~$ ln -s /var/www/html/ htm
[email protected]:~$ cd htm

3. Stampa la directory di lavoro dall’ambiente anche se contiene collegamenti simbolici.

[email protected]:~$ /bin/pwd -L

/home/avi/htm

4. Stampare la directory di lavoro corrente fisica effettiva risolvendo tutti i collegamenti simbolici.

[email protected]:~$ /bin/pwd -P

/var/www/html

5. Controlla se l’output del comando “ pwd ” e “ pwd -P ” sono uguali o meno, ovvero, se non vengono fornite opzioni in fase di esecuzione, “ pwd “prende in considerazione o meno l’opzione -P , automaticamente.

[email protected]:~$ /bin/pwd

/var/www/html

Risultato: è chiaro dall’output di cui sopra dell’esempio 4 e 5 (entrambi i risultati sono uguali) quindi, quando non viene specificata alcuna opzione con il comando “ pwd “, accetta automaticamente l’opzione “ -P “in considerazione.

6. Stampa la versione del tuo comando “pwd”.

[email protected]:~$ /bin/pwd --version

pwd (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Nota: un comando “pwd” viene spesso utilizzato senza opzioni e non viene mai utilizzato con argomenti.

Allora qual è la differenza? Bene, “ pwd ” da solo significa pwd incorporato nella shell. La tua shell potrebbe avere una versione diversa di pwd. Fare riferimento al manuale. Quando usiamo /bin/pwd , chiamiamo la versione binaria di quel comando. Sia la shell che la versione binaria del comando Prints Current Working Directory, sebbene la versione binaria abbia più opzioni.

7. Stampa tutte le posizioni che contengono l’eseguibile denominato pwd.

[email protected]:~$ type -a pwd

pwd is a shell builtin
pwd is /bin/pwd

8. Memorizza il valore del comando ” pwd ” nella variabile (ad esempio ) e stampa il suo valore dalla variabile (importante per la prospettiva dello scripting della shell).

[email protected]:~$ a=$(pwd)
[email protected]:~$ echo "Current working directory is : $a"

Current working directory is : /home/avi

In alternativa, possiamo usare printf , nell’esempio sopra.

9. Cambia la directory di lavoro corrente in qualsiasi cosa (ad esempio /home ) e visualizzala nel prompt della riga di comando. Esegui un comando (ad esempio “ ls “) per verificare che tutto sia OK .

[email protected]:~$ cd /home
[email protected]:~$ PS1='$pwd> '		
[Notice single quotes in the example]
> ls

10. Impostare il prompt della riga di comando su più righe (dire qualcosa come sotto).

/home
123#Hello#!

Quindi esegui un comando (ad esempio ls ) per verificare che tutto sia OK .

[email protected]:~$ PS1='
> $PWD
$ 123#Hello#!
$ '

/home
123#Hello#!

11. Controlla la directory di lavoro corrente e la directory di lavoro precedente in un unico GO!

[email protected]:~$ echo “$PWD $OLDPWD”

/home /home/avi

12. Qual è il percorso assoluto (a partire da /) del file binario pwd.

/bin/pwd 

13. Qual è il percorso assoluto (a partire da /) del file sorgente pwd.

/usr/include/pwd.h 

14. Stampa il percorso assoluto (a partire da /) del file delle pagine di manuale pwd.

/usr/share/man/man1/pwd.1.gz

15. Scrivere uno script di shell analizza la directory corrente (ad esempio tecmint ) nella directory home. Se ti trovi nella directory tecmint , viene visualizzato “ Bene! Sei nella directory tecmint “e poi stampa” Good Bye “altrimenti crea una directory tecmint nella tua home directory e chiedi di cd ad esso.

Creiamo prima una directory “tecmint”, sotto di essa creare un seguente file di script di shell con il nome “pwd.sh”.

[email protected]:~$ mkdir tecmint
[email protected]:~$ cd tecmint
[email protected]:~$ nano pwd.sh

Successivamente, aggiungi il seguente script al file pwd.sh.

#!/bin/bash

x="$(pwd)"
if [ "$x" == "/home/$USER/tecmint" ]
then
     {
      echo "Well you are in tecmint directory"
      echo "Good Bye"
     }
else
     {
      mkdir /home/$USER/tecmint
      echo "Created Directory tecmint you may now cd to it"
     }
fi

Dare il permesso di esecuzione ed eseguirlo.

[email protected]:~$ chmod 755 pwd.sh
[email protected]:~$ ./pwd.sh

Well you are in tecmint directory

Conclusione


Il comando pwd è uno dei comandi più comunemente usati sui computer Linux. È abbastanza semplice da usare quando sai cosa fa.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?