每天一个linux命令:【转载】mv命令
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命令的更多相关文章
- 小知识点:linux下的mv命令怎么用?
linux下的mv命令怎么用? mv a.txt b.txt 将a.txt 改名为b.txtmv a.txt /mnt/b.txt 同时更改路径为/mnt/mv a.txt /opt/ftp/ ...
- Linux命令学习-mv命令
Linux中,mv命令的全称是move,主要作用是移动文件或文件夹,类似于Windows下的剪切功能,同时还可以用于修改名字. 假设当前处于wintest用户的主目录,路径为 /home/wintes ...
- 每天一个linux命令:mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- linux常用命令(6)mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录.1 命令格式:mv [选项] 原文件或目录 ...
- linux常用命令:mv 命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- linux命令:mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- Linux CentOS7 VMware 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail——笔记
一.环境变量PATH PATH一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径. 命令在这几个目录里面就不需要敲绝对路径 echo $PATH 例子:把/tmp/ 加到 $PA ...
- linux命令之------Mv命令
Mv命令 1)作用:用来为文件或目录改名/或将文件或目录一如其他位置 2)-i:若指定目录已有同名文件,则先询问是否覆盖旧文件: 3)-f:在mv操作要覆盖某已有的目标文件时,不给任何指示: 4)案例 ...
- 【Linux常见命令】mv命令
mv - move (rename) files mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 语法: mv [OPTION]... [-T] SOURCE DEST mv [OPTIO ...
- 环境变量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 ...
随机推荐
- 修改windows命令行字体
YaHei Consolas Hybrid
- 学习webpack3.x过程中遇到的问题:webpack-dev-server
这篇博客主要记录的是本人在学习webpack3.x的过程中遇到的问题(虽然这几天4.0刚出来,但是我还是先学一下3.x吧) 1.配置文件可以用webpack启服务和热更新,步骤如下: ① 先下载:we ...
- 你可能不知道的mouseover/mouseout mouseenter/mouseleave
mouseover与mouseenter 1. 触发时机 mouseover在被监听的节点与子节点上都会触发 mouseenter只在被监听的节点上触发 本质上是因为mouseenter不能冒泡 2. ...
- css实现一色多变化
.pesudo{ position: absolute; top:50%; left: 50%; transform:translate(-50%,-50%); width: 120px; paddi ...
- C# 终于写完了简单的ORM
实现单表 增 .删. 改 .查 使用接口定义表实体数据.实体对象动态创建,使用 Email 进行数据读取. 存储过程调用示例
- HDU 2492 BIT/逆序数/排列组合
Ping pong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 快速切题 poj 1003 hangover 数学观察 难度:0
Hangover Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 103896 Accepted: 50542 Descr ...
- Oracle recovery manager failed to restore
解决办法: 1:清理过期失效的备份, 2:增加recovery_file_dest_size参数值即可: SQL> show parameter db_recover NAME ...
- LeetCode OJ:Isomorphic Strings(同构字符串)
Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...
- Systems
package com.System; public class Study01 { /* * System 包含一些游泳的类字段和方法 * 继承自java.lang包 * JDK1.0开始 * 全部 ...