首页 > 系统相关 >Linux常用基础指令-mv指令

Linux常用基础指令-mv指令

时间:2024-11-22 09:14:15浏览次数:3  
标签:文件 dest mv 指令 Linux path txt 目录

  mv 命令,用来移动文件和目录,实现文件或目录的重命名。相比于 cp 命令(用于复制文件),mv 直接对文件位置或名称进行更改,不创建副本。


1.`mv` 命令的基本语法

mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录
mv [选项] -t 目标目录 源文件...
  • 源文件:要移动或重命名的文件或目录。
  • 目标文件:重命名时指定的新文件名。
  • 目标目录:移动文件或目录的目标位置。

mv 命令的核心功能是移动文件/目录或重命名文件/目录:

  1. 重命名文件/目录
mv oldname.txt newname.txt

oldname.txt 重命名为 newname.txt

  1. 将文件移动到另一个目录
mv test.txt /path/to/dest/

test.txt 移动到 /path/to/dest/ 目录。

  1. 移动多个文件到另一个目录
mv test1.txt test2.txt /path/to/dest/

test1.txttest2.txt 移动到 /path/to/dest/ 目录中。


2.常用选项

mv 命令提供了许多选项,以下是最常用的一些选项及其解释:

1. `-i`:交互模式(默认)

当目标文件已经存在时,提示用户确认是否覆盖目标文件。

mv -i test.txt /path/to/dest/

如果 /path/to/dest/ 目录中已经有 test.txt,系统会提示是否覆盖该文件:

mv:是否覆盖"test/test.txt"?
2. `-f`:强制模式

强制覆盖目标文件,不提示用户。

mv -f test.txt /path/to/dest/

如果 /path/to/dest/ 中有同名文件,-f 选项将直接覆盖它,不会提示确认。

3. `-n`:不覆盖已存在的文件

如果目标文件已经存在,-n 选项会阻止移动操作。

mv -n test.txt /path/to/dest/

使用该选项时,如果目标目录已经有同名文件,mv 将不会执行移动操作,也不会覆盖目标文件。

4. `-v`:详细模式

显示每次移动的详细信息,适合调试或查看操作进展。

mv -v test1.txt /path/to/dest/

输出类似以下信息:

"demo.txt" -> "/www/demo.txt"
5. `-u`:仅移动较新的文件

当源文件比目标文件更新或者目标文件不存在时,才进行移动操作。

mv -u test.txt /path/to/dest/

如果目标目录有同名文件且该文件比源文件新,则不会进行移动操作。

6. `-t`:显式指定目标目录

使用 -t 选项可以明确指定目标目录,不用依赖命令行文件顺序。

mv -t /path/to/dest/ test1.txt test2.txt

这种方式明确了目标目录 /path/to/dest/,文件 test1.txttest2.txt 将被移动到该目录。

7. `-T`:禁止将目标视为目录

如果指定了 -T 选项,mv 将不会将目标视为目录,即使它是目录。

mv -T test1.txt /path/to/existing_directory/

如果 /path/to/existing_directory/ 是一个目录,mv 会出错,因为 -T 选项禁止将目标视为目录。

mv: 无法以非目录来覆盖目录"/www/"

3.跨文件系统移动

  通常在同一文件系统中移动文件非常高效,因为 mv 只是修改了文件的路径信息,不需要实际复制文件内容。然而,当源文件和目标文件位于不同的文件系统时,工作原理如下:

跨文件系统移动的工作原理

  在跨文件系统移动时,mv 实际上是先复制文件,然后删除源文件。具体步骤如下:

  1. 使用类似 cp -a 的方式将源文件复制到目标文件系统。
  2. 如果复制成功,删除源文件。
  3. 如果复制失败,mv 会删除已经复制到目标文件系统的部分文件,从而保持系统的一致性
mv /mnt/source_dir /home/user/dest_dir

  假设源目录 /mnt/source_dir 位于外部存储设备 /mnt/ 中,而目标目录 /home/user/dest_dir 位于本地硬盘上。mv 会先将源目录中的文件复制到目标目录,然后删除原始文件。


标签:文件,dest,mv,指令,Linux,path,txt,目录
From: https://blog.csdn.net/weixin_43993310/article/details/143961188

相关文章

  • 泷羽Sec学习笔记:linux基础之病毒编写
    Linux目录介绍:1. /bin : 二进制可执行命令2. /etc :系统管理和配置文件3. /etc.rc.d :启动的配置文件和脚本4. /home :用户主目录的基点5. /lib :标准程序设计库,又叫动态链接的共享库6. /sbin :超级管理命令,这里存放的是系统管理员使用的......
  • 泷羽Sec学习笔记:linux基础
    opensslpasswd-1123opensslpasswd-1123 openssl是一个开源的加密工具包,提供了各种加密,解密,签名,验证等功能 passwd表示该命令是对密码进行相关的操作 -1参数指定使用MD5加密算法对密码123进行加密处理,使用这个命令可以将密码“123”变为MD5加密后的密文。open......
  • Linux内核中unlikely宏的作用
    Linux内核中unlikely宏的作用在Linux内核中,unlikely宏是一个非常重要的工具,它主要用于指导编译器进行代码优化,以提高程序的执行效率。unlikely宏的定义与作用定义:unlikely宏通常定义为__builtin_expect(!!(x),0),其中x是你要判断的表达式。作用:告诉编译器,表达式x的结果......
  • Linux内核中的PAGE_SHIFT
    Linux内核中的PAGE_SHIFT什么是PAGE_SHIFT?在Linux内核中,PAGE_SHIFT是一个非常重要的宏,它定义了一个页的大小,通常是2的幂次方。这个值表示了虚拟地址空间中一个页的偏移量占用了多少位。换句话说,它告诉我们一个页的大小是多少字节。PAGE_SHIFT的作用页大小的确定:PAGE_SHIFT......
  • 使用mvn install:install-file命令将外部包导入本地仓库
    在工作中,我们可能会接触到对接上游平台,或官方的SDK中,这时候需要将Java的jar包文件引入,并放入maven本地仓库,所以这段命令,用于记忆,下次遇到在翻开,可与大家共勉之在这种情况下,我们可以使用Maven的mvninstall:install-file命令将这些外部包导入到本地仓库中,方便我们在项目中引用......
  • [Linux]进程控制
    进程控制进程创建fork函数作用fork函数的作用是用来创建一个新进程,新进程被称为子进程,而原来的进程称为父进程。返回值fork函数有两个返回值,给父进程返回子进程pid,给子进程返回0。为什么有两个返回值?在执行fork函数的时候,当fork函数的核心逻辑已经执行完成,准备return时,......
  • Linux下 GDB调试器的使用
    文章目录1.可执行程序的Debug版和Release版区别一、编译选项与目的二、性能与体积三、功能与特性四、查看可执行文件2.GDB相关命令GDB常用命令1.可执行程序的Debug版和Release版区别一、编译选项与目的Debug版:编译选项:通常使用包含调试信息的编译选项,如/MDd......
  • Nature-Chat润色指令——ChatGPT帮助我完成学术写作的三种方法
    https://mp.weixin.qq.com/s/ppszMUR6TvW_mmpQg4UQCAhttps://ziuch.com/article/three-ways-chatgpt-helps-me-in-my-academic-writing2024年4月8日,《Nature》刊发的专栏文章《ThreewaysChatGPThelpsmeinmyacademicwriting》引发了学界广泛关注。作为《Personalityand......
  • 使用再生龙CloneZilla进行Linux系统的镜像完全封装和还原
    写文章  使用再生龙CloneZilla进行Linux系统的镜像完全封装和还原巴布改不掉晚睡的咸鱼​关注 71人赞同了该文章CloneZilla可以将Linux完整移植到另一台机器中,保证数据,分区,挂载,启动项。。所有的一切完全一致注意:进行还原的机器需要......
  • Linux基础——yum downgrade和yum localinstall降级安装
    一、问题描述需求:租户需要从openssl-1.1.1t-11降级安装openssl-1.1.1f-36,安装包相关依赖问题;报错:rpm安装提示依赖问题 报错:yumlocalinstall本地rpm包无法安装; 二、解决办法1、方法一:yumdowngrade降级#通过本地rpm包或在线yum源安装,加上参数“--allowerasing”允许......