Linux系统之mv命令的基本使用

Linux系统之mv命令的基本使用

  • 一、mv命令介绍
    • 1. mv命令简介
    • 2. mv命令的使用结果
  • 二、mv命令的使用帮助
    • 1. 在命令行的帮助信息
    • 2. mv常用选项
  • 三、mv命令的基本使用
    • 1. 创建源目录和目标目录
    • 2. 新建测试文件
    • 3. 将源目录文件复制到目标目录
    • 4. 将文件进行改名
    • 5. 将目录的所有文件转移到目标目录
    • 6. 移动多个文件到目标目标
    • 7. 移动目录
    • 8. 覆盖文件
  • 四、mv的日常使用
    • 1. 提示是否覆盖文件
    • 2. 覆盖文件时对源文件备份
    • 3. 强制覆盖文件
    • 4. 打印转移信息
    • 5. 源文件比目标文件新时才执行更新
  • 五、注意事项

在这里插入图片描述

一、mv命令介绍

1. mv命令简介

mv命令主要是在Linux系统中用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

2. mv命令的使用结果

  • mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有不同的结果:

1.如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2.如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
3.如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。
4.当目标文件是目录时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标目录中。所有移到该目录下的文件都将保留以前的文件名。

二、mv命令的使用帮助

1. 在命令行的帮助信息

在命令行的,mv --help显示mv的帮助信息。

[root@jeven ~]# mv --help
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
  -f, --force                  do not prompt before overwriting
  -i, --interactive            prompt before overwrite
  -n, --no-clobber             do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.
      --strip-trailing-slashes  remove any trailing slashes from each SOURCE
                                 argument
  -S, --suffix=SUFFIX          override the usual backup suffix
  -t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY
  -T, --no-target-directory    treat DEST as a normal file
  -u, --update                 move only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
  -Z, --context                set SELinux security context of destination
                                 file to default type
      --help     display this help and exit
      --version  output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mv invocation'

2. mv常用选项

mv命令的常用选项

--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

三、mv命令的基本使用

1. 创建源目录和目标目录

创建一个源目录和目标目录

[root@jeven ~]# mkdir /source
[root@jeven ~]# mkdir /target

2. 新建测试文件

在源目录和目标目录分别新建测试文件。

[root@jeven ~]# touch /source/sou_file{01..03}.txt
[root@jeven ~]# ls /source/
sou_file01.txt  sou_file02.txt  sou_file03.txt

[root@jeven ~]# touch /target/tar_file{01..03}.txt
[root@jeven ~]# ls /target/
tar_file01.txt  tar_file02.txt  tar_file03.txt

3. 将源目录文件复制到目标目录

将/source/sou_file01.txt 复制到/target/目录下

[root@jeven ~]# mv /source/sou_file01.txt /target/
[root@jeven ~]# ls /target/
sou_file01.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

4. 将文件进行改名

在同一目录下将文件进行改名,例如在target/目录,将sou_file01.txt改名为aa_test.txt

[root@jeven ~]#  cd  /target/
[root@jeven target]# mv sou_file01.txt  aa_test.txt
[root@jeven target]# ls /target/
aa_test.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

5. 将目录的所有文件转移到目标目录

将/source/目录的所有文件,转移到目标目录 /target/

[root@jeven ~]# mv /source/*  /target/
[root@jeven ~]# ls /target/
aa_test.txt  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

6. 移动多个文件到目标目标

将/test/目录下的file01和file02文件转移到目标目录/target

[root@jeven ~]# mv /test/file01 /test/file02 /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

7. 移动目录

将/test目录移动到/target目录

[root@jeven ~]# mv /test/ /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt  test

8. 覆盖文件

在/source目录下,创建两个文件,并写入内容。

root@jeven ~]# cd /source/
[root@jeven source]# ls
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# cat aa.txt 
11
[root@jeven source]# cat bb.txt 
22

当源文件aa.txt和目标文件bb.txt都存在时,源文件会变成目标文件bb.txt,并覆盖原来的bb.txt文件。

[root@jeven source]# mv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11

四、mv的日常使用

1. 提示是否覆盖文件

在当覆盖文件时,提示是否覆盖文件,默认mv命令加了-I

[root@jeven source]# mv -i aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11

[root@jeven source]# alias |grep mv
alias mv='mv -i'

2. 覆盖文件时对源文件备份

使用mv -b,在覆盖文件时,对源文件进行备份。

[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# mv -b aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt  bb.txt~
[root@jeven source]# cat bb.txt
11
[root@jeven source]# cat bb.txt~
22

3. 强制覆盖文件

使用mv -f 强制覆盖文件。

mv -f aa.txt bb.txt 

4. 打印转移信息

使用mv -v打印移动信息

[root@jeven source]# mv -v /source/bb.txt /target/
‘/source/bb.txt’ -> ‘/target/bb.txt’

5. 源文件比目标文件新时才执行更新

当源文件是最新更新时,才可以覆盖目标文件。

  • 目标文件比源文件更新时,不执行覆盖操作。
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]#  echo 22 > bb.txt
[root@jeven source]# mv -uv aa.txt bb.txt 
[root@jeven source]# ls
aa.txt  bb.txt

  • 源文件比目标文件更新时,执行覆盖操作。
[root@jeven source]# echo ee > aa.txt 
[root@jeven source]# mv -uv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
‘aa.txt’ -> ‘bb.txt’
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
ee

五、注意事项

在Linux中使用mv命令时,有几个注意事项可以帮助你更安全、有效地操作文件和目录:

  1. 权限问题:确保你有足够的权限去移动或重命名文件。如果没有,mv命令会失败,除非使用了sudo(对于需要提升权限的操作)。

  2. 覆盖风险:默认情况下,如果你尝试移动一个文件到一个已存在的同名文件的位置,mv会直接覆盖目标文件,不会询问。为了避免意外覆盖,可以使用-i(interactive)选项,这样在覆盖前会提示确认。

  3. 备份原文件:使用-b选项可以在覆盖文件前自动创建一个备份,这对于保护重要数据很有帮助。

  4. 移动与重命名的区别:当第二个参数是文件名时,视为重命名操作;当是目录名时,则是移动操作。确保正确指定目标以达到预期效果。

  5. 跨文件系统移动:跨文件系统移动文件时,mv实际上是先复制再删除原文件。这意味着如果操作过程中出现错误(如空间不足),可能会丢失原文件。

  6. 目录操作:移动目录时,记得在目标路径后加斜杠(/),这可以避免在目标目录不存在时意外地将源目录作为目标目录的一个子目录移动进去。

  7. 批量操作:可以同时移动多个文件或目录,只需在源文件列表中列出它们,但目标必须是一个已存在的目录。

  8. 符号链接:移动符号链接会移动链接本身而不是链接指向的文件。若要移动实际文件,需要使用-L选项来跟踪并移动链接指向的目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/680092.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows下使用Airsim+QGC进行PX4硬件在环HITL(三)

Windows下使用AirsimQGC进行PX4硬件在环HITL This tutorial will guide you through the installation of Airsim and QGC on Windows, so that the hardware-in-the-loop experiment can be conducted. Hardware-in-the-Loop (HITL or HIL) is a simulation mode in which nor…

功效系数法

功效系数法&#xff08;Efficacy Coefficient Method&#xff09;是一种综合评价方法&#xff0c;它根据多目标规划的原理&#xff0c;对每个评价指标确定一个满意值和不允许值&#xff0c;以满意值为上限&#xff0c;以不允许值为下限。计算各指标实现满意值的程度&#xff0c…

以太网扫盲(四)phy驱动link up流程分析

1. 简介 在调试网口驱动的过程中发现phy芯片的驱动框架结构还有点复杂&#xff0c;不仔细研究的话还不好搞懂&#xff0c;另外百度到的资料也不够全面&#xff0c;这篇就总结梳理一下这方面的知识。 我们知道一个 phy 驱动的原理是非常简单的&#xff0c;一般流程如下&#x…

AI视频教程下载:给初学者的ChatGPT提示词技巧

你是否厌倦了花费数小时在可以通过强大的语言模型自动化的琐碎任务上&#xff1f;你是否准备好利用 ChatGPT——世界上最先进的语言模型——并将你的生产力提升到下一个水平&#xff1f; ChatGPT 是语言处理领域的游戏规则改变者&#xff0c;它能够理解并响应自然语言&#xf…

[笔记] 记录docker-compose使用和Harbor的部署过程

容器技术 第三章 记录docker-compose使用和Harbor的部署过程 容器技术记录docker-compose使用和Harbor的部署过程Harborhttps方式部署&#xff1a;测试环境部署使用自签名SSL证书https方式部署&#xff1a;正式环境部署使用企业颁发的SSL证书给Docker守护进程添加Harbor的SSL证…

C++面向对象-继承,多态,重载

目录 零. 简介 一. 继承 1.基类,派生类 2.访问控制和继承: 3.多继承 二. 多态 关键字 virtual override : 用例:工厂模式 三. 重载 函数重载: 操作符重载: 零. 简介 继承&#xff1a;允许一个类从另一个类获取属性和方法。子类可以继承父类的特性&#xff0c;并可以…

python11 序列的相关操作

枚举遍历 序列的相关操作 text "hello,python" # in 判断字符是否在序列中&#xff0c;存在返回true,否则返回false print(p是否存在:,(p in text)) print(a是否存在:,(a in text)) # not in 判断字符不在序列中&#xff0c;不存在返回true,否则返回false print(p不…

代码随想录——二叉搜索树的最近公共祖先(Leetcode235)

题目链接 普通递归法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode…

python猴子补丁Monkey Patching

猴子补丁&#xff08;Monkey Patching&#xff09;是一种动态修改或扩展代码行为的技术。具体来说&#xff0c;它是在运行时改变或扩展模块、类或函数的行为&#xff0c;而不需要修改源代码本身。这在某些情况下非常有用&#xff0c;比如&#xff1a; 修复第三方库中的bug&…

MySQL中所有常见知识点汇总

存储引擎 这一张是关于整个存储引擎的汇总知识了。 MySQL体系结构 这里是MySQL的体系结构图&#xff1a; 一般将MySQL分为server层和存储引擎两个部分。 其实MySQL体系结构主要分为下面这几个部分&#xff1a; 连接器&#xff1a;负责跟客户端建立连 接、获取权限、维持和管理…

C++高级 - 接口模板

目录 一. 接口 二. 模板 一. 接口 接口通常是通过抽象类或纯虚函数来实现的。 以下是一个使用抽象类来定义接口的示例代码&#xff1a; #include <iostream>class Interface { public:virtual void operation() 0; // 纯虚函数定义接口 };class ConcreteClass : pu…

Windows CMD对MySQL进行基本操作的常用命令

目录 前言1. 数据库操作2. 表操作3. 记录操作4. 备份与恢复数据库 前言 对于基本的命令行以及优化推荐阅读&#xff1a; 数据库中增删改常用语法语句&#xff08;全&#xff09;Mysql优化高级篇&#xff08;全&#xff09;命令行登录Mysql的详细讲解 启动MySQL服务&#xff1…

渐开线花键学习之齿厚(实际作用怎么分?)

国标GB/T 3478.1-2008中对渐开线花键的齿厚相关的描述如下&#xff1a; 【基本齿槽宽】E&#xff08;basic space width&#xff09;内花键分度圆上弧齿槽宽的基本尺寸&#xff0c;其值为齿距的一半。 【实际齿槽宽】&#xff08;actual space width&#xff09;在内花键分度…

机器学习算法 —— 逻辑回归

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 逻辑回归逻辑回归的介绍逻辑回归的优点逻辑回归的缺点逻辑回归的应用 实践演示库函数导入模型训练模型参数查看数据和模型可视化模型预测 …

CCIG 2024:大模型技术及其前沿应用论坛深度解析

一、CCIG论坛介绍 中国图象图形大会&#xff08;CCIG 2024&#xff09;是一场备受瞩目的学术盛会&#xff0c;近期在陕西省西安市曲江国际会议中心举行。这次会议以“图聚智生&#xff0c;象合慧成”为主题&#xff0c;由中国图象图形学学会主办&#xff0c;旨在汇聚图像图形领…

12 - 常用类

那就别跟他们比&#xff0c;先跟自己比&#xff0c;争取今天比昨天强一些&#xff0c;明天比今天强一些。 1.包装类 针对八种基本数据类型封装的相应的引用类型。 有了类的特点&#xff0c;就可以调用类中的方法。&#xff08;为什么要封装&#xff09; 基本数据类型包装类b…

b端系统项目进度巡检设备物资劳务台账等OA前端UI设计开发

b端系统项目进度巡检设备物资劳务台账等OA前端UI设计开发

phpstudy配置的站点不能访问了

无法打开站点 打开网站的时候出现如下 没有人为主动去更改配置项&#xff0c;今天就不能正常访问了 检查了一遍配置&#xff0c;发现并无大碍&#xff0c;那就重新配置一遍看看 配置phpstudy 1、新建网站 2、选择项目入口文件夹 3、配置伪静态 4. 确认保存 在我的电脑 C:\…

公安视频图像信息数据库及GA/T 1400视图库视频监控系统的使用场景

随着科技的快速发展&#xff0c;大数据、人工智能等新技术不断融入各行各业&#xff0c;为各行各业带来了前所未有的变革。在公安领域&#xff0c;GA/T 1400协议公安视频图像信息数据库的应用为视频监控场景提供了强有力的支持&#xff0c;极大地提升了公安工作的效率和准确性。…