Code前端首页关于Code前端联系我们

Linux 命令的完整列表: mv(move)

terry 2年前 (2023-09-28) 阅读数 55 #未命名

mv 该命令是 move 的缩写。它可用于移动文件或重命名文件(move (rename) files)。常用于Linux命令系统,常用于备份文件或目录。

1。命令格式

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

2.命令中的

mv第二个参数类型的作用不同(无论是目标文件还是目标目录),mv命令会将文件重命名或移动到新目录。当第二个参数类型为文件时,命令mv完成文件重命名。目前,只能有一个源文件(也可以是源目录名称),并且将是该源文件或目录。重命名为给定的目标文件名。当第二个参数是现有目录的名称时,可以有多个源文件或目录参数。命令mv将每个参数指定的所有源文件移动到目标目录。在文件系统之间移动文件时,mv 首先复制然后删除原始文件,并且对该文件的引用也会丢失。

3。命令参数

  • -b:如果需要覆盖文件,覆盖前请先备份。
  • -f:实力就是实力。如果目标文件已经存在,则不询问直接覆盖;
  • -i:如果目标文件(target)已经存在,会询问是否有覆盖!
  • -u:如果目标文件已经存在并且源相对较新,则会更新(更新)
  • -t:—target-directory=DIRECTORY 将所有 SOURCE 参数移至 DIRECTORY ,即输入目标目录mv。此选项适合将多个源文件移动到一个目录。在这种情况下,目标目录在前,源文件在最后。

4。命令示例

第一个示例

重命名文件
命令:

mv test.log new-test.log
Shell❀❙Out 说明:将文件重命名为 text.log名称文字.log. new-text.log

示例 2

移动文件
命令:❙'u Shell

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

示例3

更改目录testlog1.txt,

中的文件。 ,log3.tx t 移至目录test3

命令:

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

输出:

[yiibai@localhost test]$ pwd
/home/yiibai/test
[yiibai@localhost test]$ mv log1.txt log2.txt log3.txt /home/yiibai/test3
[yiibai@localhost test]$ ll
total 0
[yiibai@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
Shell

描述:

  • log..txt txt test3 此命令 log1 .txt, log2.txtlog3.txt这三个文件移动到文件夹❙test3 mv -t /opt/soft/test/test4/log1.txt log2.txt log3.txt
  • 命令将三个文件移动到目录test4

    示例 4

    将文件 file1 重命名为 file2。如果 file2 已存在,询问是否覆盖它
    命令:

    mv -i log1.txt log2.txt
    
    Shell❙

    O 示例 5

    重命名文件 file2file2,即使file2存在,也直接适用。

    命令:

    mv -f log3.txt log2.txt
    
    Shell

    输出:

    [yiibai@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
    [yiibai@localhost test]$ cat log2.txt
    just a test content
    [yiibai@localhost test]$ cat log3.txt
    [yiibai@localhost test]$ echo 'this is log3.txt content' >> log3.txt
    [yiibai@localhost test]$
    [yiibai@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
    [yiibai@localhost test]$ cat log2.txt
    just a test content
    [yiibai@localhost test]$ cat log3.txt
    this is log3.txt content
    [yiibai@localhost test]$ mv -f log3.txt log2.txt
    [yiibai@localhost test]$ cat log2.txt
    this is log3.txt content
    [yiibai@localhost test]$ ll
    total 4
    -rw-rw-r--. 1 yiibai yiibai 25 Feb 12 22:43 log2.txt
    [yiibai@localhost test]$
    
    Shell

    描述:. txt 的内容直接覆盖 log log2。 txt内容,-f这是一个危险的选项。使用时一定要头脑清醒。一般最好不要添加,可以直接运行,没有任何提示。 ?目录dir1 重命名为dir2;否则,dir1 会移动到 dir2

    示例7

    将当前文件夹中的所有文件移动到上级目录。 ?
    命令:

    mv test3/*.txt test5
    
    Shell

    输出:

    [yiibai@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
    [yiibai@localhost test3]$
    [yiibai@localhost test3]$
    [yiibai@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
    [yiibai@localhost test3]$ cd ..
    [yiibai@localhost ~]$ mv test3/*.txt test5/
    [yiibai@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
    [yiibai@localhost ~]$ ll test3/
    total 0
    drwxrwxr-x. 3 yiibai yiibai 20 Feb 12 22:46 test4
    [yiibai@localhost ~]$
    
    Shell例子很简单十,添加参数 -b
    命令:Shell

    输出:

    [yiibai@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
    [yiibai@localhost test5]$ mv log1.txt -b log2.txt
    [yiibai@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
    [yiibai@localhost test5]$
    
    Shell

    一些附加准则:CONTROL 不接受变量 ♝-b 作为后备策略。

  • —备份 此选项指定目标文件存在时的操作。有四种备份策略:
    • 1.CONTROL=无off:无备份。
    • 2.CONTROL=编号 或 t:以数字编号的备份
    • 3.CONTROL=现有...备份存在,数字为零编号: 继续存在或编号 1 n :
      执行mv操作前,数字编号的文件log2.txt.~1~已经存在,再次执行会生成log2.txt~2~等。如果之前没有编号的文件,请使用下面描述的简单备份。
    • 4.CONTROL=simple 或 从不:使用简单备份:在覆盖之前创建简单备份。只能有一个简单的备份。再次覆盖时,简单备份也会被覆盖。
  • 版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    热门