【Linux指令集】---mv指令(超详细)

文章详细介绍了Linux的mv指令,用于重命名和移动文件或目录。讲解了包括-b(备份覆盖)、-i(询问覆盖)、-n(试探性覆盖)、-u(更新)和-f(强制覆盖)等选项的使用方法,并通过实例演示了各种操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
演示环境:centos7
在这里插入图片描述

mv指令:mv即move的缩写,用于移动文件或重命名文件的命令。
基本格式mv [选项] <源文件或目录> <目标文件或目录>

mv指令有主要有两个用法:重命名文件(即剪切)和移动文件

重命名文件mv [选项] <旧文件名> <新文件名>
移动文件/文件夹mv [选项] <源文件> <目标目录>

选项作用
-b当覆盖文件时会对被覆盖文件进行先行备份。
-i交互式操作,当目标文件已经存在时,会询问是否覆盖。
-n试探性覆盖文件(依据为目标文件是否存在)。
-u只有在源文件比目标文件新或者目标文件不存在时才进行操作。
-f强制操作,不进行任何提示,如果目标存在时,会直接覆盖。

下面将对mv指令的两个作用(重命名、移动文件)以及常用的选项进行展开介绍。

一、重命名文件

重命名文件:即将文件重命名为一个新的文件名。
命令格式mv <旧文件名> <新文件名>

实战一:现在当前目录有一个文件test.txt,将其重命名为new_test.txt。 输入命令:mv test.txt new_test.txt
在这里插入图片描述

实战二在这里插入图片描述
a目录中的test.txt重命名为log.txt
输入指令(相对路径)mv ./a/test.txt ./a/log.txt
在这里插入图片描述
如果以绝对路径的方式,
则输入指令:mv /home/lyf/lesson8/a/test.txt /home/lyf/lesson8/a/log.txt
结果如下
在这里插入图片描述

二、移动文件/文件夹(剪切)

实战一:将上级目录中的目录clog.txt相对路径的方式移动到当前目录中。在这里插入图片描述
如图,当前处于a目录中。
输入命令mv ../c/log.txt .

结果如下:
在这里插入图片描述
相同的操作我们如果使用绝对路径的方式将上级目录中的目录clog.txt以移动到当前目录中。
输入指令:mv /home/lyf/lesson8/c/log.txt .
结果如下:
在这里插入图片描述

实战二:
在这里插入图片描述
如上图,将当前目录下的目录c_1移动到c目录
输入命令mv c_1/ c/
在这里插入图片描述

三、备份覆盖的目标文件(-b)

-b选项:备份覆盖的目标文件。

输入指令mv -b b/log.txt a/log.txt
在这里插入图片描述

四、询问是否覆盖目标文件(-i)

-i:询问用户是否覆盖目标文件。
举例如下: 输入指令:mv -i b/log.txt a/log.txt
在这里插入图片描述

五、试探性覆盖(-n)

-n:所谓试探性覆盖就是就是如果目标文件已经存在(不需要内容一样,文件名相同即可),则mv命令不会进行对目标文件进行覆盖(mv指令为无效指令,即啥也没干);如果目标文件不存在,则mv命令会执行正常的移动操作。

举例如下:
输入指令mv -n b/log.txt a/log.txt
在这里插入图片描述
可以看到,上图中该mv指令其实就相当于无效指令,因为目标文件已经存在。

六、-u

-u:只有在源文件比目标文件新或者目标文件不存在时才进行操作(新或旧指的是文件的最后修改时间)。

举例如下:
在这里插入图片描述
例一输入指令mv -u a/log.txt b/test.txt,结果如下:
在这里插入图片描述
最终可以看到mv指令为无效指令,即相当于啥也没做,因为a/log.txt文件b/test.txt文件要旧。

例二
在这里插入图片描述
可以看到b/test.txt文件要比a/log.txt新。
输入指令mv -u b/test.txt a/log.txt,结果如下:
在这里插入图片描述

七、强制覆盖(-f)

-f:强制执行移动操作,即使目标文件已经存在或无法写入。

举个例子:
文件覆盖前,请看:
在这里插入图片描述
输入指令:mv -f b/test.c a/test.c,结果如下:
在这里插入图片描述
最终结果就是强制性的进行文件的覆盖。

好了,以上就是mv指令的介绍(重命名、剪切以及常用选项)。
就到这里啦,再见啦友友们!!!
在这里插入图片描述

03-09
### Linux 中 `mv` 命令详解 #### 功能描述 `mv` 是 move 的缩写,在 Linux 系统中用于移动文件或目录以及重命名文件和目录[^1]。 #### 基本语法结构 命令的一般形式如下: ```bash [root@localhost ~]# mv 【选项】 源文件 目标文件 ``` 对于多个源文件向单个目标目录的移动,或者当目标是一个具体路径而非新名字时,则采用以下格式之一: ```bash mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件... 目录 mv [选项]... -t 目录 源文件... ``` 其中 `-T` 参数表示即使指定了一个目录作为最后一个参数也应将其视为普通文件处理;而 `-t` 可以用来显式指定目的位置位于最后的位置上[^3]。 #### 主要特点 不同于 `cp` 复制指令会在存储设备上创建新的副本并保留原有数据不变,`mv` 不会产生额外的数据拷贝过程,因此不会消耗更多磁盘空间。在同一文件夹内的更名操作本质上就是一种特殊的移动行为。 #### 特殊情况注意事项 值得注意的是,尽管官方文档未特别指出,但在尝试通过 `mv` 进行跨分区间的整个目录迁移时可能会遇到权限不足或其他错误提示。此时建议先利用 `cp -rf` 完成复制再删除旧版本来规避潜在风险[^4]。 #### 实际应用案例演示 假设当前工作目录下存在名为 oldname.txt 和 newfolder/ 的两个实体对象,那么执行下列语句即可实现相应功能: - 将文件 oldname.txt 改为 newname.txt : ```bash mv oldname.txt newname.txt ``` - 把文件放入子文件夹内: ```bash mv file.txt ./newfolder/ ``` - 批量转移多份资料至另一处所: ```bash mv *.txt /path/to/target/directory/ ```
评论 81
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兜里有颗棉花糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值