• linux一步一脚印---mv命令


    1 命令功能(简要说明):

        命令可以用来移动文件或者更改文件名字,经常用来备份文件或者目录,mv --> move

    2 命令语法:

        mv【选项】 【源文件或目录名】 【目标文件或目录名】    #注:【】中的内容为非必选项

    3 命令选项(只做常用命令参数讲述):

      使用帮助命令:man mkdir 或 mkdir -help

     --backup[=CONTROL] 为每个已存在的目标文件创建备份
    -b 类似--backup 但不接受参数
    -f, --force 覆盖前不询问,如果目标文件已经存在,不会询问而直接覆盖。
    -i, --interactive 当目标文件已经存在当前目录,覆盖前会进行询问。
    -n, --no-clobber 不覆盖已存在文件   如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
    --strip-trailing-slashes 去掉每个源文件参数尾部的斜线
    -S, --suffix=SUFFIX 替换常用的备份文件后缀
    -t, --target-directory=DIRECTORY 将所有参数指定的源文件或目录移动至指定目录,既该功能适用于移动多个源文件到一个目录的情况,注意此时目标目录在前,各个源文件在后
    -T, --no-target-directory 将目标文件视作普通文件处理
    -u, --update 只在源文件文件比目标文件新,或目标文件不存在时才进行移动

    4 使用范例:

      (1)mv 文件改名

    [root@localhost command_test]# ls
    av.log
    [root@localhost command_test]# mv av.log av.mp4
    [root@localhost command_test]# ls
    av.mp4
    [root@localhost command_test]# 

      (2)mv 【文件名或目录】 【文件名或目录】 ------移动文件

    #首先创建目录dir1
    [root@localhost command_test]# mkdir dir
    [root@localhost command_test]# ll
    总用量 4
    -rw-r--r--. 1 root root    0 7月  26 23:27 av.mp4
    drwxr-xr-x. 2 root root 4096 7月  26 23:35 dir1
    [root@localhost command_test]# 
    
    #创建测试文件canglaoshi.txt,并移动文件到dir1目录下
    [root@localhost command_test]# touch canglaoshi.txt
    [root@localhost command_test]# ls
    av.mp4  canglaoshi.txt  dir1
    [root@localhost command_test]# mv canglaoshi.txt  dir1
    [root@localhost command_test]# ls
    av.mp4  dir1
    [root@localhost command_test]# 
    
    #创建canglaoshi.txt,因为canglaoshi.txt文件在上一步骤已经存在dir1目录下,继续将文件移动到dir1时相当于覆盖操作,覆盖前会进行询问
    [root@localhost command_test]# touch canglaoshi.txt
    [root@localhost command_test]# ls
    av.mp4  canglaoshi.txt  dir1
    [root@localhost command_test]# mv canglaoshi.txt  dir1
    mv:是否覆盖"dir1/canglaoshi.txt"? y
    [root@localhost command_test]# ls
    av.mp4  dir1
    [root@localhost command_test]# 
    
    #再次创建canglaoshi.txt,这次试用-f 参数强制移动文件,无视目标目录是否已经存在目录,覆盖不会询问
    [root@localhost command_test]# touch canglaoshi.txt
    [root@localhost command_test]# ls
    av.mp4  canglaoshi.txt  dir1
    [root@localhost command_test]# mv -f canglaoshi.txt  dir1
    [root@localhost command_test]# ls
    av.mp4  dir1
    [root@localhost command_test]#

     

      (3)mv 【文件1】 【文件2】 【文件3】 【目标目录】  ------- 多个文件移动到同一目录,注意-t参数的区别影响

    #首先我们先创建文件和目录dir1
    [root@localhost command_test]# touche canglaoshi.txt xioacang.txt boduo.txt
    -bash: touche: command not found
    [root@localhost command_test]# touch canglaoshi.txt xioacang.txt boduo.txt 
    [root@localhost command_test]# ls
    boduo.txt  canglaoshi.txt  xioacang.txt
    [root@localhost command_test]# mkdir dir1
    [root@localhost command_test]# ls
    boduo.txt  canglaoshi.txt  dir1  xioacang.txt
    #注意mv命令在移动多个文件时,最后一个参数为已存在的目标目录,否则则会出错
    [root@localhost command_test]# mv boduo.txt canglaoshi.txt xioacang.txt dir1
    [root@localhost command_test]# ls
    dir1
    [root@localhost command_test]# cd dir1
    [root@localhost dir1]# ls
    boduo.txt  canglaoshi.txt  xioacang.txt
    [root@localhost dir1]# 
    
    
    #下列示例展示同为多个文件移动,但有一点不用的是,mv命令使用-t 参数,则需把目标目录放在第一为,后接需要移动的多个文件
    [root@localhost command_test]# pwd
    /home/command_test
    [root@localhost command_test]# ls
    dir1
    [root@localhost command_test]# cd dir1
    [root@localhost dir1]# ls
    boduo.txt  canglaoshi.txt  xioacang.txt
    [root@localhost dir1]# mv -t /home/command_test boduo.txt canglaoshi.txt xioacang.txt 
    [root@localhost dir1]# ls
    [root@localhost dir1]# 
    [root@localhost dir1]# cd ..
    [root@localhost command_test]# ls
    boduo.txt  canglaoshi.txt  dir1  xioacang.txt
    [root@localhost command_test]# 

      (4)mv  目录的移动

    #创建两个二级目录,并把目录dir1以及其子目录移动到dir3,整个目录移动很方便
    [root@localhost command_test]# mkdir -p dir1/dir2
    [root@localhost command_test]# mkdir -p dir3/dir4  
    [root@localhost command_test]# ls
    dir1  dir3
    [root@localhost command_test]# mv dir1 dir3
    [root@localhost command_test]# ls
    dir3
    [root@localhost command_test]# cd dir3
    [root@localhost dir3]# ls
    dir1  dir4
    [root@localhost dir3]# cd dir1
    [root@localhost dir1]# ls
    dir2
    [root@localhost dir1]# 

      (5)mv 使用相对路径移动目录到上一级目录

    #使用相对路径移动当前目录下所有东西到上一级目录
    [root@localhost command_test]# mkdir dir1
    [root@localhost command_test]# ls
    dir1
    [root@localhost command_test]# cd dir1
    [root@localhost dir1]# touch canglaoshi.txt xiaocang.txt
    [root@localhost dir1]# ls
    canglaoshi.txt  xiaocang.txt
    [root@localhost dir1]# mv * ../
    [root@localhost dir1]# ls
    [root@localhost dir1]# cd ..
    [root@localhost command_test]# ls
    canglaoshi.txt  dir1  xiaocang.txt
    [root@localhost command_test]# 

     

      

  • 相关阅读:
    window.location.href的用法
    echarts折线图阴影设置
    SVN使用教程图文教程
    jksj算法训练营-第二课02 时间复杂度和空间复杂度分析
    jkjj算法训练营笔记-第二课01 训练环境配置、编码技巧和code style
    MySQL 基础模块的面试题总结
    MySQL 事务的面试题总结
    MySQL 中锁的面试题总结
    MySQL 命令和内置函数
    MySQL 性能优化 & 分布式
  • 原文地址:https://www.cnblogs.com/king-of-purple/p/9371481.html
Copyright © 2020-2023  润新知