日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

shell命令之mv的具體使用_linux shell

作者:大胃粥 ? 更新時間: 2022-04-28 編程語言

操作系統為 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 參數,系統會提示是否覆蓋, 也可以加上 -n 參數,不讓覆蓋的行為發生。

-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 來完成的。

原文鏈接:https://blog.csdn.net/zwlove5280/article/details/74141564

欄目分類
最近更新