0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

讨论Linux mv命令的一些实际示例

jf_ZqFkd6Up 来源:Linux迷 2023-02-14 16:28 次阅读

简介:在本初学者指南中,我们将讨论 mv 命令的一些实际示例。遵循本指南后,Linux 新手将能够从命令行界面轻松地重命名和移动文件和目录。

文件和目录是操作系统的构建块。作为普通用户,我们每天都与文件和目录进行交互。通常我们会重命名文件或将文件从一个位置移动到另一个位置以便更好地组织。

当然,我们可以使用图形用户界面 (GUI) 执行此操作。然而,大多数 Linux 用户更喜欢使用mv 命令,因为它具有丰富的功能。

在这个易于理解的指南中,我们将学习mv 命令的基础知识。顾名思义,mv 命令用于重命名或移动文件和目录。

在本指南中,我们将通过实际示例了解mv 命令。初学者在使用 Linux 系统时可以在日常工作中使用这些示例。 让我们开始吧。

mv 命令语法

mv 命令的语法类似于其他 Linux 命令。在高层次上,它分为两部分——选项和参数

$ mv [选项] <源> <目标>
$ mv [选项] <源 1> <源 2> ... <目录>

在上面的语法中,方括号([])代表可选参数,而尖括号(<>)代表强制参数。

1. 如何在 Linux 中重命名文件

mv 命令的最基本用途是重命名文件。那么让我们看看如何重命名当前目录中的文件。

首先,使用 touch 命令创建一个示例文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-1.txt

现在,让我们使用mv 命令重命名文件,如下所示:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv file-1.txt file-2.txt

最后,使用 ls 命令验证文件是否已成功重命名:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ls -1
file-2.txt

2c592e38-ac41-11ed-bfe3-dac502259ad0.png在 Linux 中重命名文件

2. 在 mv 命令中启用详细模式

有时,我们想知道哪些文件或目录正在重命名。在这种情况下,我们可以使用-v选项来启用详细模式。

为了理解这一点,让我们使用详细模式重命名文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v file-2.txt file-1.txt 
已重命名 'file-2.txt' -> 'file-1.txt'

2c67dcbc-ac41-11ed-bfe3-dac502259ad0.png

在上面的输出中,我们可以看到,现在 mv 命令显示了重命名消息。

3. 如何在 Linux 中重命名目录

与文件类似,我们可以使用mv 命令重命名目录。为了更清楚地理解,首先您需要创建一个名为src的新目录:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mkdir src

现在,让我们使用以下命令重命名目录:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v src dst
已重命名 'src' -> 'dst'

2c76d6ea-ac41-11ed-bfe3-dac502259ad0.png

4.如何将多个文件移动到目录

很多时候,我们将文件移动到一个目录中以便更好地组织。例如,将所有音频文件保存在一个目录中是很常见的做法。

当然,我们可以多次使用mv命令来实现。但是,随着文件数量的增加,该过程很快就会变得非常耗时。

但是,为了节省时间,我们可以使用mv 命令的替代语法。

让我们通过创建一些文件和一个新目录来理解:


┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch 1.mp3 2.txt 3.dat
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mkdir misc
现在,让我们使用以下命令将所有这些文件移动到misc目录:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v 1.mp3 2.txt 3.dat misc
已重命名 '1.mp3' -> 'misc/1.mp3'
已重命名 '2.txt' -> 'misc/2.txt'
已重命名 '3.dat' -> 'misc/3.dat'
2c847a52-ac41-11ed-bfe3-dac502259ad0.png

在 Linux 中移动多个文件 重要的是要注意,要使用这种替代语法,目录必须已经存在并且它必须是命令的最后一个参数。

5. 如何在 Linux 中移动多个目录

就像文件一样,我们可以使用mv 命令一次移动多个目录。让我们用一个简单的例子来理解这一点。

首先,使用 mkdir 命令创建一些目录:


┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mkdir dir-1 dir-2 dir-3 dir-4
现在,让我们将所有这些目录移动到dir-4目录:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v dir-1 dir-2 dir-3 dir-4
已重命名 'dir-1' -> 'dir-4/dir-1'
已重命名 'dir-2' -> 'dir-4/dir-2'
已重命名 'dir-3' -> 'dir-4/dir-3'
2c95ed82-ac41-11ed-bfe3-dac502259ad0.png

在 Linux 中移动多个目录 在上面的输出中,我们可以看到我们能够移动所有目录。

6. 如何避免在 Linux 中覆盖文件

默认情况下,mv 命令会覆盖目标文件。有时,我们希望禁用此默认行为以避免数据丢失。

在这种情况下,我们可以使用该-n选项。

要理解这一点,首先,创建一个示例文件:


┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-2.txt
现在,让我们尝试使用以下命令覆盖它:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v -n file-1.txt file-2.txt
2ca65aa0-ac41-11ed-bfe3-dac502259ad0.png

在这里,我们可以看到详细模式没有显示任何消息。这表示file-2.txt尚未被覆盖。

7. 如何在 Linux 中交互式覆盖文件

在前面的示例中,我们看到了如何禁用文件覆盖。但是,有时我们希望以安全的方式覆盖文件。

在这种情况下,我们可以在交互模式下使用mv 命令。

在这种模式下,mv 命令会显示警告消息并在覆盖文件之前等待用户的确认。

现在,让我们尝试以交互方式覆盖file-2.txt文件:


┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v -i file-1.txt file-2.txt
mv: 是否覆盖 'file-2.txt'?
2cb565cc-ac41-11ed-bfe3-dac502259ad0.png

在上面的输出中,我们可以看到该命令正在等待用户的确认。就像其他 Linux 命令一样,我们可以使用它'y'来继续或'n'中止操作。

8. 仅当源较新时才覆盖文件

在前面的示例中,我们看到了如何使用交互模式覆盖文件,但是当我们要覆盖大量文件时,这种方法并不实用。

但是,我们不应该未经验证就执行覆盖操作,因为用户可能会不小心覆盖较新的文件。

在这种情况下,我们可以使用该-u选项仅在源比目标更新时执行移动操作。

为了理解这一点,让我们更新源文件的时间戳:


┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch -t 202301011000 file-1.txt
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ls -l file-1.txt
-rw-r--r-- 1 linuxmi linuxmi 0  1月 1日 10:00 file-1.txt
2cc6f760-ac41-11ed-bfe3-dac502259ad0.png

在上面的示例中,我们使用 touch 命令-t的选项在file-1.txt文件上设置了较旧的时间戳。

接下来,让我们将目标文件的时间戳更新为当前时间:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-2.txt
最后,让我们尝试使用以下-u选项覆盖目标文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv -v -u file-1.txt file-2.txt
2cd82954-ac41-11ed-bfe3-dac502259ad0.png

当源文件较新时覆盖文件 在上面的输出中,我们可以看到详细模式没有显示任何消息。这表示file-2.txt尚未被覆盖。

9. 如何在覆盖文件前创建备份

在前面的几个例子中,我们看到了如何以更安全的方式覆盖目标文件。mv 命令提供了另一个选项,它允许我们使用该--backup选项指定备份策略,该策略在覆盖目标文件之前对其进行备份。



┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-1.txt file-2.txt
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv --backup=numbered -v file-1.txt file-2.txt
已重命名 'file-1.txt' -> 'file-2.txt'(备份:'file-2.txt.~1~')
在这里,我们使用了编号备份策略,该策略在备份文件名中使用增量编号。

为了理解这一点,让我们再执行这两个命令几次并检查输出:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-1.txt file-2.txt
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv --backup=numbered -v file-1.txt file-2.txt
已重命名 'file-1.txt' -> 'file-2.txt'(备份:'file-2.txt.~2~')
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-1.txt file-2.txt
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv --backup=numbered -v file-1.txt file-2.txt
已重命名 'file-1.txt' -> 'file-2.txt'(备份:'file-2.txt.~3~')
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ touch file-1.txt file-2.txt
                                                                           
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ mv --backup=numbered -v file-1.txt file-2.txt
已重命名 'file-1.txt' -> 'file-2.txt'(备份:'file-2.txt.~4~')
2ce83a74-ac41-11ed-bfe3-dac502259ad0.png

在覆盖文件之前创建备份 在本初学者指南中,我们讨论了如何使用mv 命令重命名和移动文件以及目录。

Linux 新手在使用 Linux 系统时,可以在日常生活中参考这些示例。

您知道 Linux 中 mv 命令的其他最佳示例吗?请在下面的评论中告诉我们您的观点。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GUI
    GUI
    +关注

    关注

    3

    文章

    641

    浏览量

    39496
  • SRC
    SRC
    +关注

    关注

    0

    文章

    60

    浏览量

    17949
  • LINUX内核
    +关注

    关注

    1

    文章

    316

    浏览量

    21608

原文标题:Linux mv 命令的正确使用姿势

文章出处:【微信号:Linux迷,微信公众号:Linux迷】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux教程:Linux Tee命令真实示例详细指南

    使用 Linux 终端时,您可能需要执行命令一些数据写入文件并进步处理其输出。命令个可以
    发表于 10-31 10:02 597次阅读

    介绍一些实用的Linux命令

    作为名软件开发人员,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你总会遇到需要使用 Linux 命令
    发表于 08-01 16:12 339次阅读
    介绍<b class='flag-5'>一些</b>实用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    Linux tcpdump命令示例 如何在Linux中安装tcpdump

    在这里,我们将展示如何安装 tcpdump,然后讨论并介绍一些有用的命令以及它们的实际示例
    发表于 08-06 11:11 3612次阅读
    <b class='flag-5'>Linux</b> tcpdump<b class='flag-5'>命令</b><b class='flag-5'>示例</b> 如何在<b class='flag-5'>Linux</b>中安装tcpdump

    Linux系统的一些常用的基本命令分享

    Linux系统的一些常用的基本命令
    发表于 01-04 06:36

    Linux关机命令详解

    Linux关机命令详解 在linux一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启
    发表于 01-18 12:52 3617次阅读

    linux安装的一些软件

    linux安装的一些软件,jdk和tomcat类的。
    发表于 11-09 17:39 0次下载

    根据一些简单的实例来讨论 Linux rmdir 命令

    Linux 命令行上删除文件和目录,我们已经讨论过 rm 命令 的使用。然而,这里有另个相关的命令
    的头像 发表于 02-23 09:42 4126次阅读
    根据<b class='flag-5'>一些</b>简单的实例来<b class='flag-5'>讨论</b> <b class='flag-5'>Linux</b> rmdir <b class='flag-5'>命令</b>

    du 及 df 命令的使用(附带示例

    du 和 df 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况。这里我们将通过一些例子来分享这两个命令的用
    的头像 发表于 03-27 15:48 5033次阅读
    du 及 df <b class='flag-5'>命令</b>的使用(附带<b class='flag-5'>示例</b>)

    如何通过一些Linux的安全命令加固你的Linux系统?改善你的Linux安全

    它们被发现后的数小时之内。一些漏洞甚至直到有人将其利用到攻击的主机上才被发现。可见,安全应该是我们所有人需要关心的。因此,我想在本文中用一些实际的例子来展示如何增强系统的安全性。
    的头像 发表于 09-24 12:42 1w次阅读

    Linux上常用的命令有哪一些

    Linux上常用的12条命令
    发表于 11-12 14:45 746次阅读

    机器学习的一些代码示例合集

    本文档的主要内容详细介绍的是机器学习的一些代码示例合集。
    发表于 04-29 08:00 1次下载
    机器学习的<b class='flag-5'>一些</b>代码<b class='flag-5'>示例</b>合集

    分享一些流行危险的Linux命令

    Linux你拥有的工具使你能够控制和修改操作系统的每个方面。但如果你不熟悉这些命令和工具,你可以很容易地把你的系统摧毁。
    的头像 发表于 12-14 17:26 1032次阅读

    一些高效linux命令技巧总结

    今天浩道跟大家分享硬核干货,关于linux运维中那些高效的运维命令。可以说掌握以下这些技巧,你将收到事半功倍的效果!
    的头像 发表于 02-12 17:00 837次阅读

    shell命令linux命令样吗

    结合在起,形成个相当于面向过程的程序,即shell script,从而实现一些复杂的功能。 而Linux命令则是用来对
    的头像 发表于 11-08 10:51 2706次阅读

    linux查看物理接口的命令

    Linux操作系统提供了多种命令和工具来查看物理接口。在这篇文章中,我们将详细介绍一些最常用和常见的命令,以及它们的用法和输出。 ifconfig
    的头像 发表于 11-16 16:48 1145次阅读