• linux常用命令(6):mv命令(移动文件/目录)


    一、命令简介

    mv (move) 用来移动或改名文件和目录。

    移动文件时如果目标文件已经存,则目标文件的内容将被覆盖。

    mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

    (1)如果目标文件是目录,原文件会被移到此目录下,且文件名不变。当目标文件是目录时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标目录中。所有移到该目录下的文件都将保留以前的文件名。

    (2) 如果目标文件不是目录,则原文件名(只能有一个)会变更为目标文件名,并覆盖己存在的同名文件。如果原文件和目标文件在同一个目录下,mv 的作用就是修改文件名。

    注意:

    (1) mv 与 cp 的结果不同,mv 像是文件“搬家”,文件个数并未增加。而 cp 对文件进行复制,文件个数增加了。

    (2) 尽管其手册没有说明,使用 mv 移动目录时如果目标目录非空将失败。确定安全的情况下,可以改用 cp 命令。

    cp -rf yourdir dstdir && rm -r yourdir
    
    • 1

    二、命令格式

    mv [options] source dest
    mv [options] source... directory
    
    • 1
    • 2

    选项说明

    --backup=[=CONTROL]
    	若需覆盖文件,则覆盖前先行备份
    -b
    	当文件存在时,覆盖前,为其创建一个备份。功能类似于--backup,但是不需要接收参数
    -f, --force
    	若目标文件或目录已存在,则直接覆盖不进行提示。为缺省行为。
    -i, --interactive
    	交互式操作,若目标文件或目录已存在,则询问用户是否覆盖。输入y表示同意;输入n表示不同意
    -n, --no-clobber
    	不覆盖现有的同名文件或目录;如果同时指定多个以下选项,-i, -f, -n,则只有最后一个生效
    --strip-trailing-slashes
    	删除参数 SOURCE 中所有目录末端的斜杠
    -S, --suffix=SUFFIX
    	为备份文件指定后缀,而不使用默认的后缀
    -t, --target-directory=DIRECTORY
    	指定源文件要移动到的目标目录
    -T, --no-target-directory
    	将 DEST 视为普通文件
    -u, --update
    	当源文件比目标文件新或者目标文件不存在时,才执行移动操作
    -v, --verbose
    	冗余模式执行 mv,解释 mv 命令的执行过程
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    常用参数:

    • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
    • -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;

    mv参数设置与运行结果

    命令格式运行结果
    mv 文件名 文件名将源文件名改为目标文件名
    mv 文件名 目录名将文件移动到目标目录
    mv 目录名 目录名目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
    mv 目录名 文件名出错

    三、常用示例

    (1)将文件 aaa改名为 bbb。

    mv aaa bbb
    
    • 1

    (2)移动+重命名

    mv  /home/test/a.txt   /home/demo/c.txt
    
    • 1

    (3)将目录 /home/test 中的所有文件移到当前目录(用.表示)中。

    mv /home/test/*  .
    
    • 1

    (4)将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

    mv info/ logs 
    
    • 1

    (5)交互式操作,若目标文件或目录已存在,则询问用户是否覆盖。

    mv -i test1 test2
    
    • 1
  • 相关阅读:
    【性能优化】(域名发散)为什么主页面和静态资源要置于不同的域名下?
    通过Power Platform自定义D365 CE 业务需求 - 8. 使用PowerApps配置
    Go 锁演进
    【freeRTOS】操作系统之一-任务调度
    从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离
    百度智能云千帆Appbuilder全面升级!可玩性更强!速来体验!
    Simulink 自动代码生成电机控制:非线性磁链观测器
    力扣刷题day39|70. 爬楼梯(进阶版)、322零钱兑换、279完全平方数
    PostGIS数据测试-一百万点要素
    大数据技术基础实验十:Hive实验——新建Hive表
  • 原文地址:https://blog.csdn.net/weixin_49114503/article/details/132993612