linux常用命令学习(七) -- mv

今天来学习的是 linux中常用命令之一的– mv。mv命令是move的缩写,用于移动文件或者文件重命名。这里先提前说一下与 cp 命令不同,mv 命令是完全将源文件移动到指定目录, cp 命令只是复制文件内容从一个目录到另一个目录。

命令格式

mv [选项] 源文件或目录 目标文件或目录

常用命令参数

参数功能
-b覆盖前做备份
-f强制,如果目标文件已存在, 不询问强制覆盖。
-i若目标文件已存在时,询问是否覆盖
-u如果目标文件已存在,且source比较新时,才会覆盖。
-t将多个源文件移动到统一目录下,目录参数在前,文件参数在后。

示例

  • mv demo1 demo2
    将目录demo1移动到demo2
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [root@kvm45072 linux]# ll
    total 8
    drwxr-xr-x. 3 root root 4096 Apr 29 16:03 demo1
    drwxr-xr-x. 2 root root 4096 Apr 29 16:09 demo2
    [root@kvm45072 linux]# mv demo1 demo2
    [root@kvm45072 linux]# ll
    total 4
    drwxr-xr-x. 3 root root 4096 Apr 29 16:12 demo2
    [root@kvm45072 linux]# cd demo2
    [root@kvm45072 demo2]# ll
    total 4
    drwxr-xr-x. 3 root root 4096 Apr 29 16:03 demo1
    [root@kvm45072 demo2]#
  • mv test.txt test.log
    将文件test.txt更改为test.log
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@kvm45072 demo1]# ll
    total 8
    drwxr-xr-x. 2 root root 4096 Apr 29 16:03 demo-1
    -rw-r--r--. 1 root root 6 Apr 29 16:14 test.txt
    [root@kvm45072 demo1]# mv test.txt test.log
    [root@kvm45072 demo1]# ll
    total 8
    drwxr-xr-x. 2 root root 4096 Apr 29 16:03 demo-1
    -rw-r--r--. 1 root root 6 Apr 29 16:14 test.log
    [root@kvm45072 demo1]#
  • mv -i demo1/test.log demo2
    demo2文件夹下有文件test.log,移动时询问是否覆盖
    1
    2
    3
    4
    5
    6
    [root@kvm45072 demo2]# ll
    total 4
    -rw-r--r--. 1 root root 5 Apr 29 16:16 test.log
    [root@kvm45072 demo2]# cd ..
    [root@kvm45072 linux]# mv -i demo1/test.log demo2
    mv: overwrite `demo2/test.log'?
  • mv -f demo1/test.log demo2
    即使存在同名文件,强制覆盖
    1
    2
    [root@kvm45072 linux]# mv -f demo1/test.log demo2
    [root@kvm45072 linux]#