如何通过命令行重命名目录?

我拿到了目录 /home/user/oldname 我想把它重命名为 /home/user/newname. 如何在终端中执行此操作?

mv/home/user/oldname/home/user/newname

mv 能做两份工作。

  1. 它可以移动文件或目录
  2. 它可以重命名文件或目录

要重命名文件或目录,请在终端中键入:

mv old_name new_name 

新旧名字之间有空格。

要移动文件或目录,请在终端中键入此.

mv file_name ~/Desktop 

它会将文件移动到桌面。

如果是一个目录,你应该添加 -R 目录名之前:

mv -R directory_name ~/Desktop
mv -T /home/user/oldname /home/user/newname

这将重命名目录,如果目标不存在,或者如果它存在,但它是空的。 否则它会给你一个错误。

如果你这样做,而不是:

mv /home/user/oldname /home/user/newname

会发生两件事中的一件:

  • 如果 /home/user/newname 不存在,它会重命名 /home/user/oldname/home/user/newname
  • 如果 /home/user/newname 存在,它会移动 /home/user/oldname 进入 /home/user/newname,即 /home/user/newname/oldname

资料来源: 如何决定mv移动到目录而不是替换目录?

如果您想在文件系统中重命名您级别的目录(例如,您在主目录并希望重命名也在主目录中的目录):

mv Directory ./NewNameDirectory

gvfs-move 命令还将重命名文件和目录。

gvfs-move /home/user/oldname /home/user/newname

gvfs-rename也将重命名目录。 如果已存在具有新名称的目录,则会报错。 唯一的限制是您不能使用带有文件夹名称的路径。 所以

gvfs-rename /home/boo /home/boo-the-dog 

不会工作,但

cd /home gvfs-rename boo boo-the-dog 

会起作用。 没有mv-T那么有用,但我在the man中读到它是用于网络操作的。

使用’mv’,最后不要使用’`’。 因为你的内容会进入它。

另请参阅:[如何移动目录](Linux command to move a directory - Stack Overflow

始终使用’mv’或’rename’。