cd に相当するものは cp または mv にありますか?

cd に相当するものは cp または mv にありますか?

Bash や類似のシェルでは、cd -現在のディレクトリを以前にアクセスしたディレクトリに変更します。これは非常に便利なことが多いです。ファイルのコピーや移動にも、次のような同様の省略形があるのではないかと思います。

~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question

具体的な回答もいただければ幸いですzsh

答え1

シェルに がある場合はcd -、特殊変数と/または以前にいたディレクトリへの$OLDPWDショートカットのいずれかがある可能性があります。~-

cp Makefile LICENSE "$OLDPWD/"

cp Makefile LICENSE ~-

cat ~-/Makefile

実際、POSIXシェル言語(ksh/bash/zshはこれに基づいて構築されています)指定するそれはcd -と等しいはずですcd "$OLDPWD"

答え2

いつでも使えますシェルバッククォート

これらはサブシェルのように動作します。バッククォート内のコマンドが最初に実行され、その出力がメインコマンドの引数として配置されます。

~/folderA$ cd ../folderB  
~/folderB$ cp Makefile `cd -`  
# gets expended to "cp Makefile ~/folderA"

関連情報