mv 命令
mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。
来看一下 mv 命令在日常操作中的一些例子。
1.移动文件
移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将file_1.txt文件从当前目录移动到其它目录,以/home/pungki/为例,语法应该如下:
$ mv file_1.txt /home/pungki/office
如我们所见,当我们移动 file_1.txt 文件时,先前目录的 file_1.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,而我们想将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
5. 重命名目录
上一段的规则同样适用于目录。请看这个例子:
$ mv directory_1/ directory_2/
6. 打印移动信息
当你移动或重命名一大堆文件或目录时,你可能会想在不去目标位置去查看的情况下知道你自己的命令是否成功地执行了。这就要用到-v选项了。
$ mv -v *.txt /home/pungki/office
该方法同样适用于目录。
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
这个提示会让我们知道目标位置处file_1.txt的存在。如果我们按y键,那么那个文件将会被删除,否则不会。
8. 使用更新选项
-i 选项会提示我们关于覆盖文件的提示,而 -u 则只在源文件比目标文件新时才执行更新。让我们看一看下面的例子:
假如 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
10. 复制时创建备份
默认情况下,移动文件将会覆盖已存在的目标文件。但是如果我们移动错了文件而目标文件已经被新的文件覆盖了,这时应该怎么办才好呢?有没有一种方法可以恢复之前的文件呢?答案是肯定的。我们可以用-b选项。该选项会在新文件覆盖旧文件时将旧文件做备份。这里我们还以第8点为例。
$ mv -bv *.txt /home/pungki/office
如截图中所见,在 /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的手册页以了解更多详细信息。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
via: http://linoxide.com/linux-command/mv-command-linux/
译者:Linchenguang 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出
mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下: [root@localhost ~]# mv 【选项】 源文件 目标文件 选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖; -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项); -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户
前面小节介绍了如何创建文件和目录、删除文件和目录,本小节介绍如何使用 mv 命令移动文件和目录。 1. 移动文件或目录至另外一个目录下 可以使用 mv file_name 路径 这种格式,移动文件至其他目录下,后面跟的路径可以是相对路径,也可以是绝对路径,这里的路径操作和 cd 命令类似,下面介绍移动文件命令: ls -l # 列出当前目录下所有文件 mv test.txt /usr/local
问题内容: 我想知道-如何将目录中的所有文件除外的所有文件移至特定目录中(因为“ mv”没有“ –exclude”选项)? 问题答案: 假设dir结构是这样的, 而且我们需要移动文件,以使其看起来像 在这种情况下,您需要排除两个目录和,然后将其余目录移动到目录中。 采用, 这会将其余所有目录移动到目录中。
本文向大家介绍一个简单的linux命令 mv,包括了一个简单的linux命令 mv的使用技巧和注意事项,需要的朋友参考一下 mv命令是用于移动文件或者将文件改名 一.命令格式: mv [选项] 源文件或目录 目标文件或目录 二.命令参数: -b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destinatio
问题内容: 假设我的当前目录是 一个 。我想创建一个目录 乙 和文件“myfile.txt的”内部 乙 。 如何在终端的一个命令中做到这一点? 编辑: 目录可以嵌套多次。就像我可能要创建 B / C / D ,然后在其中创建“ myfile.txt”。我也不想重复目录部分。 以下命令将在任何级别创建目录。 和 将创建目录和文件。但是我不想在命令后重复目录部分。那可能吗? 问题答案: 或者,创建一个
本文向大家介绍移动文件用哪个命令?改名用哪个命令?相关面试题,主要包含被问及移动文件用哪个命令?改名用哪个命令?时的应答技巧和注意事项,需要的朋友参考一下 答案: mv mv