Linux mv命令(7)

mv命令,move的縮寫,顧名思義是移動文件的意思。其實就至關於剪切操做,而前面說的cp命令,就是複製粘貼,這兩個有什麼區別想必不用多說。安全

基本使用

使用格式測試

mv 源文件 目標文件

個人根目錄下有 a 目錄和一個 readme.txt 文件,如今我要把readme.txt文件移動到 a目錄裏:spa

//查看a目錄結構
tree a

//結果
a
└── b
    ├── c
    │   └── 123.txt
    └── test.txt

移動:code

mv readme.txt ./a

驗證:blog

tree a

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

此時,根目錄下的 readme.txt文件也不見了,想一想剪切操做就明白了。it

 

重命名

mv 命令還能夠用來重命名,這聽起來很奇怪,移動操做跟重命名有什麼關係,其實回想cp命令也不難理解了,在移動過程當中,改變名稱,不改變位置,這樣不就至關於重命名了。class

//進入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文件,能夠在本身的環境測試,個人環境默認就會有覆蓋提示:test

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
相關文章
相關標籤/搜索