如何使用Linux(Bash)在目录中移动文件

Erl*_*ton 2 linux bash shell mv ash

我正在寻找一个好的shell one liner来移动或重命名目录中的文件,其中目标和目标父目录是相同的,并且与当前工作目录不同.例如,我不想写的东西:

$ mv /usr/share/nginx/html/app.xml /usr/share/nginx/html/index.html
Run Code Online (Sandbox Code Playgroud)

我该怎么做同样的事情,而无需键入"在/ usr /共享/ nginx的/ HTML /"两次,或者使用多个命令(切换目录,PUSHD等)?

fre*_*ini 6

你可以使用大括号扩展:

$ mv /usr/share/nginx/html/{app.xml,index.html}
Run Code Online (Sandbox Code Playgroud)

  • 真棒!这是特定于bash还是也适用于sh? (2认同)
  • @ErlVolton [这是特定于bash的](http://unix.stackexchange.com/q/92819/67817). (2认同)