每天一命令(7)mv(move (rename) files)

时间:2022-11-12 10:38:27

mv - move (rename) files

man mv 查看文档

常用命令

mv -ifu 源文件/源码目录  目标文件/目标目录

    -i 如果文件存在,提示是否覆盖     -f 强制覆盖     -u 如果目标文件存在,源文件是最新的,才移动

栗子 : f1 、f2, 代表文件 d1、d2 代表目录

mv f1 f2 当f2不存在的时候,f1 重命名为f2,如果存在f1重名f2 并且覆盖f2
mv f1 d1 当d1不存在,f1重命名为d1 ,如果存在则移动到d1目录中
mv d1 d2 当d2不存在,d1重命名为d2,如果存在则移动到d2目录
mv d1 f1 当f1不存在,d1重命名为f1,如果存在这报错cannot overwrite non-directory install.log' with directoryjava’

root@guofeng  ~
# ll
total 432
-rw-------. 1 root root 1073 May 26 22:40 anaconda-ks.cfg -rw-r--r--. 1 root root 0 Jun 1 09:05 f1.txt -rw-r--r--. 1 root root 22179 May 26 22:40 install.log -rw-r--r--. 1 root root 5890 May 26 22:38 install.log.syslog -rw-r--r--. 1 root root 400753 May 31 09:38 wget-log 
root@guofeng  ~
# mv f1.txt f2.txt

root@guofeng  ~
# ll
total 432
-rw-------. 1 root root 1073 May 26 22:40 anaconda-ks.cfg -rw-r--r--. 1 root root 0 Jun 1 09:05 f2.txt -rw-r--r--. 1 root root 22179 May 26 22:40 install.log -rw-r--r--. 1 root root 5890 May 26 22:38 install.log.syslog -rw-r--r--. 1 root root 400753 May 31 09:38 wget-log

mv f1 f2 如果f2 存在会提示是否覆盖 mv -f 强制不会提示

root@guofeng  ~
# mv f1.txt f2.txt 
mv: overwrite `f2.txt'? y

root@guofeng  ~
# mv -f f1.txt f2.txt 
mv: cannot stat `f1.txt': No such file or directory

root@guofeng  ~
# ll
total 432
-rw-------. 1 root root 1073 May 26 22:40 anaconda-ks.cfg -rw-r--r--. 1 root root 0 Jun 1 09:09 f1.txt -rw-r--r--. 1 root root 0 Jun 1 09:08 f2.txt -rw-r--r--. 1 root root 22179 May 26 22:40 install.log -rw-r--r--. 1 root root 5890 May 26 22:38 install.log.syslog -rw-r--r--. 1 root root 400753 May 31 09:38 wget-log 

root@guofeng  ~
# mv -f f1.txt f2.txt 

root@guofeng  ~
# ll
total 432
-rw-------. 1 root root 1073 May 26 22:40 anaconda-ks.cfg -rw-r--r--. 1 root root 0 Jun 1 09:09 f2.txt -rw-r--r--. 1 root root 22179 May 26 22:40 install.log -rw-r--r--. 1 root root 5890 May 26 22:38 install.log.syslog -rw-r--r--. 1 root root 400753 May 31 09:38 wget-log