Que signifie «cd -»?

95

Dans un script shell bash aujourd'hui, j'ai remarqué la commande ci-dessous à la fin du script. Je sais ce que c'est cdmais je ne suis pas conscient de la signification d'un tiret après.

cd -

Qu'est-ce que ça veut dire? Google tronque naïvement le -donc je suis incapable de trouver sa réponse.

AppleGrew
la source
@nm Non man cdsur ma machine, FYI.
Dan Fego
J'ai essayé ça. Il renverra un cd-rom, un disque compact, etc.
AppleGrew
2
Vous pouvez également consulter les commandes pushdet popd. Je ne pourrais pas vivre sans eux.
Brett Hale
2
@nm - cdn'est pas un binaire externe, c'est une commande intégrée aux shells. indice man bash.
jordanm
J'ai man cdsur mon système (Gentoo), il dit: This manual page is part of the POSIX Programmer's Manualetc. etc. Si le vôtre manque, vous pouvez toujours google man cd.
n. «pronoms» m.

Réponses:

128

Si un seul tiret est spécifié comme argument, il sera remplacé par la valeur de OLDPWD.

Le OLDPWDest défini par cdcommande et il s'agit du répertoire de travail précédent.

Sandro Munda
la source
2
Merci. C'était court et du point de vue du programmeur, complet.
AppleGrew
que se passe-t-il si nous fournissons -sous forme de fichier.
viveksinghggits
@viveksinghggits Vous pouvez utiliser cd ./-ou pour le supprimer, vous pouvez y échapper avecrm -fr -- -
Sandro Munda
20

cd - retourne au répertoire que vous étiez précédemment.

Par exemple:

marcelo @ marcelo: ~ $ cd / opt
marcelo @ marcelo: / opt $ cd / usr / bin
marcelo @ marcelo: / usr / bin $ cd -
/opter
marcelo @ marcelo: / opt $ 

J'étais dans / opt, je suis passé à / usr / bin, puis je suis revenu à / opt avec cd -

Marcelo Diniz
la source
10

cd - vous ramène au dernier répertoire.

$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop

la source
6

cd - retourne au répertoire précédent dans lequel vous vous trouviez.

Dis que je suis /usr/et je tapecd /var/local/someplace/else

Alors j'utilise cd -je reviendrai/usr

Cfreak
la source
6

À partir du manuel

Un argument de - équivaut à $ OLDPWD. Si un nom de répertoire non vide de CDPATH est utilisé, ou si - est le premier argument et que le changement de répertoire réussit, le chemin absolu du nouveau répertoire de travail est écrit dans la sortie standard. La valeur de retour est true si le répertoire a été modifié avec succès; faux sinon

Par conséquent, le -est équivalent à $OLDPWD, qui contient le dernier répertoire dans lequel le shell était, et est défini par l' cdinvocation précédente .

phoxis
la source
2

cd - vous ramène au dernier répertoire où vous vous trouviez. par exemple

cd ~/Documents
cd ~
cd /

Vous êtes maintenant dans «/», et si vous exécutez «cd -», vous serez dans «~». BTW, exécutez 'cd -' encore une fois, vous reviendrez à '/' mais pas à '~ / Documents'

Jie Zhang
la source
-1

«Répertoire actuel» C'est ce que signifie la commande bash cd terminal. Cela signifie "garde-moi dans ce répertoire"

TheHessian
la source
cd signifie "Changer de répertoire"!
Reyhaneh Trb