前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux常用命令02 - mv

Linux常用命令02 - mv

作者头像
叉叉敌
发布2020-04-21 10:41:09
3.3K0
发布2020-04-21 10:41:09
举报
文章被收录于专栏:Chasays

移动文件和目录是您在 Linux 系统上经常需要执行的最基本的任务之一。

mv 命令(简称 move)用于将文件和目录从一个位置重命名并移动到另一个位置。 命令的语法如下:

代码语言:javascript
复制
mv [OPTIONS] SOURCE DESTINATION

Source 可以是一个或多个文件或目录,DESTINATION 只能是是单个文件或目录

  • 多个文件或目录作为SOURCE, the 、DESTINATION必须是一个目录。所以文件被移动到目标目录
  • 如果将单个文件指定为SOURCE, 目标是一个现有的目录,然后该文件被移动到指定的目录。
  • 如果将单个文件指定为SOURCE, 一个单一的文件作为那么你就是目标重命名文件.
  • 当SOURCE是一个目录,DESTINATION 根本不存在,SOURCE将被改名为DESTINATION. 反之,它被移动到内部DESTINATION目录

Note: 要移动文件或目录,您需要对 SOURCE 和 DESTINATION 都具有写权限。 否则,您将收到一个被拒绝的权限错误。

Talk is cheap

简单用法

例如,要将文件 file1从当前工作目录文件夹移动到 / tmp 目录,您可以运行:

代码语言:javascript
复制
mv file1 /tmp

要重命名一个文件,你需要指定目标文件名:

代码语言:javascript
复制
mv file1 file2

移动目录的语法与移动文件时相同。 在下面的示例中,如果 dir2目录存在,则该命令将 dir1移动到 dir2中。 如果 dir2不存在,dir1将被重命名为 dir2:

代码语言:javascript
复制
mv dir1 dir2

移动多个文件和目录

若要移动多个文件和目录,请指定要移动的文件作为源文件。 例如,要将 file1和 file2文件移动到 dir1目录,您可以输入:

代码语言:javascript
复制
mv file1 file2 dir1

命令也允许你使用模式匹配。 例如,要将所有 pdf 文件从工作目录目录移动到 ~ / Documents 目录,你可以使用:

代码语言:javascript
复制
mv *.pdf ~/Documents

参数

mv 命令接受几个影响默认命令行为的选项。

在某些 Linux 发行版中,mv 可能是 mv 命令的别名,并带有一组自定义选项。 例如,在 CentOS 中,mv 是 mv-i 的别名。 您可以使用 type 命令查看 mv 是否是别名:

代码语言:javascript
复制
type mv 
aF0FBl
aF0FBl

如果 mv 是别名,输出结果如下:

代码语言:javascript
复制
mv is aliased to `mv -i'

如果给出了冲突的选项,则最后一个选项优先。

覆盖前的提示符

默认情况下,如果目标文件存在,它将被覆盖。要提示确认,使用-i 选项:

代码语言:javascript
复制
mv -i file1 /tmp

返回结果就是

代码语言:javascript
复制
mv: overwrite '/tmp/file1'?

覆盖文件类型 y 或 Y。

强制覆盖

如果您尝试覆盖只读文件,mv 命令将提示您是否要覆盖该文件:

代码语言:javascript
复制
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)? 

为了避免被提示,请使用-f 选项:

代码语言:javascript
复制
mv -f file1 /tmp

当您需要覆盖多个只读文件时,此选项特别有用。

不要覆盖现有的文件

n 选项告诉 mv 永远不要覆盖任何现有文件:

代码语言:javascript
复制
mv -f file1 /tmp

如果文件1存在,上面的命令将不执行任何操作,否则它将把文件移动到 / tmp 目录。

备份文件

如果目标文件存在,您可以使用-b 选项创建它的备份:

代码语言:javascript
复制
mv -b file1 /tmp

备份文件将具有与原始文件相同的名称,并附加一个波浪号(~)。

使用 ls 命令验证备份是否已创建:

代码语言:javascript
复制
/tmp/file1  /tmp/file1~

详细输出

另一个可能有用的选项是-v。 当使用此选项时,命令输出每个移动文件的名称:

代码语言:javascript
复制
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'

小结

mv 命令用于移动和重命名文件和目录。 有关 mv 命令的详细信息,请查看手册页或在终端中键入 man mv

zquN8k
zquN8k

被命令行吓到的新 Linux 用户可以使用 GUI 文件管理器来移动他们的文件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Talk is cheap
  • 简单用法
    • 移动多个文件和目录
      • 参数
        • 覆盖前的提示符
          • 强制覆盖
            • 不要覆盖现有的文件
              • 备份文件
                • 详细输出
                  • 小结
                  相关产品与服务
                  NAT 网关
                  NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档