• Linux mv命令(7)


    mv命令,move的缩写,顾名思义是移动文件的意思。其实就相当于剪切操作,而前面说的cp命令,就是复制粘贴,这两个有什么区别想必不用多说。

    基本使用

    使用格式

    mv 源文件 目标文件

    我的根目录下有 a 目录和一个 readme.txt 文件,现在我要把readme.txt文件移动到 a目录里:

    //查看a目录结构
    tree a
    
    //结果
    a
    └── b
        ├── c
        │   └── 123.txt
        └── test.txt

    移动:

    mv readme.txt ./a

    验证:

    tree a
    
    //结果
    a
    ├── b
    │   ├── c
    │   │   └── 123.txt
    │   └── test.txt
    └── readme.txt

    此时,根目录下的 readme.txt文件也不见了,想想剪切操作就明白了。

     

    重命名

    mv 命令还可以用来重命名,这听起来很奇怪,移动操作跟重命名有什么关系,其实回想cp命令也不难理解了,在移动过程中,改变名称,不改变位置,这样不就相当于重命名了。

    //进入a目录
    cd a
    
    //将readme.txt重命名为demo.txt
    mv readme.txt demo.txt
    
    //tree
    .
    ├── b
    │   ├── c
    │   │   └── 123.txt
    │   └── test.txt
    └── demo.txt

     

    覆盖提示

    现在假设一个场景,我们在 a目录里,需要将 b目录里的 test.txt文件移动到 a目录下,并重命名为 demo.txt,我们知道 a目录下已有了一个demo.txt文件,这样的操作会覆盖掉原有的 demo.txt文件,可以在自己的环境测试,我的环境默认就会有覆盖提示:

    mv b/test.txt ./demo.txt
    
    mv: overwrite ‘./demo.txt’?

    为了安全性,应该都具备提示,mv 提供了一个选项 -i 可以保证每次覆盖前都提示,这跟 cp命令差一样。不管环境默认有没有提示,还是尽量加上 -i 吧:

    mv -i  b/test.txt ./demo.txt
    
    mv: overwrite ‘./demo.txt’? y
    
    tree
    
    .
    ├── b
    │   └── c
    │       └── 123.txt
    └── demo.txt
  • 相关阅读:
    cookie与session的区别
    基于TCP协议的网络编程
    springboot第一篇:springboot基础
    java中的正则表达式
    NIO
    io基础(字节流、字符流、转换流、缓冲字符流)
    基于UDP协议的网络编程
    es6.3学习笔记
    线程同步和线程通信
    java字符串各种编码
  • 原文地址:https://www.cnblogs.com/wjaaron/p/8962097.html
Copyright © 2020-2023  润新知