首页 > 系统相关 >每天学一个 Linux 命令(18):mv

每天学一个 Linux 命令(18):mv

时间:2024-07-17 14:56:03浏览次数:16  
标签:rw -- 18 centos7 mv Linux txt root

命令简介

mv 命令用于移动并重命名文件和目录。或者将文件从一个目录移动到另一个目录中,如果将一个文件移动到一个已经存在的目标文件中,这时目标文件的内容会被此文件内容覆盖。

如果源为文件,而目标为目录,mv 将进行文件的位置移动。如果源为目录,则目标只能是目录(不能为文件),mv 将进行目录的重命令名。

mv 命令移动文件时,在目标不同的情况下,会有下面4种不同的结果:

  • 如果目标是指定的某一个具体路径,则源文件会被移动到此目录下,且文件名不变。
  • 如果目标不是目录,则源文件名(只能有一个)会变为此目标文件名,如果存在同名文件,则会覆盖己存在的同名文件。
  • 如果源文件和目标文件在同一个目录下,mv 的作用就是修改文件名。
  • 当目标是目录时,源文件或目录可以是多个,这时所有的源文件都会被移至目标目录下。且所有的文件都将保留以前的文件名。

语法格式

mv [选项] 源文件或目录 目标文件或目录
mv [options] source destination

选项说明

-b   #当文件存在时,覆盖前,为其创建一个备份
-f   #如果移到的文件或目录与目标重复,则直接覆盖
-i   #交互式操作,覆盖前会提示用户进行确认操作,用户通过输入Y/N来确认是否覆盖
-u   #若目标文件已存在,且与需移动的文件同名,只有在源文件比目标文件较新时,才会更新目标文件
-t   #指定mv的目标目录,此选项使用于移动多个文件到一个目录的情况,此时目标文件在前,源文件在后。
-S<后缀>:#为备份文件指定后缀,而不使用默认的后缀(删除源文件中的斜杠“/”)
-n  #不覆盖任何现有文件
-T  #将目标当作普通文件,而不是目录
-v  #详细输出命令的执行过程

应用举例

#移动文件到目标目录
[root@centos7 testdir]# ll
total 0
-rw-r--r-- 1 root root 0 Feb 25  2021 filetest
-rw-r--r-- 1 root root 0 Feb 25  2021 testfile
[root@centos7 ~]# mv mingongge.txt testdir/
[root@centos7 ~]# ll testdir/
total 0
-rw-r--r-- 1 root root 0 Feb 25  2021 filetest
-rw-r--r-- 1 root root 0 Jan  2 08:43 mingongge.txt
-rw-r--r-- 1 root root 0 Feb 25  2021 testfile

#移动并重命令文件
[root@centos7 testdir]# mv mingongge.txt test/mingongge
[root@centos7 testdir]# ll test/
total 0
-rw-r--r-- 1 root root 0 Jan  2 08:50 mingongge

如果目标位置有同名文件,我们不希望它被覆盖,可以加上-n选项。

[root@centos7 testdir]# ll *.txt dir/*.txt
-rw-r--r-- 1 root root 0 Jan  2 08:58 dir/test1.txt
-rw-r--r-- 1 root root 0 Jan  2 08:58 dir/test2.txt
-rw-r--r-- 1 root root 0 Jan  2 09:03 test1.txt
-rw-r--r-- 1 root root 0 Jan  2 08:57 test2.txt
-rw-r--r-- 1 root root 0 Jan  2 09:03 test3.txt
[root@centos7 testdir]# mv -nv *.txt dir/
‘test3.txt’ -> ‘dir/test3.txt’    
#目标目录中没有test3.txt文件,所以移动成功
[root@centos7 testdir]# ll
total 0
drwxr-xr-x 2 root root 57 Jan  2 09:04 dir
-rw-r--r-- 1 root root  0 Jan  2 09:03 test1.txt
-rw-r--r-- 1 root root  0 Jan  2 08:57 test2.txt

备份功能

#如果test2.txt存在,它将会被重命令为test2.txt,原来的文件会被备份
[root@centos7 dir]# cat test1.txt 
1
[root@centos7 dir]# cat test2.txt 
2
[root@centos7 dir]# mv -b test1.txt test2.txt
mv: overwrite ‘test2.txt’? y
[root@centos7 dir]# ll
total 12
-rw-r--r-- 1 root root 2 Jan  2 09:12 test2.txt
-rw-r--r-- 1 root root 2 Jan  2 09:12 test2.txt~
-rw-r--r-- 1 root root 2 Jan  2 09:12 test3.txt
[root@centos7 dir]# cat test2.txt
1
[root@centos7 dir]# cat test2.txt~
2
#如果test3.txt存在,它将会被重命令为test3.txt.bak
[root@centos7 dir]# mv -b --suffix=.bak test2.txt test3.txt
mv: overwrite ‘test3.txt’? y
[root@centos7 dir]# ll
total 12
-rw-r--r-- 1 root root 2 Jan  2 09:12 test2.txt~
-rw-r--r-- 1 root root 2 Jan  2 09:12 test3.txt
-rw-r--r-- 1 root root 2 Jan  2 09:12 test3.txt.bak
[root@centos7 dir]# cat test3.txt
1
[root@centos7 dir]# cat test3.txt.bak 
3

标签:rw,--,18,centos7,mv,Linux,txt,root
From: https://www.cnblogs.com/xxllx/p/18307356

相关文章

  • [定时任务未实现]Linux制定定时任务未生效
    定时任务:$crontab-l#deletearchivelogbefore7days0002***sh/home/oracle/tkdba/del_arch.sh>>/home/oracle/tkdba/logs/del_arch.log.$(date+%F)2>&1观察定时任务没有执行,临时文件没有清理。通过分析日志/var/log/cron,这里$(date+%F)未执行。Jul1523:30......
  • [N1CTF 2018]eating_cms 1
    信息收集,文件上传,rce,代码审计打开之后是一个登录页面,同时他的url是login,呢么第一反应应该是看看有没有register.php发现是有的,..但是admin是注册不了的,呢么我们先随机注册一个尝试看看能不能更改权限,登陆上之后发现是没有session的也就是目前没办法切换admin账号,但是url可......
  • Linux 提权-密码搜寻
    本文通过Google翻译PasswordHunting–LinuxPrivilegeEscalation这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0前言1密码搜寻–文件名和文件内容1.1寻找有趣的文件名1.2寻找有趣的字符串2密码搜寻–Web文......
  • Linux 查看 && 修改端口范围限制
    1.显示当前临时端口的范围:sysctlnet.ipv4.ip_local_port_range或 cat/proc/sys/net/ipv4/ip_local_port_range一般情形下:linux临时端口号范围是(32768,61000)2.暂时性修改临时端口的范围:#echo102465535>/proc/sys/net/ipv4/ip_local_port_range或者 sudosysctl-wne......
  • MViT:性能杠杠的多尺度ViT | ICCV 2021
    论文提出了多尺度视觉Transformer模型MViT,将多尺度层级特征的基本概念与Transformer模型联系起来,在逐层扩展特征复杂度同时降低特征的分辨率。在视频识别和图像分类的任务中,MViT均优于单尺度的ViT。来源:晓飞的算法工程笔记公众号论文:MultiscaleVisionTransformers论文......
  • CANXL协议解读系列 | (2)一文读懂ISO 11898-2:2024 CANXL物理层
        2024年3月22日,ISO推出11898-2:2024版本,标志着CAN总线收发器的最高速率由CANFD行业认可的8Mbit/s提速到最高20Mbit/s(2024年5月24日ISO11898-12024已发表)。20Mbit/s的传输带宽不仅填补了CAN与Ethernet之间速率差距,2048Byte的payload和实时性的保留也给CAN网络本身带来......
  • qt程序在Linux环境下写入系统日志及做成服务
    一、将日志写入linux系统日志1、添加头文件#include<syslog.h>2、写入日志QStringlog="logtowrite";syslog(LOG_INFO,"%s",log.toStdString().c_str()); 二、将qt控制后程序做成linux服务参考:https://blog.csdn.net/CLinuxF/article/details/1298330081、在程序所在......
  • 《深入探索 Linux 系统:从入门到精通的全面指南》
    更多内容,可前往官方网站进行浏览LinuxKernelDocumentation:        这是Linux内核的官方文档网站,包含了详细的内核开发和使用指南。非常适合需要深入了解Linux内核架构和功能的用户。CentOSOfficialDocumentation:这是CentOS的官方文档网站,提供了关......
  • [Linux+git+Gitee+Jenkins]持续集成实验安装配置详细
    首先理解持续集成原理,看懂并理解图1。图1持续集成原理结构图1中,版本控制服务器指远程代码仓库,本实验使用GitEE作为远程代码仓库;Jenkins自动化部署服务器为虚拟机,操作系统为Linux;服务器1…n为应用服务器,可使用自己物理机作为应用服务器。详......
  • Java面试 (5) :SSM(Spring框架、Spring MVC、MyBatis…)
    Java面试——SSM基础知识:Spring框架、SpringMVC、MyBatis…文章目录1String框架1.1IOC和DI1.2Bean1.2.1作用域1.2.2自动装配模式1.2.3生命周期1.2.3.1doGetBean()源码1.2.3.2七个阶段详解1.2.4Bean线程安全1.3常用的Spring注解1.4事务1.4.1Spring事务......