从目录内重命名目录?

从目录内重命名目录?

如何从该目录中重命名该目录?

例如:

~/tmp $ rn tmp2
~/tmp2 $ 

我可以用以下命令来做到这一点: cd .. && mv tmp tmp2 && cd tmp2,但不知道如何将其变成一个命令。

答案1

将其添加到您的 .bashrc.zshrc 文件中将允许您复制我所描述的行为:

#in .{bash,zsh}rc file
rn () {
  local D="${PWD##*/}"
  cd .. && mv -- "$D" "$1" && cd -- "$1"
}

#in terminal
~/tmp $ rn tmp2
~/tmp2 $ 

[1]${PWD##*/}摘自这个问题

答案2

$mv /tmp /tmp2 

但要搬进来tmp2,你必须做

$cd ..

$cd tmp2

答案3

mv ../dir ../dir2

但是如果您不使用新名称重新输入目录,您可能会收到诸如找不到目录或 ls 无法工作之类的错误。

在“一个命令”中:

mv ../dir ../dir2 && cd ../dir2

相关内容