En utilisant le sh
shell (non bash
), quelle commande sous Linux / UNIX imprime mon répertoire actuel?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
En utilisant le sh
shell (non bash
), quelle commande sous Linux / UNIX imprime mon répertoire actuel?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Réponses:
Essayez pwd
.
$ pwd
/home/<username>
/dev
quelque chose sur le développement (codes sources ou quelque chose comme ça)
Bien que la réponse générale soit générale pwd
, notez que cela peut donner des résultats différents selon la manière dont vous avez atteint un répertoire donné et si la route comprend des liens symboliques.
Par exemple, si vous avez un répertoire appelé real
et un lien symbolique vers ce répertoire appelé virtual
, et vous accédez cd
au virtual
répertoire, pwd
ce virtual
nom de répertoire sera affiché , même si le répertoire dans lequel vous vous trouvez est real
.
Pour afficher le véritable répertoire sous-jacent, utilisez soit pwd -P
ou readlink -f
(pour un chemin arbitraire):
$ mkdir real $ ln -s réel virtuel $ cd virtuel $ pwd / home / nom d'utilisateur / tmp / virtual $ pwd -P / home / nom d'utilisateur / tmp / real $ readlink -f. / home / nom d'utilisateur / tmp / real
Notez que les shells remplacent souvent la pwd
commande avec leur propre version interne, donc sur mon système (RHEL6), même si la pwd(1)
page de manuel suggère que --physical
cela fonctionnera aussi bien que -P
, parce que j'exécute bash
, cela ne fonctionne pas:
$ pwd --physical bash: pwd: -: option invalide pwd: utilisation: pwd [-LP] $ / bin / pwd --physical / home / nom d'utilisateur / tmp / real $ / usr / bin / env pwd --physical / home / nom d'utilisateur / tmp / real
Comme d’autres l’ont dit, pwd
le travail est généralement suffisant. 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, même plus que si je regardais 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, avec lequel je n'ai pas beaucoup d'expérience (je suis un bizarre 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 le PO indique que vous êtes intéressé par sh, pas bash. Tant pis; espérons que les gens trouveront cela utile malgré tout.
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
ou quelque chose comme ça.
$ pwd
/your/current/directory
$
pwd
provient du répertoire de travail d'impression .
prénom
pwd - affiche le nom du répertoire courant / de travail
Synopsis
pwd [OPTION] ...
La description
Affiche le nom de fichier complet du répertoire de travail en cours.
-L , --logique
utiliser PWD de l'environnement, même s'il contient des liens symboliques
-P , --physique
éviter tous les liens symboliques
--Aidez-moi
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.
(...)