mv指令详解

🏝️专栏:计算机操作系统
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

基本语法

主要功能

常用选项详解

1. 移动文件或目录

2. 重命名文件或目录

3. -i:交互式提示

4. -f:强制覆盖

5. -n:禁止覆盖

6. -v:显示移动过程

7. --backup:备份目标文件

配合 --suffix 指定备份后缀

8. --target-directory (-t):指定目标目录

9. --update (-u):只移动更新过的文件

使用场景和示例

1. 移动单个文件

2. 重命名文件

3. 移动并重命名文件

4. 移动多个文件到目标目录

5. 交互式覆盖文件

6. 禁止覆盖目标文件

7. 显示详细移动过程

8. 备份目标文件

9. 仅移动更新过的文件

10. 将多个文件显式移动到目标目录

注意事项


mv 是 Linux/Unix 系统中一个非常常用的命令,用于移动文件或重命名文件。它功能强大且简单直观,是文件管理中不可或缺的工具。


基本语法

mv [选项] 源文件/目录 目标文件/目录
  • 源文件/目录:需要移动或重命名的文件或目录。
  • 目标文件/目录:移动或重命名后的目标文件或目录。
  • 选项:控制 mv 命令的行为。

主要功能

  1. 移动文件或目录:将文件或目录从一个位置移动到另一个位置。
  2. 重命名文件或目录:将文件或目录重命名为一个新的名称。

常用选项详解

1. 移动文件或目录

最简单的用法是将文件从一个位置移动到另一个位置:

mv file1.txt /path/to/destination/
  • file1.txt 移动到 /path/to/destination/

如果是目录,则整个目录及其内容都会被移动:

mv dir1 /path/to/destination/

2. 重命名文件或目录

如果目标路径为文件名,则表示对文件或目录进行重命名:

mv oldname.txt newname.txt
  • oldname.txt 重命名为 newname.txt

对目录进行重命名:

mv olddir newdir

3. -i:交互式提示

当目标位置已存在同名文件时,mv 默认会直接覆盖目标文件。使用 -i 选项,mv 在覆盖文件前会提示确认:

mv -i file1.txt /path/to/destination/

提示:

mv: overwrite '/path/to/destination/file1.txt'? (y/n)

4. -f:强制覆盖

-f 选项会直接覆盖目标文件,不提示确认(默认行为)。

mv -f file1.txt /path/to/destination/

5. -n:禁止覆盖

使用 -n 选项,可以避免覆盖目标文件:

mv -n file1.txt /path/to/destination/

如果目标位置存在同名文件,mv 将不会执行移动操作。


6. -v:显示移动过程

使用 -v 选项可以显示 mv 的详细操作过程:

mv -v file1.txt /path/to/destination/

输出示例:

renamed 'file1.txt' -> '/path/to/destination/file1.txt'

7. --backup:备份目标文件

在覆盖目标文件时,使用 --backup 选项可以对目标文件进行备份。

mv --backup file1.txt /path/to/destination/

备份的文件通常会带有后缀 ~,例如 file1.txt~

配合 --suffix 指定备份后缀

可以使用 --suffix 指定备份文件的后缀:

mv --backup --suffix=.bak file1.txt /path/to/destination/

此时备份文件的名称将是 file1.txt.bak


8. --target-directory (-t):指定目标目录

使用 -t 可以显式指定目标目录,而不需要将其放在最后:

mv file1.txt file2.txt -t /path/to/destination/

等价于:

mv file1.txt file2.txt /path/to/destination/

9. --update (-u):只移动更新过的文件

使用 -u 选项,mv 只会移动源文件中比目标文件更新的文件(基于时间戳),如果目标文件较新则不移动。

mv -u file1.txt /path/to/destination/

使用场景和示例

1. 移动单个文件

mv file1.txt /path/to/destination/

file1.txt 移动到 /path/to/destination/


2. 重命名文件

mv file1.txt newname.txt

file1.txt 重命名为 newname.txt


3. 移动并重命名文件

mv file1.txt /path/to/destination/newname.txt

file1.txt 移动到 /path/to/destination/ 并重命名为 newname.txt


4. 移动多个文件到目标目录

mv file1.txt file2.txt /path/to/destination/

file1.txtfile2.txt 移动到 /path/to/destination/


5. 交互式覆盖文件

mv -i file1.txt /path/to/destination/

如果目标目录中存在同名文件,提示是否覆盖。


6. 禁止覆盖目标文件

mv -n file1.txt /path/to/destination/

如果目标位置已存在同名文件,不会执行移动操作。


7. 显示详细移动过程

mv -v file1.txt /path/to/destination/

显示文件移动的详细过程。


8. 备份目标文件

mv --backup file1.txt /path/to/destination/

备份目标位置的同名文件为 file1.txt~


9. 仅移动更新过的文件

mv -u file1.txt /path/to/destination/

仅在 file1.txt 比目标位置的同名文件更新时执行移动。


10. 将多个文件显式移动到目标目录

mv file1.txt file2.txt -t /path/to/destination/

注意事项

  1. 目标文件存在

    • 默认情况下,mv 会覆盖目标文件。
    • 使用 -i 可以避免误操作,提示用户是否覆盖。
    • 使用 -n 禁止覆盖。
  2. 权限问题

    • 如果没有权限访问目标位置或源文件,mv 会报错:
      mv: cannot move 'file1.txt' to '/path/to/destination/': Permission denied

  3. 文件丢失风险

    • 如果误操作导致覆盖文件而没有备份,数据可能会丢失。
    • 可以通过 --backup-i 选项增加操作安全性。
  4. 目标位置必须存在

    • 如果目标路径不存在,mv 会报错:
      mv: target '/path/to/destination/' is not a directory
      

通过熟练使用 mv 命令及其选项,可以轻松完成文件或目录的移动和重命名任务,在 Linux 文件管理中非常高效和常用,相信这篇文章可以让你的linux学习之路一帆风顺。

看到这里不容易点个关注不迷路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/67903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3树形组件+封装+应用

文章目录 概要应用场景代码注释综合评价注意事项功能拓展代码说明概要 创建一个基于Vue 3的树形结构组件,用于展示具有层级关系的数据,并提供了节点展开/折叠、点击等交互功能。以下是对其应用场景、代码注释以及综合评价和注意事项的详细说明。 应用场景 这个组件适用于需…

5 分布式ID

这里讲一个比较常用的分布式防重复的ID生成策略,雪花算法 一个用户体量比较大的分布式系统必然伴随着分表分库,分机房部署,单体的部署方式肯定是承载不了这么大的体量。 雪花算法的结构说明 如下图所示: 雪花算法组成 从上图我们可以看…

怎么实现Redis的高可用?

大家好,我是锋哥。今天分享关于【怎么实现Redis的高可用?】面试题。希望对大家有帮助; 怎么实现Redis的高可用? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 为了实现 Redis 的高可用性,我们需要保证在发…

牛客网刷题 ——C语言初阶(6指针)——BC106 上三角矩阵判定

1. 题目描述——BC106 上三角矩阵判定 牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。 示例 输入: 3 1 2 3 0 4 5 0 0…

H266/VVC 帧内预测中 ISP 技术

帧内子划分 ISP ISP 技术是在 JVET-2002-v3 提案中详细介绍其原理,在 VTM8 中完整展示算法。ISP是线基内预测(LIP)模式的更新版本,它改善了原始方法在编码增益和复杂度之间的权衡,ISP 算法的核心原理就是利用较近的像…

了解npm:JavaScript包管理工具

在JavaScript的生态系统中,npm(Node Package Manager)无疑是一个举足轻重的存在。它不仅是Node.js的包管理器,更是前端开发不可或缺的一部分,为开发者提供了丰富的包资源、便捷的包管理以及强大的社区支持。本文将深入…

CNN Test Data

由于数据量过大,打不开了 搞一组小的吧。收工睡觉 https://download.csdn.net/download/spencer_tseng/90256048

自动化测试脚本实践:基于 Bash 的模块化测试框架

前言 在现代软件开发中,测试自动化是确保软件质量和稳定性的核心手段之一。随着开发周期的缩短和功能模块的增多,手动测试逐渐无法满足高效性和准确性的需求。因此,测试人员需要依赖自动化工具来提升测试效率,减少人为干预和错误。…

verilogHDL仿真详解

前言 Verilog HDL中提供了丰富的系统任务和系统函数,用于对仿真环境、文件操作、时间控制等进行操作。(后续会进行补充) 正文 一、verilogHDL仿真详解 timescale 1ns/1ps //时间单位为1ns,精度为1ps, //编译…

Nginx 配置支持 HTTPS 代理

个人博客地址:Nginx 配置支持 HTTPS 代理 | 一张假钞的真实世界 本文描述的是Nginx HTTPS反向代理的情况(即后端服务是HTTP的)。 使用openssl配置ssl证书 生成服务器端的私钥(key 文件): # openssl gen…

协同过滤算法商品推荐系统|Java|SpringBoot|VUE|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SpringBoot、Mybatis-Plus、VUE、jquery,html 5⃣️…

初学stm32 --- DMA直接存储器

目录 DMA介绍 STM32F1 DMA框图 DMA处理过程 DMA通道 DMA优先级 DMA相关寄存器介绍 F1 DMA通道x配置寄存器(DMA_CCRx) DMA中断状态寄存器(DMA_ISR) DMA中断标志清除寄存器(DMA_IFCR) DMA通道x传输…

数据通过canal 同步es,存在延迟问题,解决方案

当使用 Canal 同步数据到 Elasticsearch(ES)时,出现延迟问题通常源于多个因素,如 Canal 配置、网络延迟、ES 的负载和性能瓶颈等。以下是一些解决方案,帮助减少和解决延迟问题: 1. 优化 Canal 配置 Canal…

javafx 将项目打包为 Windows 的可执行文件exe

要将 JavaFX 项目打包为 .exe 文件,你可以使用一些工具将你的应用程序封装为 Windows 可执行文件。以下是两种常用的方法: 方法 1:使用 jpackage(适用于 JDK 14 及更高版本) jpackage 是 JDK 内置的工具,…

SQL进阶实战技巧:即时订单比例问题

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 往期精彩 0 需求描述 订单配送中,如果期望配送日期和下单日期相同,称为即时订单,如果期望配送日期和下单日期不同,称为计划订单。 请从配送信息表(delivery_info)中求出每个用户的首单(用户的第一个订单)中即时订单…

Routine Load 导入问题处理指南

Routine Load 导入问题处理指南 在使用 Apache Doris 的 Routine Load 时,你是否曾经被各种奇奇怪怪的问题卡住?今天就来分享一些最常见的 Routine Load 问题,并提供相应的解决方案,让你快速应对,高效解决!…

【面试题】技术场景 6、Java 生产环境 bug 排查

生产环境 bug 排查思路 分析日志:首先通过分析日志查看是否存在错误信息,利用之前讲过的 elk 及查看日志的命令缩小查找错误范围,方便定位问题。远程 debug 适用环境:一般公司正式生产环境不允许远程 debug,多在测试环…

牛客 《反转链表》 链表 题解

前言 太久没有练习C和Java,基本忘完了…还有数据结构也不太熟悉了。借此机会回顾一下相关的知识点,也为之后做准备吧。 题目内容 思路 要求时间复杂度为O(n),那么只能遍历一次。反转的话,只需要将链表箭头指向换个方向就行。遍…

容器技术全面攻略:Docker的硬核玩法

文章背景 想象一下,一个项目终于要上线了,结果因为环境配置不一致,测试服务器一切正常,生产环境却宕机了。这是开发者噩梦的开始,也是Docker救世主角色的登场!Docker的出现颠覆了传统环境配置的方式&#…

RabbitMQ高级篇

目录 确保发送者的可靠 为什么需要确保发送者的可靠性 RabbitMQ 的发送者重连机制配置 springAMQP实现发送者确认 MQ的可靠性 为什么需要实现MQ的可靠性? 数据持久化 Lazy Queue 核心思想 总结RabbitMQ 如何保证消息的可靠性 持久化 Lazy Queue 消息…