一个简单的linux命令 mv
mv命令是用于移动文件或者将文件改名
一.命令格式:
mv[选项]源文件或目录目标文件或目录
二.命令参数:
-b:若需覆盖文件,则覆盖前先行备份。
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i:若目标文件(destination)已经存在时,就会询问是否覆盖!
-u:若目标文件已经存在,且source比较新,才会更新(update)
-t :--target-directory=DIRECTORYmoveallSOURCEargumentsintoDIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
三.命令实例
实例一:文件改名
命令:
mvtest.logtest1.txt
输出:
[root@localhosttest]#ll 总计20drwxr-xr-x6rootroot409610-2701:58scf drwxrwxrwx2rootroot409610-2517:46test3 drwxr-xr-x2rootroot409610-2517:56test4 drwxr-xr-x3rootroot409610-2517:56test5 -rw-r--r--1rootroot1610-2806:04test.log [root@localhosttest]#mvtest.logtest1.txt [root@localhosttest]#ll 总计20drwxr-xr-x6rootroot409610-2701:58scf -rw-r--r--1rootroot1610-2806:04test1.txt drwxrwxrwx2rootroot409610-2517:46test3 drwxr-xr-x2rootroot409610-2517:56test4 drwxr-xr-x3rootroot409610-2517:56test5
说明:
将文件test.log重命名为test1.txt
实例二:移动文件
命令:
mvtest1.txttest3
输出:
[root@localhosttest]#ll 总计20drwxr-xr-x6rootroot409610-2701:58scf -rw-r--r--1rootroot2910-2806:05test1.txt drwxrwxrwx2rootroot409610-2517:46test3 drwxr-xr-x2rootroot409610-2517:56test4 drwxr-xr-x3rootroot409610-2517:56test5 [root@localhosttest]#mvtest1.txttest3 [root@localhosttest]#ll 总计16drwxr-xr-x6rootroot409610-2701:58scf drwxrwxrwx2rootroot409610-2806:09test3 drwxr-xr-x2rootroot409610-2517:56test4 drwxr-xr-x3rootroot409610-2517:56test5 [root@localhosttest]#cdtest3 [root@localhosttest3]#ll 总计4 -rw-r--r--1rootroot2910-2806:05test1.txt [root@localhosttest3]#
说明:
将test1.txt文件移到目录test3中
实例三:将文件log1.txt,log2.txt,log3.txt移动到目录test3中。
命令:
mvlog1.txtlog2.txtlog3.txttest3
mv-t/opt/soft/test/test4/log1.txtlog2.txt log3.txt
输出:
[root@localhosttest]#ll 总计28 -rw-r--r--1rootroot810-2806:15log1.txt -rw-r--r--1rootroot1210-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt drwxrwxrwx2rootroot409610-2806:09test3 [root@localhosttest]#mvlog1.txtlog2.txtlog3.txttest3 [root@localhosttest]#ll 总计16drwxrwxrwx2rootroot409610-2806:18test3 [root@localhosttest]#cdtest3/ [root@localhosttest3]#ll 总计16 -rw-r--r--1rootroot810-2806:15log1.txt -rw-r--r--1rootroot1210-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt -rw-r--r--1rootroot2910-2806:05test1.txt [root@localhosttest3]# [root@localhosttest3]#ll 总计20 -rw-r--r--1rootroot810-2806:15log1.txt -rw-r--r--1rootroot1210-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt drwxr-xr-x2rootroot409610-2806:21logs -rw-r--r--1rootroot2910-2806:05test1.txt [root@localhosttest3]#mv-t/opt/soft/test/test4/log1.txtlog2.txtlog3.txt [root@localhosttest3]#cd.. [root@localhosttest]#cdtest4/ [root@localhosttest4]#ll 总计12 -rw-r--r--1rootroot810-2806:15log1.txt -rw-r--r--1rootroot1210-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt [root@localhosttest4]#
说明:
mvlog1.txtlog2.txtlog3.txttest3命令将log1.txt,log2.txt,log3.txt三个文件移到test3目录中去,mv-t/opt/soft/test/test4/log1.txtlog2.txtlog3.txt命令又将三个文件移动到test4目录中去
实例四:将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
命令:
mv-ilog1.txtlog2.txt
输出:
[root@localhosttest4]#ll 总计12 -rw-r--r--1rootroot810-2806:15log1.txt -rw-r--r--1rootroot1210-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt [root@localhosttest4]#catlog1.txt odfdfs [root@localhosttest4]#catlog2.txt ererwerwer [root@localhosttest4]#mv-ilog1.txtlog2.txt mv:是否覆盖“log2.txt”?y [root@localhosttest4]#catlog2.txt odfdfs [root@localhosttest4]#
实例五:将文件file1改名为file2,即使file2存在,也是直接覆盖掉。
命令:
mv-flog3.txtlog2.txt
输出:
[root@localhosttest4]#ll 总计8 -rw-r--r--1rootroot810-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt [root@localhosttest4]#catlog2.txt odfdfs [root@localhosttest4]#catlog3 cat:log3:没有那个文件或目录 [root@localhosttest4]#ll 总计8 -rw-r--r--1rootroot810-2806:15log2.txt -rw-r--r--1rootroot1310-2806:16log3.txt [root@localhosttest4]#catlog2.txt odfdfs [root@localhosttest4]#catlog3.txt dfosdfsdfdss [root@localhosttest4]#mv-flog3.txtlog2.txt [root@localhosttest4]#catlog2.txt dfosdfsdfdss [root@localhosttest4]#ll 总计4 -rw-r--r--1rootroot1310-2806:16log2.txt [root@localhosttest4]#
说明:
log3.txt的内容直接覆盖了log2.txt内容,-f这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它。
实例六:目录的移动
命令:
mvdir1dir2
输出:
[root@localhosttest4]#ll -rw-r--r--1rootroot1310-2806:16log2.txt [root@localhosttest4]#ll -rw-r--r--1rootroot1310-2806:16log2.txt [root@localhosttest4]#cd.. [root@localhosttest]#ll drwxr-xr-x6rootroot409610-2701:58scf drwxrwxrwx3rootroot409610-2806:24test3 drwxr-xr-x2rootroot409610-2806:48test4 drwxr-xr-x3rootroot409610-2517:56test5 [root@localhosttest]#cdtest3 [root@localhosttest3]#ll drwxr-xr-x2rootroot409610-2806:21logs -rw-r--r--1rootroot2910-2806:05test1.txt [root@localhosttest3]#cd.. [root@localhosttest]#mvtest4test3 [root@localhosttest]#ll drwxr-xr-x6rootroot409610-2701:58scf drwxrwxrwx4rootroot409610-2806:54test3 drwxr-xr-x3rootroot409610-2517:56test5 [root@localhosttest]#cdtest3/ [root@localhosttest3]#ll drwxr-xr-x2rootroot409610-2806:21logs -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2806:48test4 [root@localhosttest3]#
说明:
如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。
实例7:移动当前文件夹下的所有文件到上一级目录
命令:
mv*../
输出:
[root@localhosttest4]#ll -rw-r--r--1rootroot2510-2807:02log1.txt -rw-r--r--1rootroot1310-2806:16log2.txt [root@localhosttest4]#mv*../ [root@localhosttest4]#ll [root@localhosttest4]#cd.. [root@localhosttest3]#ll -rw-r--r--1rootroot2510-2807:02log1.txt -rw-r--r--1rootroot1310-2806:16log2.txt drwxr-xr-x2rootroot409610-2806:21logs -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2807:02test4
实例八:把当前目录的一个子目录里的文件移动到另一个子目录里
命令:
mvtest3/*.txttest5
输出:
[root@localhosttest]#ll drwxr-xr-x6rootroot409610-2701:58scf drwxrwxrwx4rootroot409610-2807:02test3 drwxr-xr-x3rootroot409610-2517:56test5 [root@localhosttest]#cdtest3 [root@localhosttest3]#ll -rw-r--r--1rootroot2510-2807:02log1.txt -rw-r--r--1rootroot1310-2806:16log2.txt drwxr-xr-x2rootroot409610-2806:21logs -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2807:02test4 [root@localhosttest3]#cd.. [root@localhosttest]#mvtest3/*.txttest5 [root@localhosttest]#cdtest5 [root@localhosttest5]#ll -rw-r--r--1rootroot2510-2807:02log1.txt -rw-r--r--1rootroot1310-2806:16log2.txt -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2517:56test5-1 [root@localhosttest5]#cd.. [root@localhosttest]#cdtest3/ [root@localhosttest3]#ll drwxr-xr-x2rootroot409610-2806:21logs drwxr-xr-x2rootroot409610-2807:02test4 [root@localhosttest3]#
实例九:文件被覆盖前做简单备份,前面加参数-b
命令:
mvlog1.txt-blog2.txt
输出:
[root@localhosttest5]#ll -rw-r--r--1rootroot2510-2807:02log1.txt -rw-r--r--1rootroot1310-2806:16log2.txt -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2517:56test5-1 [root@localhosttest5]#mvlog1.txt-blog2.txt mv:是否覆盖“log2.txt”?y [root@localhosttest5]#ll -rw-r--r--1rootroot2510-2807:02log2.txt -rw-r--r--1rootroot1310-2806:16log2.txt~ -rw-r--r--1rootroot2910-2806:05test1.txt drwxr-xr-x2rootroot409610-2517:56test5-1 [root@localhosttest5]#
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。