Linux系统之mv命令的基本使用
Linux系统之mv命令的基本使用
- 一、mv命令介绍
- 1. mv命令简介
- 2. mv命令的使用结果
- 二、mv命令的使用帮助
- 1. 在命令行的帮助信息
- 2. mv常用选项
- 三、mv命令的基本使用
- 1. 创建源目录和目标目录
- 2. 新建测试文件
- 3. 将源目录文件复制到目标目录
- 4. 将文件进行改名
- 5. 将目录的所有文件转移到目标目录
- 6. 移动多个文件到目标目标
- 7. 移动目录
- 8. 覆盖文件
- 四、mv的日常使用
- 1. 提示是否覆盖文件
- 2. 覆盖文件时对源文件备份
- 3. 强制覆盖文件
- 4. 打印转移信息
- 5. 源文件比目标文件新时才执行更新
- 五、注意事项
一、mv命令介绍
1. mv命令简介
mv
命令主要是在Linux系统中用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
2. mv命令的使用结果
- mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有不同的结果:
1.如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2.如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
3.如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。
4.当目标文件是目录时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标目录中。所有移到该目录下的文件都将保留以前的文件名。
二、mv命令的使用帮助
1. 在命令行的帮助信息
在命令行的,
mv --help
显示mv的帮助信息。
[root@jeven ~]# mv --help
Usage: mv [OPTION]... [-T] SOURCE DESTor: mv [OPTION]... SOURCE... DIRECTORYor: mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.--backup[=CONTROL] make a backup of each existing destination file-b like --backup but does not accept an argument-f, --force do not prompt before overwriting-i, --interactive prompt before overwrite-n, --no-clobber do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.--strip-trailing-slashes remove any trailing slashes from each SOURCEargument-S, --suffix=SUFFIX override the usual backup suffix-t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY-T, --no-target-directory treat DEST as a normal file-u, --update move only when the SOURCE file is newerthan the destination file or when thedestination file is missing-v, --verbose explain what is being done-Z, --context set SELinux security context of destinationfile to default type--help display this help and exit--version output version information and exitThe backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable. Here are the values:none, off never make backups (even if --backup is given)numbered, t make numbered backupsexisting, nil numbered if numbered backups exist, simple otherwisesimple, never always make simple backupsGNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mv invocation'
2. mv常用选项
mv命令的常用选项
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
三、mv命令的基本使用
1. 创建源目录和目标目录
创建一个源目录和目标目录
[root@jeven ~]# mkdir /source
[root@jeven ~]# mkdir /target
2. 新建测试文件
在源目录和目标目录分别新建测试文件。
[root@jeven ~]# touch /source/sou_file{01..03}.txt
[root@jeven ~]# ls /source/
sou_file01.txt sou_file02.txt sou_file03.txt
[root@jeven ~]# touch /target/tar_file{01..03}.txt
[root@jeven ~]# ls /target/
tar_file01.txt tar_file02.txt tar_file03.txt
3. 将源目录文件复制到目标目录
将/source/sou_file01.txt 复制到/target/目录下
[root@jeven ~]# mv /source/sou_file01.txt /target/
[root@jeven ~]# ls /target/
sou_file01.txt tar_file01.txt tar_file02.txt tar_file03.txt
4. 将文件进行改名
在同一目录下将文件进行改名,例如在target/目录,将sou_file01.txt改名为aa_test.txt
[root@jeven ~]# cd /target/
[root@jeven target]# mv sou_file01.txt aa_test.txt
[root@jeven target]# ls /target/
aa_test.txt tar_file01.txt tar_file02.txt tar_file03.txt
5. 将目录的所有文件转移到目标目录
将/source/目录的所有文件,转移到目标目录 /target/
[root@jeven ~]# mv /source/* /target/
[root@jeven ~]# ls /target/
aa_test.txt sou_file02.txt sou_file03.txt tar_file01.txt tar_file02.txt tar_file03.txt
6. 移动多个文件到目标目标
将/test/目录下的file01和file02文件转移到目标目录/target
[root@jeven ~]# mv /test/file01 /test/file02 /target/
[root@jeven ~]# ls /target/
aa_test.txt file01 file02 sou_file02.txt sou_file03.txt tar_file01.txt tar_file02.txt tar_file03.txt
7. 移动目录
将/test目录移动到/target目录
[root@jeven ~]# mv /test/ /target/
[root@jeven ~]# ls /target/
aa_test.txt file01 file02 sou_file02.txt sou_file03.txt tar_file01.txt tar_file02.txt tar_file03.txt test
8. 覆盖文件
在/source目录下,创建两个文件,并写入内容。
root@jeven ~]# cd /source/
[root@jeven source]# ls
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# cat aa.txt
11
[root@jeven source]# cat bb.txt
22
当源文件aa.txt和目标文件bb.txt都存在时,源文件会变成目标文件bb.txt,并覆盖原来的bb.txt文件。
[root@jeven source]# mv aa.txt bb.txt
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt
11
四、mv的日常使用
1. 提示是否覆盖文件
在当覆盖文件时,提示是否覆盖文件,默认mv命令加了-I
[root@jeven source]# mv -i aa.txt bb.txt
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt
11
[root@jeven source]# alias |grep mv
alias mv='mv -i'
2. 覆盖文件时对源文件备份
使用
mv -b
,在覆盖文件时,对源文件进行备份。
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# mv -b aa.txt bb.txt
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt bb.txt~
[root@jeven source]# cat bb.txt
11
[root@jeven source]# cat bb.txt~
22
3. 强制覆盖文件
使用mv -f 强制覆盖文件。
mv -f aa.txt bb.txt
4. 打印转移信息
使用mv -v打印移动信息
[root@jeven source]# mv -v /source/bb.txt /target/
‘/source/bb.txt’ -> ‘/target/bb.txt’
5. 源文件比目标文件新时才执行更新
当源文件是最新更新时,才可以覆盖目标文件。
- 目标文件比源文件更新时,不执行覆盖操作。
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# mv -uv aa.txt bb.txt
[root@jeven source]# ls
aa.txt bb.txt
- 源文件比目标文件更新时,执行覆盖操作。
[root@jeven source]# echo ee > aa.txt
[root@jeven source]# mv -uv aa.txt bb.txt
mv: overwrite ‘bb.txt’? yes
‘aa.txt’ -> ‘bb.txt’
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt
ee
五、注意事项
在Linux中使用mv
命令时,有几个注意事项可以帮助你更安全、有效地操作文件和目录:
-
权限问题:确保你有足够的权限去移动或重命名文件。如果没有,
mv
命令会失败,除非使用了sudo
(对于需要提升权限的操作)。 -
覆盖风险:默认情况下,如果你尝试移动一个文件到一个已存在的同名文件的位置,
mv
会直接覆盖目标文件,不会询问。为了避免意外覆盖,可以使用-i
(interactive)选项,这样在覆盖前会提示确认。 -
备份原文件:使用
-b
选项可以在覆盖文件前自动创建一个备份,这对于保护重要数据很有帮助。 -
移动与重命名的区别:当第二个参数是文件名时,视为重命名操作;当是目录名时,则是移动操作。确保正确指定目标以达到预期效果。
-
跨文件系统移动:跨文件系统移动文件时,
mv
实际上是先复制再删除原文件。这意味着如果操作过程中出现错误(如空间不足),可能会丢失原文件。 -
目录操作:移动目录时,记得在目标路径后加斜杠(/),这可以避免在目标目录不存在时意外地将源目录作为目标目录的一个子目录移动进去。
-
批量操作:可以同时移动多个文件或目录,只需在源文件列表中列出它们,但目标必须是一个已存在的目录。
-
符号链接:移动符号链接会移动链接本身而不是链接指向的文件。若要移动实际文件,需要使用
-L
选项来跟踪并移动链接指向的目标。
相关文章:

Linux系统之mv命令的基本使用
Linux系统之mv命令的基本使用 一、mv命令介绍1. mv命令简介2. mv命令的使用结果 二、mv命令的使用帮助1. 在命令行的帮助信息2. mv常用选项 三、mv命令的基本使用1. 创建源目录和目标目录2. 新建测试文件3. 将源目录文件复制到目标目录4. 将文件进行改名5. 将目录的所有文件转移…...
vscode 好用的插件
转中文插件 Chinese 官网:Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code - Visual Studio Marketplace vue文件模板快速生成 Vue VSCode Snippets 官网:Vue VSCode 代码段 - Visual Studio Marketplace...

什么是蓝牙定位车载GPS终端
蓝牙定位车载GPS终端是一种集成了蓝牙技术和GPS定位功能的车载设备。这种终端不仅可以通过GPS卫星信号进行室外定位,还能利用蓝牙技术在室内环境中进行定位,实现室内外一体化的定位服务。以下是一些关于蓝牙定位车载GPS终端的关键特点和功能:…...

指纹采集技术
目录 1.概述 1.1 捺印油墨采集 1.2 现场指纹提取 1.3 在线指纹采集 2. 指纹采集器的关键技术指标 2.1 采集面积 2.2 分辨率 2.3 图像质量 2.4 耐用性 1.概述 最早的指纹采集技术是油墨法,至少已经有上百年的历史。1990年代出现了活体指纹采集器,…...

/etc/fstab、/etc/mtab 文件详解及永久挂载(文件系统、ISO镜像、文件网络共享)
/etc/mtab /etc/mtab 是当前的分区挂载情况,记录的是当前系统已挂载的分区。每次挂载/卸载分区时会更新 /etc/mtab 文件中的信息(执行 mount 命令会改变 /etc/mtab 的信息)。 文件样例 /etc/fstab 系统开机时会主动读取 /etc/fstab 这个文…...

【Linux】进程(5):命令行参数
大家好,我是苏貝,本篇博客带大家了解Linux进程(5):命令行参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 (A)为什么要有命令…...

vue2+antv/x6实现er图
效果图 安装依赖 npm install antv/x6 --save 我目前的项目安装的版本是antv/x6 2.18.1 人狠话不多,直接上代码 <template><div class"er-graph-container"><!-- 画布容器 --><div ref"graphContainerRef" id"gr…...
如何在XDMA中查看LTSSM状态机
简介 经常会遇到PCIe不能识别的问题,到底怎么去定位。本文以XDMA 为例,一方面复习下LTSSM状态机,一方面描述下如何通过FPGA的XDMA查看这个状态机 技术名词 LTSSM是一种常用于PCI Express(PCIe)接口的状态机…...

编译和运行qemu-uboot-arm64单板的Armbian系统
这篇文章ARM虚拟机安装OMV-CSDN博客遗留一个启动qemu-uboot-arm64单板Armbian镜像的问题,使用官方下载的镜像,会报错: fatal: no kernel available .... Failed to load /vmlinuz ...... qemu-system-aarch64 -smp 8 -m 8G -machine virt …...

Python版《消消乐》,附源码
曾经风靡一时的消消乐,至今坐在地铁上都可以看到很多人依然在玩,想当年我也是大军中的一员,那家伙,吃饭都在玩,进入到高级的那种胜利感还是很爽的,连续消,无限消,哈哈,现…...

Kubernetes ingress
目录 一.ingress 1.ingress简介 2.实现外部应用能访问内部集群服务的方法 (1)NodePort: (2)LoadBalancer: (3)externalIPs: (4)ingress&am…...

【JavaScript】ECMAS6(ES6)新特性概览(二):解构赋值、扩展与收集、class类全面解析
🔥 个人主页:空白诗 🔥 热门专栏:【JavaScript】 文章目录 🌿 引言五、 Destructuring Assignment - 解构赋值,数据提取的艺术 🎨📌 数组解构📌 对象解构&...
Linux入门学习指南
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

纯血鸿蒙实战开发—如何添加顶部tab页面
1.Tabs组件 Tabs组件的页面组成包含两个部分,分别是TabContent和TabBar。TabContent是内容页,TabBar是导航页签栏. 根据不同的导航类型,布局会有区别,可以分为底部导航、顶部导航、侧边导航,其导航栏分别位于底部、顶…...

数仓建模—指标拆解和选取
数仓建模—指标拆解和选取 第一节指标体系初识介绍了什么是指标体系 第二节指标体系分类分级和评价管理介绍了指标体系管理相关的,也就是指标体系的分级分类 这一节我们看一下指标体系的拆解和指标选取,这里我们先说指标选取,其实在整个企业的数字化建设过程中我们其实最…...

HTML静态网页成品作业(HTML+CSS)——VIVO介绍网页(1个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…...

MySQL(四) - SQL优化
一、SQL执行流程 MySQL是客户端-服务器的模式。一条SQL的执行流程如下: 在执行过程中,主要有三类角色:客户端、服务器、存储引擎。 大致可以分为三层: 第一层:客户端连接到服务器,构造SQL并发送给服务器…...

用 DataGridView 控件显示数据
使用DataGridView,可以很方便显示数据。 1.为解决方案添加数据集XSD,用作为项目数据源。 2.拖DataGridView控件到WinForms上。 3.在DataGridView控件的任务处,选择数据源。 4.选好数据源后,VS自动添加DataSet、BindingSourse和T…...

VisualSVN Server/TortoiseSVN更改端口号
文章目录 概述VisualSVN Server端更改端口号TortoiseSVN客户端更改远程仓库地址 概述 Subversion(SVN)是常用的版本管理系统之一。部署在服务器上的SVN Server端通常会在端口号80,或者端口号443上提供服务。其中80是HTTP访问方式的默认端口。…...

如何解决研发数据传输层面安全可控、可追溯的共性需求?
研发数据在企业内部跨网文件交换,是相对较为普遍而频繁的文件流转需求,基于国家法律法规要求及自身安全管理需要,许多企业进行内部网络隔离。不同企业隔离方案各不相同,比如银行内部将网络隔离为生产网、办公网、DMZ区,…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...