7 votes

Terminal : Comment déplacer des fichiers vers le dernier répertoire utilisé de manière pratique ?

J'ai cherché sur Google en vain et n'ai trouvé aucun exemple.

Par exemple, si je veux déplacer des fichiers dans le répertoire actuel, je peux utiliser . Mais que faire si je suis dans ~/foo et que je me déplace dans ~/foo/bar/xyz/dir et que je veux déplacer, disons, file.txt dans ~/foo?

Je pensais que mv file.txt - serait possible. Bien sûr, je comprends qu'il y a une différence entre rapatrier des fichiers d'un autre répertoire dans . et les déplacer de l'endroit où je me trouve vers l'endroit où j'étais.

Alors comment puis-je y arriver?

12voto

Brian Trzupek Points 66

"~-" fait référence au répertoire précédent. Dans la page de manuel de bash :

Si le préfixe tilde- est un `~-', la valeur de la variable shell OLDPWD, si elle est définie, est substituée.

$ pwd
/home/me
$ cd /usr
$ pwd
/usr
$ cd
$ pwd
/home/me
$ echo ~-
/usr

Donc

mv file.txt ~-

fera ce que vous voulez. On dirait que ça marche aussi dans zsh.

11voto

nohillside Points 82672

De man bash:

OLDPWD Le répertoire de travail précédent tel que défini par la commande cd.

Ainsi, cp file.txt $OLDPWD devrait fonctionner ici (ou cp file.txt "$OLDPWD" si vous n'êtes pas sûr que le chemin précédent contient des caractères d'espacement).

Si vous l'utilisez souvent, une fonction shell pourrait rendre son utilisation plus facile :

cpprev() {
    cp "$@" "${OLDPWD:?Aucun ancien répertoire}/"
}

4voto

mmigdol Points 715

Il y a un truc que vous pourriez essayer, en utilisant la commande cd et le fait que cd - vous ramène à votre dernier emplacement :

$ pwd
/home/me
$ cd somesubdir
$ pwd
/home/me/somesubdir
$ cd -
/home/me
$ cd -
/home/me/somesubdir
$ cd -
/home/me
$ pwd
/home/me
$ echo $(cd -)
/home/me/somesubdir
$ pwd
/home/me

Donc, vous pouvez faire quelque chose comme

$ mv file.* $(cd -)/

pour déplacer des fichiers de l'endroit où vous êtes maintenant à l'endroit où vous étiez avant ; cela fonctionne certainement dans bash.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X