mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,
经常用来备份文件或者目录。
.命令格式:
mv [选项] 源文件或目录 目标文件或目录
.命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录
中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将
所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有
多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,
而链至该文件的链接也将丢失。
.命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,
该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。 .命令实例:
实例一:文件改名
命令:
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 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 4 root root 4096 10-28 07:02 test3
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# cd test3
[root@localhost test3]# 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
drwxr-xr-x 2 root root 4096 10-28 06:21 logs
-rw-r--r-- 1 root root 29 10-28 06:05 test1.txt
drwxr-xr-x 2 root root 4096 10-28 07:02 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-- 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]# mv log1.txt -b log2.txt
mv:是否覆盖“log2.txt”? y
[root@localhost test5]# ll
-rw-r--r-- 1 root root 25 10-28 07:02 log2.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]#
说明:
-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命令学习笔记( 7 ) : mv 命令的更多相关文章

  1. linux命令学习笔记( 2 ) : cd 命令

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. . 命 ...

  2. Linux基础学习笔记以及常用命令

    1.windows自带命令进入mysql所在磁盘   2.进入mysql安装目录的bin文件 D:\>cd D:\Program Files (x86)\mysql-5.5.25-winx64\ ...

  3. linux命令学习笔记(62)-curl命令-url下载工具

    linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合 传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道 ...

  4. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  5. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  6. linux命令学习笔记(25):linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...

  7. 学习笔记之shell命令

    linux shell命令学习笔记:~这里只是对自己一些常用但是不熟悉的的命令进行记录 -------------------------------------------------------- ...

  8. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. js读取json包装的map集合

    后台 Map<String,Integer> map = new HashMap<>(); map.put("你好1", 1); map.put(" ...

  2. NYOJ-欧几里得

    欧几里得 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 描写叙述 已知gcd(a,b)表示a,b的最大公约数. 如今给你一个整数n,你的任务是在区间[1,n)里面找到一个最大 ...

  3. JVM调优- 学习笔记(转)

    http://blog.csdn.net/fenglibing/article/details/6321453 GC学习笔记 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就 ...

  4. ASIHTTP 框架,同步、 异步请求、 上传 、 下载

    ASIHTTPRequest详解 ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目.让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度 ...

  5. Nearest Common Ancestors(LCA)

    Description A rooted tree is a well-known data structure in computer science and engineering. An exa ...

  6. [转]React表单无法输入原因----约束性和非约束性组件

    转自:http://blog.csdn.net/lihongxun945/article/details/46730835 表单是前端非常重要的一块内容,并且往往包含了错误校验等逻辑. React对表 ...

  7. git reset和git revert

    1 git reset commit-id 直接回到某次提交,该次commit-id之后的提交都会被删除. --hard,将index和本地都恢复到指定的commit版本. 2 git revert ...

  8. Android笔记之获取debug.keystore和release.keystore的MD5/SHA1值

    获取debug.keystore的key,如下图 获取release.keystore的key 输入命令keytool -list -v -keystore <jksFilename> 例 ...

  9. ALV行 列颜色设置

    ALV的颜色设置分为3种:行.列.单元格.   1.列颜色的设置   在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码.   Eg:   DATA: fc TYP ...

  10. 学习Filter

    http://www.cnblogs.com/jbelial/archive/2012/07/09/2582638.html Filter 介绍: 它主要用于对用户请求进行预处理,也可以对HttpSe ...