/home/user/oldname
,我想将其重命名为/home/user/newname
。如何在终端中执行此操作?#1 楼
mv /home/user/oldname /home/user/newname
评论
相关的Brighthub.com/computing/linux/articles/20667.aspx
– N.N.
2011年8月8日在17:23
很酷的文章。这就是重点。
–拉斐尔·西拉克(RafałCieślak)
2011年8月9日在9:02
如果新名称已经是现有目录,则将无法使用。而是将旧目录移到新目录中。
–cxrodgers
2014年4月17日下午4:56
如果目录名与大写字母相同,则将显示“无此文件或目录”。为了避免这种情况,请执行以下命令:mv / home / user / folder / home / user / temp; mv / home / user / temp / / home / user / folder。
–DutGRIFF
2014年12月5日在16:30
@cxrodgers:传递--no-target-directory(-T),以避免将newname视为目标目录。
– jfs
16-12-7在4:52
#2 楼
mv
可以完成两项工作。它可以移动文件或目录
它可以重命名文件或目录
仅重命名文件或目录类型在Terminal中:
mv old_name new_name
在新名称和旧名称之间留有空格。
要移动文件或目录,请在Terminal中键入此内容。 br />
mv file_name ~/Desktop
它将文件移动到桌面。
如果是目录,则应在目录名称前添加
-R
:mv -R directory_name ~/Desktop
评论
Ubuntu上的mv来自GNU coreutils。 AFAICT没有-R选项,在移动目录时也没有必要。
–arielf
2015年9月9日在7:46
-r甚至不起作用
–user1735921
16-09-26在6:19
正确的选项是-T。有关其行为,请参见@bmaupin的答案。
–计时
17 Mar 23 '17 at 10:09
#3 楼
mv -T /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移入目录而不是替换目录?
评论
如果要在不区分大小写的文件系统中大写目录名(可能在MacOS上),则不起作用。 mv -T $ PWD / analisys $ PWD / Analisys返回mv:'/ Users / sixtykeys / Projects / murphy / tmp / analisys'和'/ Users / sixtykeys / Projects / murphy / tmp / Analisys'是同一文件。我通过使用中间名称(即analisys_)来解决此问题。
–protoboolean
19年2月13日在13:12
由于文件系统的限制,该命令可能无法成功执行,但是从另一个角度来看,该命令可以成功地解释您的意图(重命名目录,而不移动目录):)
– bmaupin
19年2月13日在13:47
你有尝试过吗?
– Mahmoud S. Marwad
19年7月21日在14:12
#4 楼
如果要重命名文件系统中的目录(例如,您在主目录中,并且想重命名也在主目录中的目录):mv Directory ./NewNameDirectory
#5 楼
此gvfs-move
命令还将重命名文件和目录。gvfs-move /home/user/oldname /home/user/newname
#6 楼
gvfs-rename也将重命名目录。如果具有新名称的目录已经存在,则会出现错误。唯一的限制是您不能使用带有文件夹名称的路径。因此,gvfs-rename /home/boo /home/boo-the-dog
不起作用,但
cd /home
gvfs-rename boo boo-the-dog
将起作用。不如mv -T有用,但我读到那个人说它是用于网络操作的。
评论
另请参阅:如何移动目录始终使用mv或重命名。
使用mv,不要在结尾使用/。因为您的内容将放入其中。