mv command


大咖好呀,我是恋喵大鲤鱼。

!!! 我的第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。
!!! 我的第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。
!!! 我的第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。

1.命令简介

mv (move) 用来移动或改名文件和目录。

移动文件时如果目标文件已经存,则目标文件的内容将被覆盖。

mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

(1)如果目标文件是目录,原文件会被移到此目录下,且文件名不变。当目标文件是目录时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标目录中。所有移到该目录下的文件都将保留以前的文件名。

(2) 如果目标文件不是目录,则原文件名(只能有一个)会变更为目标文件名,并覆盖己存在的同名文件。如果原文件和目标文件在同一个目录下,mv 的作用就是修改文件名。

注意:

(1) mv 与 cp 的结果不同,mv 像是文件“搬家”,文件个数并未增加。而 cp 对文件进行复制,文件个数增加了。

(2) 尽管其手册没有说明,使用 mv 移动目录时如果目标目录非空将失败。确定安全的情况下,可以改用 cp 命令。

cp -rf yourdir dstdir && rm -r yourdir

2.命令格式

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

3.选项说明

--backup=[=CONTROL]
	若需覆盖文件,则覆盖前先行备份
-b
	当文件存在时,覆盖前,为其创建一个备份。功能类似于--backup,但是不需要接收参数
-f, --force
	若目标文件或目录已存在,则直接覆盖不进行提示。为缺省行为。
-i, --interactive
	交互式操作,若目标文件或目录已存在,则询问用户是否覆盖。输入y表示同意;输入n表示不同意
-n, --no-clobber
	不覆盖现有的同名文件或目录;如果同时指定多个以下选项,-i, -f, -n,则只有最后一个生效
--strip-trailing-slashes
	删除参数 SOURCE 中所有目录末端的斜杠
-S, --suffix=SUFFIX
	为备份文件指定后缀,而不使用默认的后缀
-t, --target-directory=DIRECTORY
	指定源文件要移动到的目标目录
-T, --no-target-directory
	将 DEST 视为普通文件
-u, --update
	当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-v, --verbose
	冗余模式执行 mv,解释 mv 命令的执行过程
-Z, --context
	将目标文件的 SELinux 安全上下文设置为默认类型
--help
	显示帮助信息并退出
--version
	显示版本信息并退出

4.常用示例

(1)将文件 old 改名为 new。

mv old new

(2)将目录 /usr/men 中的所有文件移到当前目录(用.表示)中。

mv /usr/men/* .

(3)交互式操作,若目标文件或目录已存在,则询问用户是否覆盖。

mv -i foo bar

参考文献

mv(1) - Linux manual page - man7.org
Linux命令大全.mv命令
mv: Directory not empty - Ask Ubuntu

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值