2011-06-21 10:31:01 +0000 2011-06-21 10:31:01 +0000
37
37
Advertisement

Quelle commande du shell sh Linux/UNIX renvoie mon répertoire actuel ?

Advertisement

En utilisant le shell sh (et non bash), quelle commande sous Linux/UNIX permet d'imprimer mon répertoire actuel ?

$ *showmewhereiam*
/sys/kernel/debug
$
Advertisement
Advertisement

Réponses (4)

60
60
60
2011-06-21 10:32:09 +0000

Essayez pwd.

$ pwd
/home/<username>
11
11
11
2011-06-21 12:48:02 +0000

Bien que la réponse générale soit pwd, notez que cela peut donner des résultats différents selon la façon dont vous avez atteint un répertoire donné, et si l'itinéraire comprenait des liens symboliques.

Par exemple, si vous avez un répertoire appelé real et un lien symbolique vers ce répertoire appelé virtual, et que vous cd vers le répertoire virtual, alors pwd affichera ce nom de répertoire virtual, même si le répertoire dans lequel vous vous trouvez est real.

Pour afficher le vrai répertoire sous-jacent, utilisez soit pwd -P soit readlink -f (pour un chemin arbitraire) :

$ mkdir real $ ln -s real virtual $ cd virtual $ pwd /home/_username_/tmp/virtual $ pwd -P /home/_username_/tmp/real $ readlink -f . /home/_username_/tmp/real

Notez que les shells remplacent souvent la commande pwd par leur propre version interne, donc sur mon système (RHEL6), même si la page de manuel de pwd(1) suggère que --physical fonctionnera aussi bien que -P, parce que je lance bash, ce n'est pas le cas :

$ pwd --physical bash: pwd: --: invalid option pwd: usage: pwd [-LP] $ /bin/pwd --physical /home/_username_/tmp/real $ /usr/bin/env pwd --physical /home/_username_/tmp/real
```.
1
Advertisement
1
1
2017-02-20 09:13:21 +0000
Advertisement
$ pwd
/your/current/directory
$

pwd provient du répertoire de travail d'impression.

Provient de la page de manuel de Linux :

Nom

pwd - imprimer le nom du répertoire courant / de travail

Synopsis

pwd [OPTION]…

Description

Imprimer le nom de fichier complet du répertoire de travail actuel.

-L , –logique

utiliser PWD depuis l'environnement, même s'il contient des liens symboliques

-P , –physique

éviter tous les liens symboliques

–aide

afficher cette aide et quitter

–version

sortir les informations sur la version et quitter

NOTE : votre shell peut avoir sa propre version de pwd, qui remplace généralement la version décrite ici. Veuillez vous référer à la documentation de votre shell pour plus de détails sur les options qu'il prend en charge.

(…)

1
1
1
2011-06-21 13:24:23 +0000

Comme d'autres l'ont dit, pwd fait généralement le travail assez bien. Cependant, j'aimerais ajouter une idée qui m'a aidé.

Sur tous les shells couramment utilisés aujourd'hui, vous pouvez personnaliser l'apparence de l'invite de commande. J'aime bien personnaliser la mienne pour qu'elle m'indique à la fois le nom de l'ordinateur sur lequel je suis et mon répertoire de travail. De cette façon, je sais toujours où je suis. (La partie relative au nom de l'ordinateur m'aide à réaliser si la fenêtre du terminal que j'utilise a été utilisée pour SSH dans un serveur distant). Par exemple, lorsque j'ouvre une nouvelle fenêtre de terminal sur mon ordinateur portable, que j'appelle Plastico, je vois ceci :

Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>

Vous pouvez voir que mon répertoire personnel est abrégé en ~. Je trouve que c'est incroyablement pratique de faire cela pour les invites de mon terminal - je sais toujours d'un coup d'œil exactement où je suis, encore plus qu'en regardant une fenêtre du Finder.

Sur tcsh, je fais cela en ajoutant set prompt = 'Plastico %~%# ' à mon fichier .tcshrc dans mon répertoire d'origine. Je l'ai fait sur ksh aussi en ajoutant export PS1="Plastico $PWD $ " à mon fichier .profile. Mais étant un utilisateur de Linux, vous utilisez probablement Bash, avec lequel je n'ai pas beaucoup d'expérience (je suis un peu bizarre comme ça). Mais il semble que je pourrais le faire en ajoutant PS1="Plastico \w $ " à mon fichier .bashrc.

Edit: Je viens de remarquer que le PO indique que vous êtes intéressé par sh, pas par bash. J'espère que les gens trouveront ça utile quand même.

Advertisement

Questions connexes

6
10
11
5
2
Advertisement