百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

如何使用mv命令在Linux中移动文件和目录?

ahcoder 2024-12-23 08:37 12 浏览

Linux 中的 mv 命令代表move,它用于将一个或多个文件或目录从文件系统内的一个位置移动到另一个位置,该命令通常无需提示即可工作,但我们将向您展示如何在重命名或移动文件之前进行提示。

在本文中,我们将讨论Linux 中的mv 命令、它的选项和一些常见用例。

mv 命令的工作原理

mv 命令执行的主要操作包括:

  • 重命名文件或目录。
  • 将一个文件或一组文件移动到另一个目录。

我们将在以下示例中详细说明 mv 命令的工作原理,假设我们有四个文件名:wljslmz1.txt、wljslmz2.txt、wljslmz3 和wljslmz4。

如果您将一个文件指定为源文件,将另一个文件指定为目标文件,则该文件将被重命名。

如果指定了源文件和目标目录,则文件将移动到该目录中。

  • 如果目标文件不存在,将自动创建。mv 命令将简单地将源文件重命名为目标(新文件)。
  • 如果目标文件已经存在,那么它将被覆盖并删除源文件。

如果提供多个文件和目录作为源,那么目标必须是一个目录,所有源文件和目录都会移动到目标。

语法

mv [options] source destination

mv 命令选项

使用 mv 命令重命名文件

mv 命令可用于重命名文件或将一个文件的内容移动到另一个已经存在的文件,我们将在下面讨论这两个示例。

重命名目标文件不存在的文件

将文件 wljslmz1.txt 重命名为不存在的文件 wljs.txt:

ls

输出

wljslmz1.txt wljslmz2.txt wljslmz3 wljslmz4
mv wljslmz1.txt wljs.txt
ls

输出

wljslmz2.txt wljslmz3 wljslmz4 wljs.txt

在上面的例子中,文件wljslmz1.txt被删除并替换为一个名为wljs.txt的新文件。

重命名目标文件所在的文件

我们将文件wljslmz1.txt重命名为现有文件 wljs.txt:

ls

输出

wljslmz1.txt wljslmz2.txt wljslmz3 wljslmz4 wljs.txt
cat wljslmz1.txt

输出

This is the wljslmz1.txt file
cat wljs.txt

输出

This is the wljs.txt file
mv wljslmz1.txt wljs.txt
ls

输出

wljslmz2.txt wljslmz3 wljslmz4 wljs.txt
cat wljs.txt

输出

This is the wljslmz1.txt file

在上面的例子中,我们移动并重命名了wljslmz1.txt文件,覆盖了wljs.txt文件。

使用 mv 命令将文件移动到另一个目录

顾名思义,mv命令可以将一个或多个文件从一个目录移动到另一个目录。

将文件移动到另一个目录并更改名称

将文件从一个目录移动到另一个目录并为其指定新名称会将其从源位置删除。将文件从一个目录移动到另一个目录并给它一个新名称:

mv wljslmz1.txt newdir/wljslmz2.txt

将文件移动到另一个目录,同时保持相同的名称

要将文件从一个目录移动到另一个目录,请在mv后键入文件名,后跟目录名。

以下命令会将file1移动 到名为newdir的目录:

mv file1 a_dir

它具有相同的结果:

mv file1 a_dir/file1

使用 mv 命令将多个文件移动到一个目录中

要将多个文件从一个目录移动到另一个目录,请在mv命令后键入以空格分隔的文件名,并在末尾键入目录名:

mv file1 file2 file3 a_dir

您还可以使用通配符来选择特定类型(例如,TXT 或 PDF)的所有文件并将它们移动到另一个目录。为此,请在 mv 命令后键入 *.filetype:

mv *.txt a_dir

使用 mv 命令重命名目录

除了重命名文件外,mv命令还可用于重命名目录。语法与文件相同,我们只是将目录以不同的名称移动到它当前所在的同一目录中。

以下命令将dir目录重命名 为 newdir:

mv a_dir newdir

使用 mv 命令移动目录

将目录移动到不同的目录与移动文件相同。

以下命令会将a_dir目录移动 到 work_dir目录中。

mv a_dir work_dir

或者

mv a_dir work_dir/a_dir

覆盖文件前提示

默认情况下,mv命令在覆盖文件之前不显示提示,这可能会导致多个问题。

为避免覆盖,请-i在 mv 命令后添加选项以在覆盖前显示提示:

mv -i file1.txt file2.txt
mv: overwrite 'file2'? y

按 y继续覆盖或按n中止。

避免覆盖现有文件

您可以使用-i选项在覆盖前显示提示,但如果您想避免覆盖现有文件,请在 mv 命令中使用-n选项,在-n选项将导致mv命令忽略任何可能覆盖现有文件。

假设您要将多个文件移动到一个目录中,并且您会浪费时间检查该目录中是否已经存在一些同名文件。

在这种情况下,您可以使用该-n选项,如果文件已经存在,它会告诉 mv什么都不做:

mv -n file1 file2 file3 some_dir

仅移动比目标新的文件

您还可以选择使用-u选项移动比目标位置更新的文件,使用-u选项,如果文件不比目标新,文件将不会移动。

在下面的示例中,我们有文件file1,它是在2021 年 10 月 11 日创建的,还有一个 a_dir/file1,它是在2021 年 10 月 12 日创建的,使用-u选项意味着只会移动较新的文件。

由于 file1比a_dir/file1旧 ,因此它不会被覆盖。

mv -u file1 file2 a_dir

备份现有文件

如果你想备份一个即将被覆盖的文件,那么你可以使用-b选项,该-b选项将创建具有相同的名称,并附加一个波形符备份文件。

mv -b file1.txt file2.txt
ls

输出

file2.txt file2.txt~

结论

在本教程中,我们解释了如何使用mv命令及其各种选项来移动或重命名文件和目录。

相关推荐

PC也能装MAX OS X

MACBOOK向来以其时尚的外观以及易用的OSX操作系统成为了时(zhuang)尚(bi)人士的最爱。但是其动不动就上万元的昂贵价格,也将一批立志时(zhuang)尚(bi)人士的拒之门外。但是最近...

一千多元的笔记本能买吗?英特尔11代+大屏幕,豆小谷值得选吗?

前言:有很多粉丝都问过本人,一千多元到底能买到什么样的笔记本?在此笔者只想说,这样的资金预算真的太低了!如果想买全新的,那大概率买的就是性能比较拉垮的上网本,比如搭载英特赛扬N系列、J系列处理器的轻薄...

首款配备骁龙X Elite处理器的Linux笔记本:采用KDE Plasma桌面环境

德国Linux硬件供应商TUXEDOComputers宣布正在开发一款配备高通骁龙XElite处理器(SnapdragonXEliteSoC)的ARM笔记本电脑,内部将该...

System76推出Gazelle Linux笔记本:配酷睿i9-13900H处理器

IT之家3月30日消息,主打Linux硬件的厂商System76于今天发布了新一代Gazelle笔记本电脑,共有15英寸和17英寸两个版本,将于3月30日接受预订,...

Kubuntu Focus Xe Gen 2笔记本发布,预装Linux系统

IT之家3月25日消息,KubuntuFocusXeGen2笔记本于近日发布,这是一款预装Kubuntu22.04LTSGNU/Linux发行版的轻薄本。上一代Kub...

这台Linux笔记本已用上英特尔12代酷睿,最高可选i7-1255U、卖1149美元起

Linux笔记本可能因为比较小众,一般都是拿Windows笔记本换个系统而来,硬件上也会落后同期Windows笔记本一两代,不过现在专门做Linux电脑的System76,推出了一款名为LemurP...

戴尔Inspiron 14 Plus骁龙笔记本迎新补丁,支持启动Linux

IT之家4月25日消息,科技媒体phoronix今天(4月25日)发布博文,报道称最新发布的Linux内核补丁,针对骁龙芯片的戴尔Inspiron14Plus笔记本,让其...

TUXEDO推出InfinityFlex 14二合一Linux笔记本,配i5-1335U

IT之家8月12日消息,Linux硬件企业TUXEDO当地时间本月2日推出了InfinityFlex14二合一Linux笔记本。该笔记本搭载2+8核的英特尔酷睿i5-...

登月探测器嫦娥使用什么操作系统,是Linux还是其它自主研发?

这是不是国家机密啊。事实什么样的不知道,但是从美国的探测器来看,就算不是也是相似的东西。下面我来说说我知道的。龙芯已经随北斗卫星上天了.就算登月探测器嫦娥是用"龙芯+Linux"也不出奇.没必要...

DNS分离解析实验

如果本文对你有帮助,欢迎关注、点赞、收藏、转发给朋友,让我有持续创作的动力目录一、分离解析概述二、实验需求三、实验步骤3.1双网卡服务器配置3.1.1添加两张网卡(内外网)3.1.2对两个网卡进...

一个小实验巩固下进程管理

先回顾下之前的三篇文章:Linux进程在内核眼中是什么样子的?Linux进程线程是如何创建的?Linux是如何调度进程的?通过这三篇文章的学习我们知道,无论内核进程还是用户进程,都是可以用task...

VMware Kali无线WIFI密码破解

WIFI破解前准备工作一张支持Kali系统监听的无线网卡VMware虚拟机安装好Kali系统(本实验用的是Kali2022版本)Kali系统下载、安装官方网站:https://www.kali.or...

python多进程编程

forkwindows中是没有fork函数的,一开始直接在Windows中测试,直接报错importosimporttimeret=os.fork()ifret==0:...

拔电源十台电脑藏后门!德国实验惊曝Windows致命漏洞

2025年4月15日,央视突然曝出一个超级大新闻!原来美国国家安全局通过黑龙江,往微软Windows系统里发送加密信息,激活了系统里藏着的后门程序,想破坏哈尔滨亚冬会!这消息一出来,大家才发现,竟然已...

深度探索RK3568嵌入式教学平台实战案例:设备驱动开发实验

一、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、熟悉基本字符设备的驱动程序...