1. 程式人生 > >從零開始的linux 第十九章(mv命令詳解)

從零開始的linux 第十九章(mv命令詳解)

mv移動文件

從零開始的linux 第十九章


hello~~又到了一周一更新博客的時候啦~~這周51CTO成功將博客功能升級~~給我們帶來了全新的體驗~全新的界面~全新的視感~~不過,在編輯器上~小編還是習慣用原來的編輯器,感謝工作人員在內測時候廣泛采納用戶的建議~對博客進行一次又一次的修改,嗯,最辛苦的還是我們的開發同誌~~小編給你們以及所有員工打call~~

技術分享圖片

那麽,回歸到這章內容,實際上,小編從這周是想拒絕更新的~~因為這麽久過去了,小編雖然在一直給同學們講課,但自己還沒有寫一篇有技術性的博客,但小編又沒有太多時間一周寫兩篇....

技術分享圖片

嗯...小編發現圖片沒有辦法手動輸入像素來調整圖片大小了,只能拖拽....額...這對於小編來說還是挺傷的...而且,無法選擇去除水印了,嘛~~這些都沒關系啦~那麽言歸正傳,雖然小編有點拒絕更新,想寫幾篇技術性的博客,但,為了同學們,小編還是等有空了再寫吧~~(吐槽:不可能,絕對不可能,一周一篇都懶的更新的小編怎麽可能會寫!)


好啦~廢話不多說啦,小編就來介紹一下這一章的內容吧~~

上一章,小編給同學們詳細講解了 cp 復制命令,註意咯,復制命令後面是支持通配符的,靈活使用通配符可以對一些文件進行批量復制~

接下來,小編給同學們介紹一下 mv 移動命令:

mv:move,移動,間接重命名文件

該命令與 cp 命令用法是相同的,所以小編介紹這個命令的時候,不會像介紹 cp 命令那樣詳細,不過同學們只要會用cp命令就一定會mv命令的~~同樣,遇到一個新命令,還是先查看一下man文檔:

技術分享圖片

從man文檔的說明中,可以看到 mv 命令與 cp 命令的格式毫無差異:

mv [OPTION]... [-T] SOURCE(源) DEST(目標)

mv [OPTION]... SOURCE... DIRECTORY(目錄)(註:目標是一個目錄)

mv [OPTION]... -t DIRECTORY SOURCE...

看到這些,應該也可以想到,該命令使用時也分為:單源和多源。只不過這裏的叫法為:單源移動和多源移動. 而其意思與上一章小編介紹的cp命令相同,這裏小編就不做過多的介紹啦~~小編就直接給同學們上實例:

技術分享圖片

這是最簡單的移動文件,將當前目錄下的text文件移動到/app/目錄下.即text使源,/app/目錄是目標,而這是目標是目錄的情況,並且目錄下沒有與這個源文件同名的文件,這種方法即小編上面列出的第二種用法,那麽,當要移動的目標中有與源文件同名的文件:

小編先看一下/app/text這個文件的內容:

技術分享圖片

然後,小編在其他地方創建一個與之同名的空文件,並移動過來:

技術分享圖片

可以看到,同樣會提示我們是否覆蓋文件,那麽,學過了這麽多命令都有同樣的提示,同學們有沒有猜到出現這個提示是為什麽呢?提問~~路人甲~~

路人甲:“嗯,應該有一個 -i 選項,交互式,而小編沒有指定選項,應該是設置了命令別名alias吧”

技術分享圖片沒錯,完全正確,獎勵一朵小花~~

技術分享圖片

如路人甲所說,alias中確實有 mv='mv -i' 是mv命令實際上使用的是 mv -i命令,因為任何可能會覆蓋文件的操作都被視為有危險操作,系統會默認給我們添加別名,並且選項中也會有選項來進行交互式。

以上被覆蓋的文件的內容也將被替換,那麽,移動文件的時候,還可以指定生成文件的名字:

技術分享圖片

若目標是一個文件,並且該文件並不存在,就會在目標所在的目錄下創建這個文件,並將源文件的數據流移動過去。小編這裏提到的概念在上一章都有詳細的說明,小編這裏就不做過多的介紹啦~~

-i:交互式

相信這個選項就不用小編說啦~~並且別名中就設置了默認使用這個選項

-f:強制

技術分享圖片

小編現在/tmp/目錄下創建了一個text文件,而此時/app/目錄下也有一個text文件,所以小編要把/tmp/目錄下的text文件移動到/app/目錄下,正常情況下,會提示小編是否覆蓋此文件,而用了 -f 選項後,將不會在提示,強制覆蓋~

mv命令不僅可以移動文件,還可以實現重命名文件的功能,即修改文件的名稱,而這個小編上面已經演示過咯~移動/tmp/zzz文件到/app/目錄並改名為www,這是跨目錄的移動並修改,也可以在源目錄下直接修改文件名稱:

技術分享圖片

將當前目錄下的文件改名。


實際上,mv移動文件的命令的選項是有很多的,但是基本上都是用不到的,平常使用僅用mv將文件移動即可,若想研究其他的選項,同學們可以自己查看man文檔哦~


嗯,雖然這一章有點水,不過小編還是先把這一章終結到這裏吧~文件的Inode和block以及引用命令的執行結果等到下一章小編再給同學們介紹~今天小編提不起幹勁呢~~

從零開始的linux 第十九章(mv命令詳解)