shell命令之mv的具體使用
操作系統(tǒng)為 macOS 10.12.4
shell 的 mv 命令為移動(moving)的意思,實際可分為文件間的移動,文件到目錄的移動,目錄到目錄的移動。
mv參數設置與運行結果
命令格式 | 運行結果 |
---|---|
mv 文件名 文件名 | 將源文件名改為目標文件名 |
mv 文件名 目錄名 | 將文件移動到目標目錄v |
mv 目錄名 目錄名 | 目標目錄已存在,將源目錄移動到目標目錄;目標目錄不存在則改名 |
mv 目錄名 文件名 | 出錯 |
文件間的移動
mv source_file target_file
把文件 source_file 移動到 target_file,實際的意思就是重命名,其他不變,例如 inode 信息,最近修改時間點等等不變。
實際上,并沒有 rename 命令,只有 rename 函數。
如果文件 target_file 已經存在呢,可以加上 -i 參數,系統(tǒng)會提示是否覆蓋, 也可以加上 -n 參數,不讓覆蓋的行為發(fā)生。
-f 參數是強制覆蓋,而且沒有任何提示。 這與 mv 不帶任何參數的效果一樣。
文件到目錄的移動
mv source_file target_directory
這個就比較簡單了。 但是如果目錄 target_directory 不存在,那么移動是無法完成的。
目錄到目錄的移動
mv source_directory target_directory
這就要分為兩類
- 如果target_directory不存在,這就相當于目錄重全名。
- 如果target_directory存在,就會把整個 source_directory 目錄移動到 target_directory 目錄中,相當于剪切整個目錄,然后粘貼。
但是,如果想把 source_directory 目錄中的內容移動到 target_directory 呢,mv source_directory/* target_directory
實例
# 將文件 aaa 更名為 bbb $ mv aaa bbb # 將文件test2 test3移到目錄testdr中 $ mv test2 test3 testdr # 將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名為logs。 mv info/ logs # 將/usr/student下的所有文件和目錄移到當前目錄下,命令行為: $ mv /usr/student/* .
思考
mv 命令其實是用 cp 和 rm 來完成的。
到此這篇關于shell命令之mv的具體使用的文章就介紹到這了,更多相關shell命令 mv內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
shell 遞歸遍歷目錄下的所有文件并統(tǒng)一改名的方法
今天小編就為大家分享一篇shell 遞歸遍歷目錄下的所有文件并統(tǒng)一改名的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06