Linux 移动或重命名文件/目录-mv 的10个实用例子
- -初识 mv 命令03%
- -1.移动文件08%
- -2.移动多个文件15%
- -3.移动目录23%
- -4.重命名文件或目录27%
- -5. 重命名目录35%
- -6. 打印移动信息39%
- -7. 使用交互模式46%
- -8. 使用更新选项56%
- -9.不要覆盖任何已存在的文件68%
- -10. 复制时创建备份75%
- -11. 无条件覆盖已经存在的文件87%
- -总结92%
熟悉了 复制命令,下一个相关的命令就是 mv 命令。当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选。
初识 mv 命令

mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。来看一下 mv 命令在日常操作中的一些例子。
1.移动文件
移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将file_1.txt文件从当前目录移动到其它目录,以/home/pungki/为例,语法应该如下:
- $ mv file_1.txt /home/pungki/office

mv command
如我们所见,当我们移动 file_1.txt 文件时,先前目录的 file_1.txt 就被删除了。
2.移动多个文件
如果想一次移动多个文件,我们可以将他们放在一行并用空格分开。
- $ mv file_2.txt file_3.txt file_4.txt /home/pungki/office

Move multiple files
如果你的文件有规律可循的话那么你就可以使用通配符。比如,为了移除所有以.txt为扩展名的文件,我们可以用下面的命令:
- $ mv *.txt /home/pungki/office

Move using pattern
3.移动目录
不同于复制命令,用 mv 命令移动目录相当直接。移动目录你可以使用不带选项的 mv 命令。看下面的截图就一目了然了。

Moving directory
4.重命名文件或目录
我们也用 mv 命令来重命名文件或目录。不过目标位置和源位置必须相同才可以。然后文件名必须不同。
假定我们当前所在目录为/home/pungki/Documents,而我们想将file_1.txt重命名为file_2.txt。那么命令应该如下:
- $ mv file_1.txt file_2.txt
如果是绝对路径,它应该像下面这样:
- $ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt

Renaming file
5. 重命名目录
上一段的规则同样适用于目录。请看这个例子:
- $ mv directory_1/ directory_2/

Renaming directory
6. 打印移动信息
当你移动或重命名一大堆文件或目录时,你可能会想在不去目标位置去查看的情况下知道你自己的命令是否成功地执行了。这就要用到-v选项了。
- $ mv -v *.txt /home/pungki/office

mv with verbose mode
该方法同样适用于目录。

mv directory with verbose mode
7. 使用交互模式
当你将文件移动到其它位置,而那个位置恰好有同样的文件,这时 mv 命令会覆盖掉原来的文件。对于mv的这一行为一般不会有什么提示。如果想产生一个关于覆盖文件的提示,我们可以使用-i选项。(译注:通常发行版会通过alias命令,将-i作为默认选项,所以会有提示。)
假设我们想将 file_1.txt 移动到 /home/pungki/office。同时,/home/pungki/office 目录下已经有file_1.txt文件了。
- $ mv -i file_1.txt /home/pungki/office

mv with interactive mode
这个提示会让我们知道目标位置处file_1.txt的存在。如果我们按y键,那么那个文件将会被删除,否则不会。
8. 使用更新选项
-i 选项会提示我们关于覆盖文件的提示,而 -u 则只在源文件比目标文件新时才执行更新。让我们看一看下面的例子:

Update only newer
假如 file_1.txt 和 file_2.txt有如下特点:
- File_1.txt has 84 bytes file size and it last modified time is 12:00
- File_2.txt has 0 bytes file size and it last modified time is 11:59
我们想将它们移动到 /home/pungki/office 目录下。但是目标地址已经有file_1.txt和file_2.txt了。
我们用下面的命令将file_1.txt 和file_2.txt从当前目录移动到/home/pungki/office
- $ mv -uv *.txt /home/pungki/office
可以看到这些文件被移动了。能移动这些文件是因为它们最近的修改时间戳比 /home/pungki/office 目录中的文件新。
9.不要覆盖任何已存在的文件
如果-i选项询问我们是否要覆盖文件,那么 -n 选项将不会允许我们覆盖任何已存在的文件。
继续使用第8点中的例子,如果我们将-u 换成 -n同时加上-v选项,那么我们会看到没有任何文件移动到了 /home/pungki/office 目录下。
- $ mv -vn *.txt /home/pungki/office

No overwrite
10. 复制时创建备份
默认情况下,移动文件将会覆盖已存在的目标文件。但是如果我们移动错了文件而目标文件已经被新的文件覆盖了,这时应该怎么办才好呢?有没有一种方法可以恢复之前的文件呢?答案是肯定的。我们可以用-b选项。该选项会在新文件覆盖旧文件时将旧文件做备份。这里我们还以第8点为例。
- $ mv -bv *.txt /home/pungki/office

Backup option
如截图中所见,在 /home/pungki/office 目录下出现了名为file_1.txt~ 和 file_2.txt~ 的文件。那个波浪符号(~)意味着这些文件是备份文件。从它们的属性中我们可以看到,这些文件比file_1.txt和file_2.txt要旧。
11. 无条件覆盖已经存在的文件
(译注:这一节是译者补充的,原文遗漏了这个重要选项)
当你希望无论如何都覆盖已经存在的文件或目录时,你可以使用 -f 选项。如果同时指定了 -f 选项和 -i 或 -n 选项,则 -f 选项会覆盖它们——即不进行任何提示而覆盖,所以,在使用此参数时,知道你在做什么。
- $ mv -f *.txt /home/pungki/office
总结
移动文件和目录命令是Linux系统的基本命令。通常你可以通过man mv 或者 mv --help显示mv的手册页以了解更多详细信息。
Linux 移动或重命名文件/目录-mv 的10个实用例子的更多相关文章
- 【转】Linux 移动或重命名文件/目录-mv 的10个实用例子
熟悉了 复制命令,下一个相关的命令就是 mv 命令.当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选. 初识 mv 命令 mv 命令是一个与cp类似的命令,但 ...
- 【linux基础】重命名文件和文件夹
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式 ...
- Perl复制、移动、重命名文件/目录
File::Copy复制文件 File::Copy模块提供了copy函数和cp函数来复制文件,它们参数上完全一致,但行为上稍有区别. 用法大致如下: use File::Copy qw(copy cp ...
- linux下批量重命名文件
# 使用通配符批量创建 多个文件:$ touch zqunor{1..7}.txt # 批量将多个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:$ rename 's/\.txt/\.c ...
- Linux编程 5 (目录重命名与移动mv,删除文件rm,目录创建mkdir删除rmdir,查看file,cat,more,tail,head)
一. 文件重命名与移动(mv) 在linux中,重命名文件称为移动(moving).mv命令可以将文件和目录移动到另一个位置或重新命名. 1.1 使用mv重命名 下面在/usr/local下面创建一个 ...
- Linux CentOS删除或重命名文件夹和文件的办法
Linux.CentOS操作系统下如何删除和重命名文件夹呢?办法如下: 一.Linux.CentOS下重命名文件和文件夹 mv:move 用移动文件命令就可以了,因为linux系统没有专门的重命名命令 ...
- Git——快速重命名文件和查看commit提交版本【四】
快速重命名文件 $ git mv README.md readme.md 使用git mv命令后直接commit即可,不再需要进行add或rm操作 查看版本历史 所有的参数都可以进行组合使用的,比如我 ...
- Linux下重命名文件或文件夹(mv命令与rename命令)
在Linux下重命名文件或目录,可以使用mv命令或rename命令 mv ———————————— mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a ...
- Linux下使用mv重命名文件或者移动文件(增强版的工具为rename)
mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 例子:将文件A.txt重命名为B.txt mv ...
随机推荐
- windows Service启动带有管理员权限的GUI进程
事情是这样的,公司的产品有个守护进程(windows Service)需要启动产品的主程序exe,让主程序它运行为管理员权限(因为主程序会加载一个插件,插件中有列出端口监听的功能,需要由端口查找到进程 ...
- 【PHP5.3+】获取getCurrentUrl()中 的地址url
1.在控制器中调用其他 扩展或者类 的方法时候,getCurrentUrl()方法 是获取的[当前控制器下方法]的路由,不是[其他 扩展或者类 方法]的路由!!! 2.getCurrentUrl()方 ...
- Windows下node.js安装及环境配置
1. 安装 官网下载node.js的安装版,一路next,中间可以自定义安装路径 完成后安装目录内容如下 cmd下检查是否安装成功 新版Node.js已自带npm,所以安装Node.js时会一起安装, ...
- IOS中UITableview中封装九宫格
第一步引入SecondNav目录即可 第二步引入头文件 #import "DIYTableView.h" #import "invoiceInfo.h" 实现协 ...
- <转>lua解释执行脚本流程
本文转自:http://www.cnblogs.com/zxh1210603696/p/4458473.html #include "lua.hpp" #include <i ...
- javascript中的复制
github 深度复制这个问题看似简单,实际上要想完美实现需要很多知识. 需要考虑Set,Map,Promise等类型的对象 这个库简洁明了,是一个小巧玲珑的JS库 Promise简单例子 funct ...
- Tensorflow中的name_scope和variable_scope
Tensorflow是一个编程模型,几乎成为了一种编程语言(里面有变量.有操作......). Tensorflow编程分为两个阶段:构图阶段+运行时. Tensorflow构图阶段其实就是在对图进行 ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- iOS与H5交互
H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互.技术方案应能达到以下要求: 在js与原生进行交互的时候能保证正常的正向调用逻辑返回,反向可以处理异步回调 ...
- Apache启用GZIP压缩网页传输
首先我们先了解Apache Gzip的相关资料. 一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的 ...