mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

1.命令格式:

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

2.命令功能:

  视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数:

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

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

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

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

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

4.命令实例:

实例一:文件改名

命令:

mv test.log test1.txt

输出:

 [root@localhost test]# ll
总计 20drwxr-xr-x root root - : scf
drwxrwxrwx root root - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5
-rw-r--r-- root root - : test.log
[root@localhost test]# mv test.log test1.txt
[root@localhost test]# ll
总计 20drwxr-xr-x root root - : scf
-rw-r--r-- root root - : test1.txt
drwxrwxrwx root root - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5

说明:

将文件test.log重命名为test1.txt

实例二:移动文件

命令:

mv test1.txt test3

输出:

 [root@localhost test]# ll
总计 20drwxr-xr-x root root - : scf
-rw-r--r-- root root - : test1.txt
drwxrwxrwx root root - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5
[root@localhost test]# mv test1.txt test3
[root@localhost test]# ll
总计 16drwxr-xr-x root root - : scf
drwxrwxrwx root root - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5
[root@localhost test]# cd test3
[root@localhost test3]# ll
总计
-rw-r--r-- root root - : test1.txt
[root@localhost test3]#

说明:

将test1.txt文件移到目录test3中

实例三:将文件log1.txt,log2.txt,log3.txt移动到目录test3中。 

命令:

mv log1.txt log2.txt log3.txt test3

mv -t /opt/soft/test/test4/ log1.txt log2.txt  log3.txt

输出:

 [root@localhost test]# ll

 总计 

 -rw-r--r--  root root     - : log1.txt

 -rw-r--r--  root root    - : log2.txt

 -rw-r--r--  root root    - : log3.txt

 drwxrwxrwx  root root  - : test3

 [root@localhost test]# mv log1.txt log2.txt log3.txt test3

 [root@localhost test]# ll

 总计 16drwxrwxrwx  root root  - : test3

 [root@localhost test]# cd test3/

 [root@localhost test3]# ll

 总计 

 -rw-r--r--  root root   - : log1.txt

 -rw-r--r--  root root  - : log2.txt

 -rw-r--r--  root root  - : log3.txt

 -rw-r--r--  root root  - : test1.txt

 [root@localhost test3]#

 [root@localhost test3]# ll

 总计 

 -rw-r--r--  root root     - : log1.txt

 -rw-r--r--  root root    - : log2.txt

 -rw-r--r--  root root    - : log3.txt

 drwxr-xr-x  root root  - : logs

 -rw-r--r--  root root    - : test1.txt

 [root@localhost test3]# mv -t /opt/soft/test/test4/ log1.txt log2.txt  log3.txt 

 [root@localhost test3]# cd ..

 [root@localhost test]# cd test4/

 [root@localhost test4]# ll

 总计 

 -rw-r--r--  root root   - : log1.txt

 -rw-r--r--  root root  - : log2.txt

 -rw-r--r--  root root  - : log3.txt

 [root@localhost test4]#

说明:

mv log1.txt log2.txt log3.txt test3 命令将log1.txt ,log2.txt, log3.txt 三个文件移到 test3目录中去,mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt 命令又将三个文件移动到test4目录中去

实例四:将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

命令:

mv -i log1.txt log2.txt

输出:

 [root@localhost test4]# ll

 总计 

 -rw-r--r--  root root   - : log1.txt

 -rw-r--r--  root root  - : log2.txt

 -rw-r--r--  root root  - : log3.txt

 [root@localhost test4]# cat log1.txt 

 odfdfs

 [root@localhost test4]# cat log2.txt 

 ererwerwer

 [root@localhost test4]# mv -i log1.txt log2.txt 

 mv:是否覆盖“log2.txt”? y

 [root@localhost test4]# cat log2.txt 

 odfdfs

 [root@localhost test4]#

实例五:将文件file1改名为file2,即使file2存在,也是直接覆盖掉。

命令:

mv -f log3.txt log2.txt

输出:

 [root@localhost test4]# ll

 总计 

 -rw-r--r--  root root   - : log2.txt

 -rw-r--r--  root root  - : log3.txt

 [root@localhost test4]# cat log2.txt 

 odfdfs

 [root@localhost test4]# cat log3

 cat: log3: 没有那个文件或目录

 [root@localhost test4]# ll

 总计 

 -rw-r--r--  root root   - : log2.txt

 -rw-r--r--  root root  - : log3.txt

 [root@localhost test4]# cat log2.txt 

 odfdfs

 [root@localhost test4]# cat log3.txt 

 dfosdfsdfdss

 [root@localhost test4]# mv -f log3.txt log2.txt 

 [root@localhost test4]# cat log2.txt 

 dfosdfsdfdss

 [root@localhost test4]# ll

 总计 

 -rw-r--r--  root root  - : log2.txt

 [root@localhost test4]#

说明:

log3.txt的内容直接覆盖了log2.txt内容,-f 这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它。

实例六:目录的移动

命令:

mv dir1 dir2

输出:

 [root@localhost test4]# ll

 -rw-r--r--  root root  - : log2.txt

 [root@localhost test4]# ll

 -rw-r--r--  root root  - : log2.txt

 [root@localhost test4]# cd ..

 [root@localhost test]# ll

 drwxr-xr-x  root root  - : scf

 drwxrwxrwx  root root  - : test3

 drwxr-xr-x  root root  - : test4

 drwxr-xr-x  root root  - : test5

 [root@localhost test]# cd test3

 [root@localhost test3]# ll

 drwxr-xr-x  root root  - : logs

 -rw-r--r--  root root    - : test1.txt

 [root@localhost test3]# cd ..

 [root@localhost test]# mv test4 test3

 [root@localhost test]# ll

 drwxr-xr-x  root root  - : scf

 drwxrwxrwx  root root  - : test3

 drwxr-xr-x  root root  - : test5

 [root@localhost test]# cd test3/

 [root@localhost test3]# ll

 drwxr-xr-x  root root  - : logs

 -rw-r--r--  root root    - : test1.txt

 drwxr-xr-x  root root  - : test4

 [root@localhost test3]#

说明:

如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。

实例7:移动当前文件夹下的所有文件到上一级目录

命令:

mv * ../

输出:

 [root@localhost test4]# ll

 -rw-r--r--  root root  - : log1.txt

 -rw-r--r--  root root  - : log2.txt

 [root@localhost test4]# mv * ../

 [root@localhost test4]# ll

 [root@localhost test4]# cd ..

 [root@localhost test3]# ll

 -rw-r--r--  root root    - : log1.txt

 -rw-r--r--  root root    - : log2.txt

 drwxr-xr-x  root root  - : logs

 -rw-r--r--  root root    - : test1.txt

 drwxr-xr-x  root root  - : test4

实例八:把当前目录的一个子目录里的文件移动到另一个子目录里

命令:

mv test3/*.txt test5

输出:

 [root@localhost test]# ll

 drwxr-xr-x  root root  - : scf

 drwxrwxrwx  root root  - : test3

 drwxr-xr-x  root root  - : test5

 [root@localhost test]# cd test3

 [root@localhost test3]# ll

 -rw-r--r--  root root    - : log1.txt

 -rw-r--r--  root root    - : log2.txt

 drwxr-xr-x  root root  - : logs

 -rw-r--r--  root root    - : test1.txt

 drwxr-xr-x  root root  - : test4

 [root@localhost test3]# cd ..

 [root@localhost test]# mv test3/*.txt test5

 [root@localhost test]# cd test5

 [root@localhost test5]# ll

 -rw-r--r-- 1 root root   25 10-28 07:02 log1.txt

 -rw-r--r-- 1 root root   13 10-28 06:16 log2.txt

 -rw-r--r-- 1 root root   29 10-28 06:05 test1.txt

 drwxr-xr-x 2 root root 4096 10-25 17:56 test5-1

 [root@localhost test5]#  cd ..

 [root@localhost test]# cd test3/

 [root@localhost test3]# ll

 drwxr-xr-x 2 root root 4096 10-28 06:21 logs

 drwxr-xr-x 2 root root 4096 10-28 07:02 test4

 [root@localhost test3]#

实例九:文件被覆盖前做简单备份,前面加参数-b

命令:

mv log1.txt -b log2.txt

输出:

 [root@localhost test5]# ll

 -rw-r--r--  root root    - : log1.txt

 -rw-r--r--  root root    - : log2.txt

 -rw-r--r--  root root    - : test1.txt

 drwxr-xr-x  root root  - : test5-

 [root@localhost test5]# mv log1.txt -b log2.txt

 mv:是否覆盖“log2.txt”? y

 [root@localhost test5]# ll

 -rw-r--r--  root root    - : log2.txt

 -rw-r--r--  root root    - : log2.txt~

 -rw-r--r--  root root    - : test1.txt

 drwxr-xr-x  root root  - : test5-

 [root@localhost test5]#

说明:

-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:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

每天一个linux命令:【转载】mv命令的更多相关文章

  1. 小知识点:linux下的mv命令怎么用?

    linux下的mv命令怎么用? mv a.txt b.txt  将a.txt 改名为b.txtmv a.txt /mnt/b.txt    同时更改路径为/mnt/mv a.txt /opt/ftp/ ...

  2. Linux命令学习-mv命令

    Linux中,mv命令的全称是move,主要作用是移动文件或文件夹,类似于Windows下的剪切功能,同时还可以用于修改名字. 假设当前处于wintest用户的主目录,路径为 /home/wintes ...

  3. 每天一个linux命令:mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  4. linux常用命令(6)mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录.1 命令格式:mv [选项] 原文件或目录 ...

  5. linux常用命令:mv 命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  6. linux命令:mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  7. Linux CentOS7 VMware 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail——笔记

    一.环境变量PATH PATH一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径. 命令在这几个目录里面就不需要敲绝对路径 echo $PATH 例子:把/tmp/ 加到 $PA ...

  8. linux命令之------Mv命令

    Mv命令 1)作用:用来为文件或目录改名/或将文件或目录一如其他位置 2)-i:若指定目录已有同名文件,则先询问是否覆盖旧文件: 3)-f:在mv操作要覆盖某已有的目标文件时,不给任何指示: 4)案例 ...

  9. 【Linux常见命令】mv命令

    mv - move (rename) files mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 语法: mv [OPTION]... [-T] SOURCE DEST mv [OPTIO ...

  10. 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail 各个命令的使用介绍

    第2周第2次课(3月27日) 课程内容: 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 2.10 环境变量PATH P ...

随机推荐

  1. 解题报告:hdu1159 common consequence LCS裸题

    2017-09-02 17:07:42 writer:pprp 通过这个题温习了一下刚学的LCS 代码如下: /* @theme:hdu1159 @writer:pprp @begin:17:01 @ ...

  2. cJSON序列化工具解读一(结构剖析)

    cJSON简介 JSON基本信息 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于人阅读和编写.同时易于机器解析和生成.是一种很好地数据交换语言. 官方 ...

  3. 个人知识管理系统Version1.0开发记录(02)

    第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...

  4. Python中实现switchcase

    # 第一种方式使用python中的字典# author:wanstack def first_func(): print('first_func') def second_func(): print( ...

  5. Prism 4 文档 ---第2章:初始化Prism应用程序

     这一章节介绍Prism应用程序启动和运行时发生的内容.Prism应用程序在启动时需要有注册和配置的过程,这就是所谓的自自启动程序. 什么是自启动引导程序?     引导程序是一个类,它负责使用Pri ...

  6. 虚拟机下Redhat9 网络配置问题(转)

    原文链接:http://www.programgo.com/article/38031929690/ edhat 9/redhat as 3装在虚拟机vmware上之后,连接网络是出现问题 Deter ...

  7. APUE学习笔记——6 系统数据文件与信息

    1.用户口令:/etc/passwd文件 该文件中包含下列结构体信息.其中,当下主修熊passwd不再这里显示,是使用了一个占位符. struct passwd { char * pw_name; / ...

  8. L146 Space Station Hole Cause Will Be Determined

    The head of the U.S. space agency said Tuesday he's sure that investigators will determine the cause ...

  9. New Concept English three(20)

    26w/m 36 In 1908 Lord Northcliffe offered a prize of £1000 to the first man who would fly across the ...

  10. New Concept English three(14)

    06:55:29 32w/m 45words. There was a time when the owners of shop and businesses in Chicago had to pa ...