linux 命令 mv 自己的理解
mv函數大致有以下三種的情況:
情況1:mv?? filename1(源文件) ? filename2(目的文件)
運行結果是: filename1的內容替換掉filename2的內容,文件filename1刪除,文件filename2的原有內容刪除.
(注意:如果文件filename2不存在,那么將被創建,且把filename1的內容加載到文件filename2中,總之不論filename2存在或者不存在,最后會移動文件filename1的內容到filename2中,且刪除filename1)
例如:
現在有2個文件,filename1和filename2:
執行以上命令后,filename1.txt 文件內容會替換掉filename2.txt文件的內容哦(filename2.txt就被破壞掉了,完全沒有了),現在filename2.txt的內容就是原來filename1.txt的內容了!并且filename1.txt也沒有了。
?
?
情況2:mv? filename(源文件) ??? dirname(目的文件)
運行結果是:把文件 filename,移動到目錄dirname下。
例如:
把已經存在的文件filename1.txt 移動到已經存在的目錄dirname1下,則執行如下命令:
注意:如果目錄不存在,那么將會執行文件替換過程!也即是情況1.此種情況,dirname1一定要是一個確確實實存在的已經建立好的目錄,里面有沒有文件無所謂。
情況3:mv? dirname1(源文件)? dirname2(目的文件)
例如:dirname1和dirname2是兩個已經存在的目錄(windows里面叫做文件夾),那么執行
mv dirname1 dirname2,就會出現以下情況:也即是把dirname1 移動到dirname2中,移動的過程中無論dirname1中是否有文件無所謂,如果有文件,一并移動到filename2.
特別注意:如果dirname2不存在,那么就不是把dirname1 移動到dirname2下了,而是把 dirname1復制到dirname2,執行的是復制操作。dirname1會改名且移動到dirname2(也即是dirname2是dirname1的一個副本,而不是移動到dirname2目錄的下一層)
例如:
?
此時,用ls 可以發現,dirname3目錄下,沒有任何東西,dirname3本身就是dirname1的一個副本。目的文件是否為空,決定了操作是執行移動還是復制。
?
?
?
?
總結
以上是生活随笔為你收集整理的linux 命令 mv 自己的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 下 LibreOffice
- 下一篇: C++获取字符串长度详解