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

猜你喜欢

转载自www.cnblogs.com/wjaaron/p/8962097.html