• 【初级】linux mv 命令详解及使用方法实战


    mv:移动文件或者将文件改名

    前言:

      mv是move的缩写,顾名思义是移动。它的功能既能移动文件/文件夹,又可以用来改名,经常用来做文件的备份,比如再删除之前,先给文件做备份(保护数据)也是linux常用命令之一。

    名称       

      mv - move (rename) files  移动(重命名)文件

    使用方法

         mv [选项]  原目录  目的目录 

       mv [选项]  原文件  目标文件 

    描述  

       -b :若需覆盖文件,则覆盖前先行备份。 

       -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

       -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

       -u :若目标文件已经存在,且 source 比较新,才会更新(update)

           -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的    情况,此时目标目录在前,源文件在后。

    实战演示:

    使用默认移动命令移动文件

    1 [root@moban /]# touch test.txt                新建一个文件来进行测试
    2 [root@moban /]# mv test.txt /lcp/abc/            mv命令后面直接跟要移动的文件,如果不再本目录则需要加目标文件的路径
    3 [root@moban /]# ll  /lcp/abc/                 使用ll命令查看/lcp/abc/文件夹下包含什么文件(此命令后期讲解)
    4 total 0
    5 -rw-r--r--. 1 root root 0 Jan  8 21:16 test.txt      所看到的test.txt文件就是移动过来的文件
    6 [root@moban /]# ll test.txt                  在使用ll命令查看当前目录是否还存在test.txt文件
    7 ls: cannot access test.txt: No such file or directory   显示不存在这个文件,则代表移动成功。

    使用mv命令修改文件

    1 [root@moban /]# cd /lcp/abc                  打开测试目录,此处可以忽略,如果新手思维能力强,可以直接使用
                                       mv /原文件目录/原文件名称 /目标文件路径/目标文件名称
                                       如:mv /lcp/abc/test.txt /lcp/abc/test.abc
    2 [root@moban abc]# ll                      查看一下当前文件的名字 3 total 0 4 -rw-r--r--. 1 root root 0 Jan 8 21:16 test.txt       是test.txt 5 [root@moban abc]# mv test.txt test.abc            使用mv命令改名, mv 后面跟原文件名 跟目标文件名 6 [root@moban abc]# ll 7 total 0 8 -rw-r--r--. 1 root root 0 Jan 8 21:16 test.abc      修改后的结果

    使用mv命令移动文件

      说明:

      将1.txt 移动到根目录下的123文件夹中

     1 [root@moban ~]# touch 1.txt                          新建一个测试文件1.txt
    2 [root@moban ~]# ll                               查看当前文件 3 total 40 4 -rw-r--r--. 1 root root 0 Feb 8 10:02 1.txt 5 -rw-------. 1 root root 1088 Jan 4 14:45 anaconda-ks.cfg 6 -rw-r--r--. 1 root root 23040 Jan 4 14:45 install.log 7 -rw-r--r--. 1 root root 6240 Jan 4 14:44 install.log.syslog 8 [root@moban ~]# mkdir /123                          在根目录下新建一个123的文件夹 9 [root@moban ~]# mv 1.txt /123/                       使用mv 命令 跟需要移动的文件然后跟 需要移动到的目录 10 [root@moban ~]# cd /123/                    11 [root@moban 123]# ll                             打开这个目录查看一下是否移动成功
    12 total 0 13 -rw-r--r--. 1 root root 0 Feb 8 10:02 1.txt

    使用mv命令移动多个文件

      说明:

      将文件 1 2 3 4 文件移动到 /test文件夹中

     1 [root@moban ~]# ll                            查看一下当前的文件1、2、3、4文件
     2 total 40
     3 -rw-r--r--. 1 root root     0 Feb  8 10:43 1
     4 -rw-r--r--. 1 root root     0 Feb  8 10:43 2
     5 -rw-r--r--. 1 root root     0 Feb  8 10:43 3
     6 -rw-r--r--. 1 root root     0 Feb  8 10:43 4
     7 -rw-------. 1 root root  1088 Jan  4 14:45 anaconda-ks.cfg
     8 -rw-r--r--. 1 root root 23040 Jan  4 14:45 install.log
     9 -rw-r--r--. 1 root root  6240 Jan  4 14:44 install.log.syslog
    10 [root@moban ~]# mv 1 2 3 4 /tmp/test                  使用mv,后面跟文件名用空格隔开,在跟路径名称
    11 [root@moban ~]# cd /tmp/test/       12 [root@moban test]# ll                            打开查看一下 13 total 0 14 -rw-r--r--. 1 root root 0 Feb 8 10:43 1 15 -rw-r--r--. 1 root root 0 Feb 8 10:43 2 16 -rw-r--r--. 1 root root 0 Feb 8 10:43 3 17 -rw-r--r--. 1 root root 0 Feb 8 10:43 4

    使用mv命令移动目录

      说明:

      使用mv移动目录文件目录及目录名直接跟目标目录即可。

       将data1移动到data2中
    1 [root@moban test]# mv data1 data2             首先data1与data2都是文件夹、将data1移动到data2中
    2 [root@moban test]# ll
    3 total 4
    4 drwxr-xr-x. 3 root root 4096 Feb  8 10:58 data2
    5 [root@moban test]# cd data2/                打开data2中查看是否存在data1?
    6 [root@moban data2]# ll
    7 total 4
    8 drwxr-xr-x. 2 root root 4096 Feb  8 10:57 data1

    文件被覆盖前做简单备份

      说明:

      加-b参数进行简单备份

     1 [root@moban data1]# ll
     2 total 0
     3 -rw-r--r--. 1 root root 0 Feb  8 11:15 1.txt
     4 -rw-r--r--. 1 root root 0 Feb  8 11:15 2.txt
     5 [root@moban data1]# mv 1.txt -b 2.txt 
     6 mv: overwrite `2.txt'? y
     7 [root@moban data1]# ll
     8 total 0
     9 -rw-r--r--. 1 root root 0 Feb  8 11:15 2.txt
    10 -rw-r--r--. 1 root root 0 Feb  8 11:15 2.txt~

    说明:

    -b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。

    --backup该选项指定如果目标文件存在时的动作,共有四种备份策略:

    1.CONTROL=none或off : 不备份。

    2.CONTROL=numbered或t:数字编号的备份

    3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1...n:

    执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。

    4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

  • 相关阅读:
    ld: library not found for
    Could not load NIB in bundle: 'NSBundle.....
    ld: warning: directory not found for option ''
    UIRefreshControl 问题
    iOS Xcode6 新建OC Category文件
    Java 求字符串中出现频率最高字符
    Eclipse "Adb failed to restart !"
    基础练习 报时助手
    基础练习 2n皇后问题
    基础练习 Huffuman树
  • 原文地址:https://www.cnblogs.com/Vanos-lcp/p/5115050.html
Copyright © 2020-2023  润新知