Linux mv 命令使用介绍

文章目录

  • 1.命令格式
  • 2.命令功能
  • 3.命令参数
  • 4.命令实例
    • 1、文件改名( 重命名)
    • 2、移动文件
    • 3、将test目录下的文件text1.txt text2.txt text3.txt移动到目录mv中。
    • 4、将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
    • 5、将文件file1改名为file2,即使file2存在,也是直接覆盖掉。
    • 6、目录的移动
    • 7、移动当前文件夹下的所有文件到上一级目录。
    • 8、把当前目录的一个子目录里的文件移动到另一个子目录中。
    • 9、文件被覆盖前做简单备份,前面加参数-b

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,覆盖移动也是删除动作。加上-b经常用来备份文件或者目录。

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.命令实例

说明:下文中的实例是在home/lighthouse/linux-mv路径下操作。


1、文件改名( 重命名)

mv test.log new-test.log

输出:

lighthouse@VM-4-14-ubuntu:~$ ls
test.txt
lighthouse@VM-4-14-ubuntu:~$ mv test.txt test_1.txt
lighthouse@VM-4-14-ubuntu:~$ ls
test_1.txt

说明: 将文件test.txt重命名为test_1.txt

2、移动文件

命令:

mv text.txt home/lighthouse/linux-mv

输出:

lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ touch text.txt
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ ls
text.txt
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ mv text.txt home/lighthouse/linux-mv
mv: cannot move 'text.txt' to 'home/lighthouse/linux-mv': No such file or directory
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ mv text.txt /home/lighthouse/linux-mv
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ ls
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ cd ..
lighthouse@VM-4-14-ubuntu:~/linux-mv$ ls -lR
.:
total 4
drwxrwxr-x 2 lighthouse lighthouse 4096 Jun 29 11:35 mv
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:32 text.txt

如果第二个参数路径是文件名,那会被重命名
mv text.txt home/lighthouse/linux-mv/text1.txt 那么被移动的同时重命名为text1。

3、将test目录下的文件text1.txt text2.txt text3.txt移动到目录mv中。

命令:

mv text1.txt text2.txt text3.txt mv

输出:

lighthouse@VM-4-14-ubuntu:~/linux-mv$ mv text1.txt text2.txt text3.txt mv
lighthouse@VM-4-14-ubuntu:~/linux-mv$ tree
.
├── mv
│   ├── text1.txt
│   ├── text2.txt
│   └── text3.txt
└── text.txt1 directory, 4 files
lighthouse@VM-4-14-ubuntu:~/linux-mv$ 

or

 mv -t /home/lighthouse/linux-mv/ text1.txt text2.txt text3.txt 
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ mv -t /home/lighthouse/linux-mv/ text1.txt text2.txt text3.txt 
lighthouse@VM-4-14-ubuntu:~/linux-mv/mv$ cd ..
lighthouse@VM-4-14-ubuntu:~/linux-mv$ tree
.
├── mv
├── text1.txt
├── text2.txt
├── text3.txt
└── text.txt1 directory, 4 files

说明:mv text1.txt text2.txt text3.txt mv将text1.txt text2.txt text3.txt三个文件移到 mv 目录中,
mv -t /home/lighthouse/linux-mv/ text1.txt text2.txt text3.txt 命令又将三个文件移动到linux-mv目录中。

4、将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

命令:

mv -i text.txt text2.txt

输出:

ighthouse@VM-4-14-ubuntu:~/linux-mv$ ls
mv  text2.txt  text3.txt  text.txt
lighthouse@VM-4-14-ubuntu:~/linux-mv$ mv -i text.txt text2.txt 
mv: overwrite 'text2.txt'? 

5、将文件file1改名为file2,即使file2存在,也是直接覆盖掉。

命令:

mv -f text2.txt text.txt 

输出:

lighthouse@VM-4-14-ubuntu:~/linux-mv$ ll
total 12
drwxrwxr-x 3 lighthouse lighthouse 4096 Jun 29 13:31 ./
drwxr-xr-x 5 lighthouse lighthouse 4096 Jun 29 11:29 ../
drwxrwxr-x 2 lighthouse lighthouse 4096 Jun 29 13:25 mv/
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text2.txt
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text3.txt
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:43 text.txt
lighthouse@VM-4-14-ubuntu:~/linux-mv$ mv -f text2.txt text.txt 
lighthouse@VM-4-14-ubuntu:~/linux-mv$ ll
total 12
drwxrwxr-x 3 lighthouse lighthouse 4096 Jun 29 13:37 ./
drwxr-xr-x 5 lighthouse lighthouse 4096 Jun 29 11:29 ../
drwxrwxr-x 2 lighthouse lighthouse 4096 Jun 29 13:25 mv/
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text3.txt
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text.txt

说明: log3.txt的内容直接覆盖了log2.txt内容,-f 这是个危险的选项,使用的时候一定要特别谨慎,一般情况下最好不用加上它,因为可能没有任何提示直接就执行了。

6、目录的移动

命令:

mv dir1 dir2

输出:

lighthouse@VM-4-14-ubuntu:~/linux-mv$ tree
.
├── mv
├── test
│   └── test2
├── test1
├── text3.txt
└── text.txt4 directories, 2 files
lighthouse@VM-4-14-ubuntu:~/linux-mv$ mv test/test2/ test1
lighthouse@VM-4-14-ubuntu:~/linux-mv$ tree
.
├── mv
├── test
├── test1
│   └── test2
├── text3.txt
└── text.txt

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

7、移动当前文件夹下的所有文件到上一级目录。

命令:

mv * ../

输出:

lighthouse@VM-4-14-ubuntu:~/linux-mv$ mv * ../
lighthouse@VM-4-14-ubuntu:~/linux-mv$ cd ..
lighthouse@VM-4-14-ubuntu:~$ tree
.
├── linux-mv
├── mv
├── test
├── test1
│   └── test2
├── test_1.txt
├── text3.txt
└── text.txt5 directories, 3 files

8、把当前目录的一个子目录里的文件移动到另一个子目录中。

命令:

mv mv/*.txt test

输出:

lighthouse@VM-4-14-ubuntu:~$ mv *.txt mv
lighthouse@VM-4-14-ubuntu:~$ tree
.
├── linux-mv
├── mv
│   ├── test_1.txt
│   ├── text3.txt
│   └── text.txt
├── test
└── test1└── test25 directories, 3 files
lighthouse@VM-4-14-ubuntu:~$ mv mv/*.txt test
lighthouse@VM-4-14-ubuntu:~$ tree
.
├── linux-mv
├── mv
├── test
│   ├── test_1.txt
│   ├── text3.txt
│   └── text.txt
└── test1└── test25 directories, 3 files

9、文件被覆盖前做简单备份,前面加参数-b

命令:

mv log1.txt -b log2.txt

备份后,文件后面会跟一个~符号
输出:

lighthouse@VM-4-14-ubuntu:~$ cd test
lighthouse@VM-4-14-ubuntu:~/test$ ls
test_1.txt  text3.txt  text.txt
lighthouse@VM-4-14-ubuntu:~/test$ mv text3.txt -b text.txt 
lighthouse@VM-4-14-ubuntu:~/test$ ll
total 8
drwxrwxr-x 2 lighthouse lighthouse 4096 Jun 29 13:53 ./
drwxr-xr-x 8 lighthouse lighthouse 4096 Jun 29 13:50 ../
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:23 test_1.txt
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text.txt
-rw-rw-r-- 1 lighthouse lighthouse    0 Jun 29 11:44 text.txt~

补充说明:

-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.txt2,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。
  4. CONTROL=simple或 never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux touch 命令使用介绍

文章目录1.命令格式2.命令参数3.命令功能4.使用范例1、创建不存在的文件,用法如下2、更新text.txt 的时间和text3.txt时间戳相同3、设定文件的时间戳-t time 格式详细说明linux中的touch命令一般用来修改文件时间戳&am…

qt怎么可以随意设置自己想要的表格_【Qt开发】QTableWidget的详细设置

在使用Qt不多的日子里,已经两次用到了QTableWidget这个控件,也慢慢的习惯和喜欢上了它。再使用QTableWidget的时候,已不像刚开始使用时的迷茫。嗯嗯。现在就来总结总结我与QTableWidget相识的历程......(*^__^*) 嘻嘻……使用时也查过不少资料…

Linux cat 命令使用介绍

文章目录1.命令格式2.命令功能3.命令参数4.使用实例1、输出两个文件的合并内容并显示行号2、两个文件合并内容并增加行号(空白行不加)之后将内容写到其他文件3、使用here doc来生成文件并向文件中输入内容,EOF输入可以…

thinkpad重装系统不引导_Thinkpad笔记本重装系统时无法UEFI启动进入PE怎么办

Thinkpad笔记本重装系统时无法UEFI启动进入PE怎么办?近日,有用户想要在Thinkpad笔记本中重装操作系统,但是发现无法UEFI启动并进入PE系统。如果想要通过PE进行Thinkpad笔记本系统重装操作的话,那么应该如何解决上述的问题呢?下面&#xff0…

Linux nl 命令使用介绍

文章目录1.命令格式2.命令参数3.命令功能4.使用例子1.用 nl 列出文件的内容2.nl 列出文件内容,空本行也加上行号3.让行号前面自动补上0,统一输出格式前面对cat做了介绍,现在继续介绍和cat有点类似的另外一个…

css 不规则边角_如何实现带有边角的CSS边框

以下是完整代码,拷贝到编辑器即可使用html>带四角的边框body {background: #00AB68;text-align: center;}#box {position: relative;margin: 120px auto;width: 400px;height: 100px;font-family: KaiTi;font-size: 18px;line-height: 100px;font-weight: bold;c…

Linux more 命令使用介绍

文章目录1.命令格式2.命令功能3.命令参数4.常用操作(键盘按键)命令5.示例1显示文件中从第3行起的内容2从文件中查找第一个出现”hello3“字符串的行,并从该处前两行开始显示输出3设定…

Linux less 命令使用介绍

文章目录1.命令格式2.命令功能3.命令参数4.按键操作5.示例1、查看文件内容2、ps查看进程信息并通过less分页显示3、查看命令历史使用记录并通过less分页显示5、浏览多个文件5.附加备注less命令也是对文件或…

python中的reindex_Pandas之ReIndex重新索引的实现

约定:import pandas as pdimport numpy as npReIndex重新索引reindex()是pandas对象的一个重要方法,其作用是创建一个新索引的新对象。一、对Series对象重新索引se1pd.Series([1,7,3,9],index[d,c,a,f])se1代码结果:d 1c 7a 3f 9…

Linux head/tail 命令使用介绍

文章目录1.命令格式2.命令功能3.命令参数headtail4.使用实例1:head显示文件的前n行2:head显示文件前n个字节3:head文件的除了最后n个字节以外的内容4:head输出文件除了最后n行的全部…

djpython教程_简单介绍Python的Django框架的dj-scaffold项目

由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑。为此我又新创建了一个开源项目dj-scaffold(django的脚手架)。这个项目用于自动生成一个标注化的django项目和app。项目地址:https://github.com/…

Linux cp 命令使用介绍

文章目录1.命令格式及用法2.命令功能3.命令参数4.示例一:复制单个文件到目标目录,文件在目标文件中不存在二:目标文件存在时,会询问是否覆盖三:复制整个目录命令执行演示…

Linux ps 命令使用介绍

文章目录前言Linux上进程有5种状态ps工具标识进程的5种状态码命令格式命令功能命令参数示例1:显示所有进程信息2:显示指定用户信息3:显示所有进程信息,连同命令行4: ps 与grep 常用组合用法,查找特定进程5&…

字符串去重_文件数据去重示例

【摘要】本文介绍小文件与大文件在进行数据去重时的几种处理办法,比如按整行或关键列去除重复数据或留下重复数据,并用 esProc SPL 举例实现。请点击文件数据去重示例了解详情在数据处理业务中,有时需要清除文件中的重复数据或只留下重复数据…

Android 11判断应用已安装坑点

文章目录Android 11 wxApi.isWXAppInstalled() 返回false解决办法1、在清单文件的添加queries标签2、增加权限3、app的targetSdkVersion 改为29原因与说明Android 11 获取已安装app列表问题Android 11 应用可见性官方说明特定软件包名称在库中与托管应用通信与 intent 过滤器签…

python推导式多行书写_python三种推导式的详细介绍及其应用示例,强调字典推导的重要性...

前言列表推导式构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列。自python2.7以后,列表推导和生成器表达式的概念就应用到了字典上,所以就有了字典推导,以后我们还会遇到集合推导(此处暂不讨论)。因此&#x…

Linux watch命令使用介绍

文章目录1.命令格式2.命令功能3.命令参数4.示例1:每隔一秒高亮显示网络链接数的变化情况2:每隔一秒高亮显示http链接数的变化情况3:实时查看模拟攻击客户机建立起来的连接数4:监测当…

php7 setcookie无效_php COOKIE介绍和setcookie有时会在ie下失效问题

建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两种方便的手段:session和cookie功能.为了永久的保持用户信息,则cookie是最便捷的手段.在这里我将为大家详细的讲解cookie的功能及使用方法.一: 设置cookie使…

Linux at命令使用介绍

目录1.命令格式2.命令功能3.命令参数4.示例1:三天后的下午 5 点执行 /bin/ls2:明天17点钟,输出时间到指定文件3:计划任务设定后,在没有执行之前,用atq命令来查…

arm ubuntu 编译boost_使用yocto工具编译qt5.9.6总结

运行平台:OKMX6DL-C编译平台:Ubuntu 14.04.6 LTS编译工具:arm-poky-linux-gnueabi-gcc(gcc version 5.3.0 (GCC) )qt源码:qt-everywhere-opensource-src-5.9.6.tar.xz参考:嵌入式开发之Qt-5.9.6…