有没有一种方法可以将文件从一个目录移动到另一个目录,然后用一个命令 cd 进入后者?类似于mv /a/file /another/dir && cd _
但无需第二次输入目录路径。
答案1
有一些功能用于移动和复制文件并将它们跟踪到源自以下位置的目标目录Arch Linux 板上的一个线程:
# Follow copied and moved files to destination directory
cpf() { cp "$@" && goto "$_"; }
mvf() { mv "$@" && goto "$_"; }
goto() { [ -d "$1" ] && cd "$1" || cd "$(dirname "$1")"; }
然后,您可以通过发出以下命令来{移动,复制}并跟踪文件:
mvf file /dest/dir/
答案2
在你的.bashrc
:
cpcd() { cp "$1" "$2" && cd "$2"; }
我就是这么做的
然后你可以cpcd
像使用cp
cpcd blah dir/
它会将 blah 复制到 dir,如果成功,它将把目录更改为 dir/
答案3
你可以向前做:
mv /a/file /another/dir; cd $_
或者你也可以向后做:
cd /another/dir; mv /a/file .
你的来电。
答案4
测试此选项,尝试使用 verbose mv 命令提取目录,然后转到 .
cd "$(mv -v file directory | grep -o '/.*/')"