mv命令
mv命令
mv=move 语法:mv [ 选项 ] [源文件] [目标文件]
mv命令会出现以下几种情况:
- 目标文件是目录,而且目标文件存在,则会把源文件移动到目标文件目录中:
[root@xxlinux-02 ~]# tree /tmp/xxlinux/
/tmp/xxlinux/
├── 01
│ ├── 1.txt
│ ├── passwd
│ └── passwd01
├── 02
│ ├── 01
│ │ ├── 1.txt
│ │ ├── passwd
│ │ └── passwd01
│ ├── 1.txt
│ ├── passwd
│ └── passwd01
└── 1.txt
3 directories, 10 files
[root@xxlinux-02 ~]# mv /tmp/xxlinux/1.txt /tmp/xxlinux/01/
mv:是否覆盖"/tmp/xxlinux/01/1.txt"? y
[root@xxlinux-02 ~]# tree /tmp/xxlinux/
/tmp/xxlinux/
├── 01
│ ├── 1.txt
│ ├── passwd
│ └── passwd01
└── 02
├── 01
│ ├── 1.txt
│ ├── passwd
│ └── passwd01
├── 1.txt
├── passwd
└── passwd01
3 directories, 9 files
- 目标文件是目录,且目标目录不存在,相当于重命名
[root@xxlinux-02 xxlinux]# ls
01 02
[root@xxlinux-02 xxlinux]# mv 01 03
[root@xxlinux-02 xxlinux]# ls
02 03
- 目标文件不是目录,而且目标文件不存在,相当于把 ‘1.txt’ 重命名为 ‘2.txt’.
[root@xxlinux-02 ~]# cd /tmp/xxlinux/01
[root@xxlinux-02 01]# ls
1.txt passwd passwd01
[root@xxlinux-02 01]# mv 1.txt 2.txt
[root@xxlinux-02 01]# ls
2.txt passwd passwd01
- 目标文件不是目录,而且目标文件存在,会提示是否覆盖
[root@xxlinux-02 02]# tree /tmp/xxlinux/
/tmp/xxlinux/
├── 02
│ ├── 3.txt
│ ├── passwd
│ └── passwd01
└── 03
├── 2.txt
├── passwd
└── passwd01
2 directories, 6 files
[root@xxlinux-02 02]# cd ..
[root@xxlinux-02 xxlinux]# mv 03/2.txt 02/3.txt
mv:是否覆盖"02/3.txt"?