En utilisant le shell sh
(pas bash
), quelle commande sous Linux/UNIX imprime mon répertoire actuel?
$ *showmewhereiam*
/sys/kernel/debug
$
Essayez pwd
.
$ pwd
/home/<username>
Alors que la réponse générale est pwd
, notez que cela peut donner des résultats différents selon la manière dont vous avez atteint un annuaire donné et si la route inclut 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
dans le répertoire virtual
, alors pwd
montrera que virtual
nom de répertoire, même si le répertoire dans lequel vous vous trouvez est real
.
Pour afficher le répertoire sous-jacent réel, utilisez pwd -P
ou readlink -f
(pour un chemin arbitraire):
$ mkdir real $ ln -s real virtuel $ 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 pwd(1)
suggère que --physical
fonctionnera aussi bien que -P
, car j’exécute bash
, elle ne le fait pas:
$ pwd --physical bash: pwd: -: option non valide pwd: utilisation: pwd [-LP] $/bin/pwd --physical /maison/username/tmp/real $/usr/bin/env pwd --physical /home /username/ tmp/real
$ pwd
/your/current/directory
$
pwd
provient du répertoire de travail print .
Prénom
pwd - Affiche le nom du répertoire/répertoire de travail
Synopsis
pwd [OPTION] ...
La description
Affiche le nom de fichier complet du répertoire de travail en cours.
-L , --logical
utiliser PWD de l'environnement, même s'il contient des liens symboliques
-P , --physical
éviter tous les liens symboliques
--help
affiche cette aide et quitte
--version
affiche les informations de version et quitte
REMARQUE: votre shell peut avoir sa propre version de pwd, qui remplace généralement la version décrite ici. Veuillez vous reporter à la documentation de votre shell pour plus de détails sur les options qu'il prend en charge.
(...)
Comme d'autres l'ont dit, pwd
fait généralement assez bien le travail. 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 personnaliser le mien pour qu'il me montre à 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 à déterminer si la fenêtre de terminal que j'utilise a été utilisée pour SSH sur 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 cela abrége mon répertoire personnel en ~
. Je trouve que faire cela pour mes invites de terminal est incroyablement pratique - je sais toujours d'un coup d'œil où je suis exactement, encore plus que si je regardais dans une fenêtre du Finder.
Sur tcsh, je le fais en ajoutant set Prompt = 'Plastico %~%# '
à mon fichier .tcshrc dans mon répertoire personnel. Je l'ai aussi fait sur ksh en ajoutant export PS1="Plastico $PWD $ "
à mon fichier .profile. Mais étant un utilisateur de Linux, vous utilisez probablement Bash, pour lequel je n’ai pas beaucoup d’expérience (je suis un cinglé comme ça). Mais il semble que je pourrais peut-être le faire en ajoutant PS1="Plastico \w $ "
à mon fichier .bashrc.
Edit: Je viens de remarquer que l'OP indique que vous êtes intéressé par sh, pas bash. Tant pis; espérons que les gens trouveront cela utile malgré tout.