mv 命令实战演习

mv 是 Linux/Unix 系统中用于 移动或重命名文件/目录 的命令。它的基本功能是将文件从一个位置移动到另一个位置,或直接修改文件/目录的名称。


Deepseek 回答:

基本语法

mv [选项] 源文件 目标文件
mv [选项] 源文件1 源文件2 ... 目标目录

常见用途

  1. 重命名文件/目录
    如果目标路径与原路径在同一个目录下,且文件名不同,则视为重命名。

    mv old_file.txt new_file.txt  # 将文件 old_file.txt 重命名为 new_file.txt
    mv old_dir new_dir            # 将目录 old_dir 重命名为 new_dir
    
  2. 移动文件/目录到指定路径
    如果目标路径是另一个目录,文件会被移动到该目录下,保留原名。

    mv file.txt /path/to/destination/  # 将文件移动到目标目录
    mv dir1 /path/to/destination/       # 将目录移动到目标目录
    
  3. 移动多个文件到目录
    可以同时移动多个文件到目标目录。

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

常用选项

选项说明
-i交互模式:覆盖前询问用户确认。
-n不覆盖:如果目标文件已存在,则跳过。
-v显示详细信息:输出移动/重命名的过程。
-f强制操作:直接覆盖目标文件,不提示。
-u更新:仅在源文件比目标文件新时移动。

示例场景

  1. 重命名文件

    mv report.doc report_final.doc
    
  2. 移动文件到目录

    mv image.jpg ~/Pictures/  # 将 image.jpg 移动到用户图片目录
    
  3. 移动多个文件并显示详情

    mv -v *.txt documents/    # 移动所有 .txt 文件到 documents 目录,并显示过程
    
  4. 避免覆盖已有文件

    mv -i important.txt backup/  # 如果 backup/important.txt 存在,询问是否覆盖
    
  5. 强制覆盖(慎用)

    mv -f data.log /var/log/  # 强制覆盖目标文件(无提示)
    

注意事项

  1. 覆盖风险
    mv 默认会直接覆盖目标路径的同名文件,且不会提示。重要文件操作前建议备份,或使用 -i 选项交互确认。

  2. 跨文件系统移动
    如果源文件和目标目录位于不同文件系统(如从硬盘移动到U盘),mv 实际上会先复制文件再删除原文件,相当于 cp + rm

  3. 目录移动规则

    • 如果目标目录不存在,mv 会将源目录重命名为目标名称。
    • 如果目标目录已存在,mv 会将源目录移动到目标目录内。

cp 命令的区别

  • mv:移动文件(原位置文件消失)。
  • cp:复制文件(原位置文件保留)。

个人实战演习:

案例1:同一目录下,改名字

  1. 创建文档:vim deepMv
  2. 查看文档:ls。显示为 deepMv
  3. 修改文档名称:mv deepMv newDeepMv
  4. 查看修改后文档: ls。已显示为 newDeepMv

在这里插入图片描述

案例2:不同目录,移动文件

  1. 查看当前目录下以mv开头的文件: ls | grep mv 。包括mv-target和mv-test
  2. 移动文件newDeepMv 从mv-test 到 mv-target : mv mv-test/newDeepMv mv-target

在这里插入图片描述

案例3:将多个文件移动到指定目录

  1. 在mv-target文件中有两个文件: m1 newDeepMv
  2. 移动这两个文件从 mv-target 到 mv-test: mv m1 newDeepMv …/mv-test
    1. 因为 mv-target 和 /mv-test 是在同一个文件夹中。是同级
    2. 我们此时是在mv-target 中。所以是…/mv-test。

在这里插入图片描述

案例4:子目录里的文件移动到另一个子目录里

  1. 因为 mv-target 和 /mv-test 是在同一个文件夹中。是同级
  2. 移动: mv mv-test/* mv-target
  3. 查看移动结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值