Linux文件目录操作命令-mv命令

这篇具有很好参考价值的文章主要介绍了Linux文件目录操作命令-mv命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、mv命令

        mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 

1.命令格式

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

2.命令功能

mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数

  • -b:若需覆盖文件,则覆盖前先行备份。
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会更新(update)
  • -t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

4.命令实例

实例一

文件改名
命令:

mv test.log new-test.log

输出:

tianyuanmengniu@ubuntu:~/mkdir/test$ ll
total 12
drwxrwxr-x 2 yiibai yiibai 4096 Feb 12 17:56 ./
drwxrwxr-x 7 yiibai yiibai 4096 Feb 12 17:28 ../
-rw-rw-r-- 1 yiibai yiibai   13 Feb 12 17:56 test.log
tianyuanmengniu@ubuntu:~/mkdir/test$

tianyuanmengniu@ubuntu:~/mkdir/test$ mv test.log new-text.log
tianyuanmengniu@ubuntu:~/mkdir/test$ ll
total 12
drwxrwxr-x 2 yiibai yiibai 4096 Feb 12 17:57 ./
drwxrwxr-x 7 yiibai yiibai 4096 Feb 12 17:28 ../
-rw-rw-r-- 1 yiibai yiibai   13 Feb 12 17:56 new-text.log
tianyuanmengniu@ubuntu:~/mkdir/test$

说明: 将文件text.log重命名为new-text.log

实例二

移动文件
命令:

mv test1.txt test3

输出:

tianyuanmengniu@ubuntu:~/mkdir/test$ ll
total 16
drwxrwxr-x 2 yiibai yiibai 4096 Feb 12 17:59 ./
drwxrwxr-x 7 yiibai yiibai 4096 Feb 12 17:28 ../
-rw-rw-r-- 1 yiibai yiibai   13 Feb 12 17:56 new-text.log
-rw-rw-r-- 1 yiibai yiibai   17 Feb 12 18:00 test.txt
tianyuanmengniu@ubuntu:~/mkdir/test$ mv test.txt /home/yiibai/mv-text.txt

tianyuanmengniu@ubuntu:~/mkdir/test$ ls /home/yiibai/
Desktop    Downloads         mkdir  mv-text.txt  Public     Videos
Documents  examples.desktop  Music  Pictures     Templates
tianyuanmengniu@ubuntu:~/mkdir/test$

说明:将test.txt文件移到目录/home/yiibai/中,并重命名为:mv-text.txt

实例三

test目录下的文件log1.txt,log2.txt,log3.txt移动到目录test3中。

命令:

mv log1.txt log2.txt log3.txt /home/yiibai/test3
## or
mv -t /home/yiibai/test3/ log1.txt log2.txt log3.txt

输出:

[tianyuanmengniu@localhost test]$ pwd
/home/yiibai/test
[tianyuanmengniu@localhost test]$ mv log1.txt log2.txt log3.txt /home/yiibai/test3
[tianyuanmengniu@localhost test]$ ll
total 0
[tianyuanmengniu@localhost test]$ ll /home/yiibai/test3
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log3.txt

说明:
mv log1.txt log2.txt log3.txt test3这个命令将log1.txtlog2.txtlog3.txt 三个文件移到 test3 目录中去,mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt 命令又将三个文件移动到test4目录中去。

实例四

将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
命令:

mv -i log1.txt log2.txt

输出:

[tianyuanmengniu@localhost test]$ ll
total 8
-rw-rw-r--. 1 yiibai yiibai 20 Feb 12 22:39 log1.txt
-rw-rw-r--. 1 yiibai yiibai 30 Feb 12 22:39 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:38 log3.txt
[tianyuanmengniu@localhost test]$ cat log1.txt
just a test content
[tianyuanmengniu@localhost test]$ cat log2.txt
this is file:log2.txt content
[tianyuanmengniu@localhost test]$ mv -i log1.txt log2.txt
mv: overwrite ‘log2.txt’? y
[tianyuanmengniu@localhost test]$ cat log2.txt
just a test content
[tianyuanmengniu@localhost test]$

实例五

将文件file1改名为file2,即使file2存在,也是直接覆盖掉。

命令:

mv -f log3.txt log2.txt

输出:

[tianyuanmengniu@localhost test]$ ll
total 4
-rw-rw-r--. 1 yiibai yiibai 20 Feb 12 22:39 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:38 log3.txt
[tianyuanmengniu@localhost test]$ cat log2.txt
just a test content
[tianyuanmengniu@localhost test]$ cat log3.txt
[tianyuanmengniu@localhost test]$ echo 'this is log3.txt content' >> log3.txt
[tianyuanmengniu@localhost test]$
[tianyuanmengniu@localhost test]$ ll
total 8
-rw-rw-r--. 1 yiibai yiibai 20 Feb 12 22:39 log2.txt
-rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log3.txt
[tianyuanmengniu@localhost test]$ cat log2.txt
just a test content
[tianyuanmengniu@localhost test]$ cat log3.txt
this is log3.txt content
[tianyuanmengniu@localhost test]$ mv -f log3.txt log2.txt
[tianyuanmengniu@localhost test]$ cat log2.txt
this is log3.txt content
[tianyuanmengniu@localhost test]$ ll
total 4
-rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log2.txt
[tianyuanmengniu@localhost test]$

说明: log3.txt的内容直接覆盖了log2.txt内容,-f 这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它,因为可能没有任何提示直接就执行了。

实例六:目录的移动

命令:

mv dir1 dir2

输出:

[tianyuanmengniu@localhost test4]$ ls
test41
[tianyuanmengniu@localhost test4]$ cd ..
[tianyuanmengniu@localhost ~]$ ll
total 0
drwxrwxr-x. 2 yiibai yiibai 38 Feb 12 22:44 test
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test1
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test2
drwxrwxr-x. 2 yiibai yiibai 54 Feb 12 22:35 test3
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost ~]$
[tianyuanmengniu@localhost ~]$
[tianyuanmengniu@localhost ~]$
[tianyuanmengniu@localhost ~]$ ll
total 0
drwxrwxr-x. 2 yiibai yiibai 38 Feb 12 22:44 test
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test1
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test2
drwxrwxr-x. 2 yiibai yiibai 54 Feb 12 22:35 test3
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost ~]$ cd test3
[tianyuanmengniu@localhost test3]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log3.txt
[tianyuanmengniu@localhost test3]$ cd ..
[tianyuanmengniu@localhost ~]$ cd test4/
[tianyuanmengniu@localhost test4]$ ls
test41
[tianyuanmengniu@localhost test4]$ cd ..
[tianyuanmengniu@localhost ~]$ mv test4 test3
[tianyuanmengniu@localhost ~]$ ll
total 0
drwxrwxr-x. 2 yiibai yiibai 38 Feb 12 22:44 test
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test1
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test2
drwxrwxr-x. 3 yiibai yiibai 67 Feb 12 22:48 test3
[tianyuanmengniu@localhost ~]$ ll test3/
total 0
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log3.txt
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost ~]$

说明:如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。

实例7

移动当前文件夹下的所有文件到上一级目录。
命令:

mv * ../

输出:

[tianyuanmengniu@localhost ~]$ cd test
[tianyuanmengniu@localhost test]$ ls
log2.txt  log3.txt
[tianyuanmengniu@localhost test]$
[tianyuanmengniu@localhost test]$
[tianyuanmengniu@localhost test]$ ll
total 4
-rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:44 log3.txt
[tianyuanmengniu@localhost test]$ cd ..
[tianyuanmengniu@localhost ~]$
[tianyuanmengniu@localhost ~]$
[tianyuanmengniu@localhost ~]$ pwd
/home/yiibai
[tianyuanmengniu@localhost ~]$ cd test
[tianyuanmengniu@localhost test]$ ll
total 4
-rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:44 log3.txt
[tianyuanmengniu@localhost test]$ mv * ../
[tianyuanmengniu@localhost test]$ cd ..
[tianyuanmengniu@localhost ~]$ ll
total 4
-rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:44 log3.txt
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:55 test
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test1
drwxrwxr-x. 2 yiibai yiibai  6 Feb 12 22:33 test2
drwxrwxr-x. 3 yiibai yiibai 67 Feb 12 22:48 test3

实例八

把当前目录的一个子目录里的文件移动到另一个子目录中。
命令:

mv test3/*.txt test5

输出:

[tianyuanmengniu@localhost test3]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log3.txt
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost test3]$
[tianyuanmengniu@localhost test3]$
[tianyuanmengniu@localhost test3]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai  0 Feb 12 22:33 log3.txt
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost test3]$ cd ..
[tianyuanmengniu@localhost ~]$ mv test3/*.txt test5/
[tianyuanmengniu@localhost ~]$ ll test5/
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log3.txt
[tianyuanmengniu@localhost ~]$ ll test3/
total 0
drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
[tianyuanmengniu@localhost ~]$

实例九

文件被覆盖前做简单备份,前面加参数-b
命令:

mv log1.txt -b log2.txt

输出:

[tianyuanmengniu@localhost test5]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log1.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log3.txt
[tianyuanmengniu@localhost test5]$ mv log1.txt -b log2.txt
[tianyuanmengniu@localhost test5]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log2.txt~
-rw-rw-r--. 1 yiibai yiibai 0 Feb 12 22:33 log3.txt
[tianyuanmengniu@localhost test5]$

一些补充说明:文章来源地址https://www.toymoban.com/news/detail-430552.html

  • -b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。
  • —backup该选项指定如果目标文件存在时的动作,共有四种备份策略:
    • 1.CONTROL=noneoff : 不备份。
    • 2.CONTROL=numbered或t:数字编号的备份
    • 3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1…n:
      执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。
    • 4.CONTROL=simplenever:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

到了这里,关于Linux文件目录操作命令-mv命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux-centos使用mv移动文件到指定目录

    格式: 主要参数 -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

    2024年02月11日
    浏览(42)
  • 快速上手Linux核心命令(三):文件和目录操作命令

    目录 前言 cd 切换目录 pwd 显示当前路径 ls 显示目录下内容及相关属性信息 mkdir 创建目录 tree 以树形结构显示目录下的内容 touch 创建空白文件或改变文件的时间戳属性 cp 复制文件或目录 mv 移动或重命名文件 rm 删除文件或目录 chown 改变文件或目录的用户用户组 chmod 改变文件

    2023年04月23日
    浏览(46)
  • Linux 终端命令之文件目录操作,对比Dos相关命令

    目录 前言 基础命令(文件目录相关的) cd命令 【英文帮助】 【对应Dos命令】 pwd命令 【英文帮助】 【对应Dos命令】 ls命令 【英文帮助】 【对应Dos命令】 tree命令 【英文帮助】 【对应Dos命令】 mkdir命令 【英文帮助】 【对应Dos命令】 rmdir/rm命令 【英文帮助】 【对应Dos命令

    2024年02月11日
    浏览(27)
  • Linux命令集(Linux文件管理命令--mv指令篇)

    如下为笔者总结出在 linux 中最常用的 mv 指令集 🌟希望能够帮助正在Linux路上奋斗的你🌟 移动或重命名文件或目录 短选项 长选项 描述 -b -- 在执行覆盖前,为目标文件创建一个备份 -f --force 不提示用户直接强制覆盖目标文件而进行操作 -i --interactive 如果目标文件已经存在,

    2024年02月02日
    浏览(42)
  • 【Shell 命令集合 文件管理】Linux 移动文件命令 mv命令使用指南

    Shell 命令专栏:Linux Shell 命令全解析 mv 命令是Linux中用于移动或重命名文件和目录的命令。它的基本语法如下: mv 命令可以有以下几种用法: 移动文件或目录:将源文件或目录移动到目标位置。如果目标位置是一个目录,则将源文件或目录移动到该目录下。如果目标位置是

    2024年02月09日
    浏览(53)
  • Linux操作系统设置图形化界面及目录和文件管理常用命令

    目录 1.安装图形化界面  2.开机启动图形化界面 dos界面与图形化界面切换快捷键 3.Windows与Linux文件系统的差别  4.Linux文件系统常用命令  5.使用pwd命令显示工作目录路径 6.绝对路径和相对路径  7.使用ls命令列出目录和文件信息 Linux默认情况下是不会安装图形界面的,所以需要

    2024年02月05日
    浏览(45)
  • Linux基础命令 - 文件及目录操作, 打印输出, 查找命令, 用户及权限管理, vi的使用等

    vi - 纯文本编辑器 vi命令 是UNIX操作系统和类UNIX操作系统中最通用的 全屏幕 纯文本编辑器。Linux中的vi编辑器叫 vim ,它是vi的 增强版 (vi Improved),与vi编辑器 完全兼容 ,而且实现了很多 增强功能 。 vi编辑器支持 编辑模式 和 命令模式 ,编辑模式下可以完成文本的编辑功

    2024年02月06日
    浏览(58)
  • Linux移动文件夹(文件)到其他文件夹 / 复制到其他文件夹 【cp / mv命令】

    1)将一个文件夹复制到另一个文件夹下(一般复制一个项目的时候,直接使用这个命令) cp -r /home/packageA /home/packageB 运行命令之后packageB文件夹下就有packageA文件夹了。  2)将一个文件夹下的所有内容复制到另一个文件夹下(这种一般是复制很多小文件的时候使用) cp -r /

    2024年02月06日
    浏览(43)
  • 完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名

    什么是 mv 命令? mv 命令是Linux和Unix系统中的一个常用命令,用于移动文件或重命名文件。它可以将文件从一个位置移动到另一个位置,也可以修改文件的名称。 mv 命令的作用和功能是什么? mv 命令主要有两个作用:移动文件和重命名文件。通过使用 mv 命令,您可以将文件

    2024年02月05日
    浏览(37)
  • Ubuntu 中文件和目录的操作命令

    在 Ubuntu 中,文件和目录的操作命令是非常重要的。这些命令帮助您在文件系统中创建、复制、移动、删除和查看文件和目录。以下是一些常用的文件和目录操作命令: cd cd 命令用于切换当前工作目录。 例如,要将工作目录更改为 /home/user/Documents/ 目录,可以使用以下命令:

    2024年02月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包