Linux中的mv命令

作用:用于移动文件或目录,或者重命名的命令。与cp命令不同,mv命令操作后源文件会消失

bash 复制代码
mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录
场景 本质 速度
同一文件系统内移动 只修改文件名/路径指针 极快(瞬间完成)
跨文件系统移动 先复制数据,再删除源文件 慢(取决于文件大小)
重命名 同文件系统内的特殊移动 极快
选项 完整写法 说明
-i --interactive 交互模式,覆盖前提示确认
-f --force 强制覆盖,不提示
-n --no-clobber 不覆盖已存在的文件
-u --update 只有源文件比目标新时才移动
-v --verbose 显示详细移动过程
-b --backup 覆盖前自动备份目标文件
-t --target-directory 指定目标目录(参数顺序调换)

基础用法示例:

1.重命名文件或目录(最常用)

bash 复制代码
[root@master /]# ls
bin  boot  data  demo01  dev  etc  home  lib  lib64  media  mnt  opt  parent  proc  Projects  root  run  sbin  srv  sys  Tests  tmp  usr  var
[root@master /]# cd Tests
[root@master Tests]# ls
myfile1.txt  SubTests  test1.txt  test2.txt  test3.txt
[root@master Tests]# cat test1.txt test2.txt test3.txt
2026年4月25日01点18分
2026年4月25日01点18分
2026年4月25日01点18分
[root@master Tests]# cat test1.txt
2026年4月25日01点18分
[root@master Tests]# cat test2.txt
2026年4月25日01点18分
[root@master Tests]# cat test3.txt
2026年4月25日01点18分
[root@master Tests]# mv test1.txt file01.txt # 重命名文件
[root@master Tests]# ls
file01.txt  myfile1.txt  SubTests  test2.txt  test3.txt
[root@master Tests]# cat file01.txt
2026年4月25日01点18分

2.移动文件到指定目录

bash 复制代码
[root@master Tests]# mv file01.txt ./SubTests # 移动单个文件到指定目录
[root@master Tests]# ls SubTests
file01.txt
[root@master Tests]# cat SubTests/file01.txt
2026年4月25日01点18分
[root@master Tests]# mv test2.txt test3.txt SubTests/ # 移动多个文件到指定目录
[root@master Tests]# ls SubTests
file01.txt  test2.txt  test3.txt
bash 复制代码
[root@master Tests]# mv file01.txt ./Sub # 由于前面已经将file01.txt移动到./SubTests这个目录下了,所以当前目录下就没有这个文件了,因此会报错
mv: cannot stat 'file01.txt': No such file or directory
[root@master Tests]# ls # 从ls结果看出确实file01.txt消失了
myfile1.txt  SubTests
[root@master Tests]# cd SubTests/
[root@master SubTests]# ls
file01.txt  test2.txt  test3.txt
[root@master SubTests]# mv file01.txt ../Sub
[root@master SubTests]# cd ..
[root@master Tests]# ls
myfile1.txt  Sub  SubTests
[root@master Tests]# ls -l Sub # 本来想创建一个Sub目录的,但是在mv命令中只能新建不存在的文件,不能新建目录
-rw-r--r--. 1 root root 27 Apr 25 01:18 Sub
[root@master Tests]# cat Sub
2026年4月25日01点18分
bash 复制代码
[root@master Tests]# ls
myfile1.txt  Sub  SubTests
[root@master Tests]# ls SubTests
test2.txt  test3.txt
[root@master Tests]# mv SubTest/test2.txt ./Sub/ # 确信了如果要移动到指定的目录下,那么这个目录就要先存在
mv: failed to access './Sub/': Not a directory

3.移动目录

bash 复制代码
[root@master Tests]# ls
myfile1.txt  Sub  SubTests
[root@master Tests]# mkdir S
[root@master Tests]# ls
myfile1.txt  S  Sub  SubTests
[root@master Tests]# ls S
[root@master Tests]# mv SubTests S # 移动目录不需要-r参数,mv命令自带递归移动效果
[root@master Tests]# ls
myfile1.txt  S  Sub
[root@master Tests]# ls S
SubTests
[root@master Tests]# ls S/SubTests/
test2.txt  test3.txt
相关推荐
Wang's Blog3 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
云运维笔记4 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
bosins5 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人5 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院5 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi6 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事6 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
EasyGBS6 小时前
终结训推割裂!EasyGBS×EasyAIS×DLTM,实现AI算法训推一体闭环落地!
服务器·深度学习·安全
daemon.qiang6 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
Doris__HE7 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化