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