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

我有目录/home/user/oldname ,我想将其重命名为/home/user/newname 。 我怎么能在终端上做到这一点?

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

mv可以做两份工作。

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

要在Terminal中重命名文件或目录,请输入以下内容:

 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进入目录而不是替换目录?

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

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

如果要在文件系统中的级别重命名目录(例如,您在主目录中并且想要重命名同样位于主目录中的目录):

 mv Directory ./NewNameDirectory 

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

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

不行,但是

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

将工作。 没有mv -T那么有用,但我在那个人看来它是用于网络操作的。