mv 命令的10個例子html
1.移動文件linux
移動文件時須要注意的是文件的源地址和目標地址必須不一樣。這裏有個例子,想要將file_1.txt文件從當前目錄移動到其它目錄,以/home/pungki/爲例,語法應該以下:git
$ mv ile_1.txt /home/pungki/officegithub
如咱們所見,當咱們移動 filetxt 文件時,先前目錄的 file1.txt 就被刪除了。ide
2.移動多個文件3d
若是想一次移動多個文件,咱們能夠將他們放在一行並用空格分開。htm
$ mv file_2.txt file_3.txt file_4.txt /home/pungki/officeblog
若是你的文件有規律可循的話那麼你就能夠使用通配符。好比,爲了移除全部以.txt爲擴展名的文件,咱們能夠用下面的命令:ip
$ mv *.txt /home/pungki/officeget
3.移動目錄
不一樣於複製命令,用 mv 命令移動目錄至關直接。移動目錄你能夠使用不帶選項的 mv 命令。看下面的截圖就一目瞭然了。
4.重命名文件或目錄
咱們也用 mv 命令來重命名文件或目錄。不過目標位置和源位置必須相同才能夠。而後文件名必須不一樣。
假定咱們當前所在目錄爲/home/pungki/Documents,而咱們想將file1.txt重命名爲file2.txt。那麼命令應該以下:
$ mv file_1.txt file_2.txt
若是是絕對路徑,它應該像下面這樣:
$ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt
5. 重命名目錄
上一段的規則一樣適用於目錄。請看這個例子:
$ mv directory_1/ directory_2/
6. 打印移動信息
當你移動或重命名一大堆文件或目錄時,你可能會想在不去目標位置去查看的狀況下知道你本身的命令是否成功地執行了。這就要用到-v選項了。
$ mv -v *.txt /home/pungki/office
該方法一樣適用於目錄。
7. 使用交互模式
當你將文件移動到其它位置,而那個位置剛好有一樣的文件,這時 mv 命令會覆蓋掉原來的文件。對於mv的這一行爲通常不會有什麼提示。若是想產生一個關於覆蓋文件的提示,咱們能夠使用-i選項。(譯註:一般發行版會經過alias命令,將-i做爲默認選項,因此會有提示。)
假設咱們想將 file1.txt 移動到 /home/pungki/office。同時,/home/pungki/office 目錄下已經有file1.txt文件了。
$ mv -i file_1.txt /home/pungki/office
這個提示會讓咱們知道目標位置處file_1.txt的存在。若是咱們按y鍵,那麼那個文件將會被刪除,不然不會。
8. 使用更新選項
-i 選項會提示咱們關於覆蓋文件的提示,而 -u 則只在源文件比目標文件新時才執行更新。讓咱們看一看下面的例子:
假如 file1.txt 和 file2.txt有以下特色:
咱們想將它們移動到 /home/pungki/office 目錄下。可是目標地址已經有file1.txt和file2.txt了。
咱們用下面的命令將file1.txt 和file2.txt從當前目錄移動到/home/pungki/office
$ mv -uv *.txt /home/pungki/office
能夠看到這些文件被移動了。能移動這些文件是由於它們最近的修改時間戳比 /home/pungki/office 目錄中的文件新。
9.不要覆蓋任何已存在的文件
若是-i選項詢問咱們是否要覆蓋文件,那麼 -n 選項將不會容許咱們覆蓋任何已存在的文件。
繼續使用第8點中的例子,若是咱們將-u 換成 -n同時加上-v選項,那麼咱們會看到沒有任何文件移動到了 /home/pungki/office 目錄下。
$ mv -vn *.txt /home/pungki/office
10. 複製時建立備份
默認狀況下,移動文件將會覆蓋已存在的目標文件。可是若是咱們移動錯了文件而目標文件已經被新的文件覆蓋了,這時應該怎麼辦纔好呢?有沒有一種方法能夠恢復以前的文件呢?答案是確定的。咱們能夠用-b選項。該選項會在新文件覆蓋舊文件時將舊文件作備份。這裏咱們還以第8點爲例。
$ mv -bv *.txt /home/pungki/office
如截圖中所見,在 /home/pungki/office 目錄下出現了名爲file1.txt~ and file2.txt~ 的文件。那個波浪符號(~)意味着這些文件是備份文件。從它們的屬性中咱們能夠看到,這些文件比file1.txt和file2.txt要舊。
11. 無條件覆蓋已經存在的文件
(譯註:這一節是譯者補充的,原文遺漏了這個重要選項)
當你但願不管如何都覆蓋已經存在的文件或目錄時,你能夠使用 -f 選項。若是同時指定了 -f 選項和 -i 或 -n 選項,則 -f 選項會覆蓋它們——即不進行任何提示而覆蓋,因此,在使用此參數時,知道你在作什麼。
$ mv -f *.txt /home/pungki/office
總結
移動文件和目錄命令是Linux系統的基本命令。一般你能夠經過man mv 或者 mv --help顯示mv的手冊頁以瞭解更多詳細信息。
via: http://linoxide.com/linux-command/mv-command-linux/
譯者:Linchenguang 校對:wxy
來源連接:https://linux.cn/article-2688-1.html
cp命令參考連接:https://linux.cn/article-2687-1.html