百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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

sinye56 2024-11-13 12:34 26 浏览 0 评论

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命令及其各种选项来移动或重命名文件和目录。

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: