我有一个文件在some/long/path/to/file/myfiel.txt
。
我想将其重命名为some/long/path/to/file/myfile.txt
。
目前我通过 来实现mv some/long/path/to/file/myfiel.txt some/long/path/to/file/myfile.txt
,但是输入两次路径并不是很有效(即使使用制表符完成)。
我怎样才能更快地做到这一点?(我想我可以编写一个函数来仅更改文件名段,但那是计划 B)。
答案1
答案2
以下是几个选项:
更改目录:
cd /home/long/path
mv file1 file2
cd -
使用目录堆栈更改目录:
pushd /some/long/path
mv file1 file2
popd
使用子 shell 更改目录:
(
cd /some/long/path
mv file1 file2
) # no need to change back
使用括号扩展:
mv /some/long/path/{file1,file2}
使用变量:
D=/some/long/path
mv "$D/file1" "$D/file2"
答案3
更改目录,移动文件,然后更改回上一个目录;如下所示:
cd some/long/path/to/file
mv myfiel.txt myfile.txt
cd -
答案4
当我使用 subshell 方法时,我倾向于在一行中执行此操作,如下所示
(cd /some/long/path ; mv myfiel myfile )