mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。
用法:mv [选项]... [-T] 源文件 目标文件
或:mv [选项]... 源文件... 目录
或:mv [选项]... -t 目录 源文件...
将源文件重命名为目标文件,或将源文件移动至指定目录。
长选项必须使用的参数对于短选项时也是必需使用的。
--backup[=CONTROL] 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, --no-clobber 不覆盖已存在文件
如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
--strip-trailing-slashes 去掉每个源文件参数尾部的斜线
-S, --suffix=SUFFIX 替换常用的备份文件后缀
-t, --target-directory=DIRECTORY 将所有参数指定的源文件或目录
移动至 指定目录
-T, --no-target-directory 将目标文件视作普通文件处理
-u, --update 只在源文件文件比目标文件新,或目标文件
不存在时才进行移动
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 显示版本信息并退出
备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不进行备份(即使使用了--backup 选项)
numbered, t 备份文件加上数字进行排序
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
使用示例
1.移动文件
移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将file_1.txt文件从当前目录移动到其它目录,以/home/pungki/为例,语法应该如下:
代码如下:
$ mv file_1.txt /home/pungki/office
如我们所见,当我们移动 filetxt 文件时,先前目录的 file1.txt 就被删除了。
2.移动多个文件
如果想一次移动多个文件,我们可以将他们放在一行并用空格分开。
复制代码
代码如下:
$ mv file_2.txt file_3.txt file_4.txt /home/pungki/office
如果你的文件有规律可循的话那么你就可以使用通配符。比如,为了移除所有以.txt为扩展名的文件,我们可以用下面的命令:
代码如下:
$ mv *.txt /home/pungki/office
3.移动目录
不同于复制命令,用 mv 命令移动目录相当直接。移动目录你可以使用不带选项的 mv 命令。看下面的截图就一目了然了。
4.重命名文件或目录
我们也用 mv 命令来重命名文件或目录。不过目标位置和源位置必须相同才可以。然后文件名必须不同。
假定我们当前所在目录为/home/pungki/Documents,而我们想将file1.txt重命名为file2.txt。那么命令应该如下:
代码如下:
$ mv file_1.txt file_2.txt
如果是绝对路径,它应该像下面这样:
代码如下:
$ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt
5. 重命名目录
上一段的规则同样适用于目录。请看这个例子:
复制代码
代码如下:
$ mv directory_1/ directory_2/
6. 打印移动信息
当你移动或重命名一大堆文件或目录时,你可能会想在不去目标位置去查看的情况下知道你自己的命令是否成功地执行了。这就要用到-v选项了。
代码如下:
$ mv -v *.txt /home/pungki/office
该方法同样适用于目录。
7. 使用交互模式
当你将文件移动到其它位置,而那个位置恰好有同样的文件,这时 mv 命令会覆盖掉原来的文件。对于mv的这一行为一般不会有什么提示。如果想产生一个关于覆盖文件的提示,我们可以使用-i选项。(译注:通常发行版会通过alias命令,将-i作为默认选项,所以会有提示。)
假设我们想将 file1.txt 移动到 /home/pungki/office。同时,/home/pungki/office 目录下已经有file1.txt文件了。
代码如下:
$ mv -i file_1.txt /home/pungki/office
这个提示会让我们知道目标位置处file_1.txt的存在。如果我们按y键,那么那个文件将会被删除,否则不会。
8. 使用更新选项
-i 选项会提示我们关于覆盖文件的提示,而 -u 则只在源文件比目标文件新时才执行更新。让我们看一看下面的例子:
假如 file1.txt 和 file2.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 目录下。**但是目标地址*已经有file1.txt和file2.txt了。
我们用下面的命令将file1.txt 和file2.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
10. 复制时创建备份
默认情况下,移动文件将会覆盖已存在的目标文件。但是如果我们移动错了文件而目标文件已经被新的文件覆盖了,这时应该怎么办才好呢?有没有一种方法可以恢复之前的文件呢?答案是肯定的。我们可以用-b选项。该选项会在新文件覆盖旧文件时将旧文件做备份。这里我们还以第8点为例。
代码如下:
$ mv -bv *.txt /home/pungki/office
如截图中所见,在 /home/pungki/office 目录下出现了名为file1.txt~ and file2.txt~ 的文件。那个波浪符号(~)意味着这些文件是备份文件。从它们的属性中我们可以看到,这些文件比file1.txt和file2.txt要旧。
11. 无条件覆盖已经存在的文件
当你希望无论如何都覆盖已经存在的文件或目录时,你可以使用 -f 选项。如果同时指定了 -f 选项和 -i 或 -n 选项,则 -f 选项会覆盖它们——即不进行任何提示而覆盖,所以,在使用此参数时,知道你在做什么。
代码如下:
$ mv -f *.txt /home/pungki/office
温馨提示:内容为网友见解,仅供参考
Linux中的文件与目录操作利器mv命令使用解析
mv file_1.txt \/home\/pungki\/office 如我们所见,当我们移动 filetxt 文件时,先前目录的 file1.txt 就被删除了。2.移动多个文件 如果想一次移动多个文件,我们可以将他们放在一行并用空格分开。复制代码 代码如下:mv file_2.txt file_3.txt file_4.txt \/home\/pungki\/office 如果你的文件有规律...
linux—mv (移动文件与目录,或修改名称)命令详解(一天一个命令)
案例案例1: 重命名文件将文件"old_file.txt"重命名为"new_file.txt",可以使用命令:mv old_file.txt new_file.txt 案例2: 移动文件到指定目录将文件"old_file.txt"移动到"\/home\/user\/documents"目录下:mv old_file.txt \/home\/user\/documents 案例3: 批量移动文件到指定目录将目录\/home\/user\/...
linux中mv命令使用详解
1. 文件改名:命令:mv test.log test1.txt,结果将文件test.log重命名为test1.txt。2. 移动文件:命令:mv test1.txt test3,将test1.txt文件移到目录test3中。3. 多文件移动:命令:mv log1.txt log2.txt log3.txt test3 或 mv -t \/opt\/soft\/test\/test4\/ log1.txt log2.txt log...
linux mv命令详解
1、将文件改名;2、移动文件;3、移动目录。mv的具体命令语法格式是mv[参数] 。参数:-i 若存在同名文件,则向用户询问是否覆盖 -f 覆盖已有文件时,不进行任何提示 -b 当文件存在时,覆盖前为其创建一个备份 -u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 ...
linux中mv命令使用详解
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 1.命令格式: mv [选项] 源文件或目录 目标文件或目录 2.命令功能: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当...
linux下的mv命令怎么用?
1. 基本语法:mv [选项] 源文件或目录 目标文件或目录 2. 移动文件或目录:使用mv命令可以将文件或目录从一个位置移动到另一个位置。例如,将文件file1.txt移动到目录dir中,可以使用以下命令:bash mv file1.txt dir\/ 这会将file1.txt移动到dir目录下。如果目标位置是一个文件已存在的目录,则...
Linux系统-详解 mv 命令(八)
在 Linux 系统中,mv 命令是文件和目录重命名或移动的得力工具,它具有广泛的应用场景。这个命令的基本格式是:mv [选项] 源文件或目录 目标文件或目录。根据目标的不同,mv命令可以实现文件重命名或文件移动到指定目录。当目标是文件时,mv会将源文件改名成目标文件名,如将"test.log"重命名为"test1...
linux文件处理命令--mv
在Linux中,mv命令是一个用于文件和目录移动的常用工具。其基本格式为:mv [选项] 源文件或目录 目标文件或目录 此命令可帮助用户实现文件和目录的移动操作。命令中包含多种选项,以满足不同需求:1. -b:若需覆盖文件,则在覆盖文件前先进行备份。例如:mv -b file1 tmp\/ 将file1移动到tmp目录下...
Linux——如何在 Linux 中使用 mv 命令移动文件和目录
Scripts Python_Scripts_New"。对于多文件或使用正则表达式匹配的移动,只需在命令中指定所有源文件和目标目录。同时,mv 命令的 -b 选项可用于备份文件,防止因移动操作覆盖原有文件。实践是掌握 Linux mv 命令的关键,多尝试,多理解,你将能熟练地在 Linux 环境中操作文件和目录。祝学习顺利!
linux下的mv命令怎么用?
1. 基本语法:mv [选项] 源文件或目录 目标文件或目录 2. 移动文件或目录:使用mv命令可以移动文件或目录到另一个位置。例如,将文件“file1.txt”移动到目录“dir1”中,可以使用以下命令:bash mv file1.txt dir1\/ 这会将“file1.txt”移动到“dir1”目录下,并保留原始文件名。3. 重命名...