又一個周的時間過去了,覺得時間過的好快的呢,大概是因為沉迷于學習吧(害羞臉),在這一周里學習了不少東西呢,下面就來總結一下吧
(1) cp 復制
如果只是單純的敲cp復制文件而不加任何選項的時候,如果目的目錄文件已經存在,就會直接覆蓋,而不會出現任何提示信息,而當在實際操作時,就算不加 –i選項,也會提示要不要覆蓋文件
原因是在系統中有定義好的別名,就算只輸入cp,也相當于加了-i選項
下面是關于cp復制時一些選項的解釋
-i 覆蓋前提示
-n 不覆蓋
-r -R 遞歸 (不管是cp 還是ls.在執行命令的時只影響當前目錄,而不會對當前目錄的子目錄產生影響,)
-d 復制軟鏈接屬性 (軟連接其實就是鏈接一個路徑)
-p
= –perserv=mode,owner,timestamp
-a 包含-dr –perserv=all
-f 當覆蓋時,如目的文件的缺少寫權限時,(而對文件所在目錄有創建和刪除文件的權限時)強制刪除目的文件,并新建再填充內容。當有-n時,無效。當你對一個文件沒有寫權限時,但你對該文件所在目錄有創建和刪除文件的權限,就可以強制刪除該文件,并新建一個文件
當執行覆蓋操作時,對文件inode號產生的影響:
在執行cp命令時,其實就是對文件的寫入,如果目的文件不存在,則會在給目的文件分配一個新的inode號。
如果目的文件已經存在,則只會將文件的數據覆蓋,不會再分配inode號
(2)mv 移動
從上圖可以看出,系統定義的也有mv 的別名,在覆蓋文件的時候,也會彈出提示信息
-f 覆蓋時不提示,抵消-i的作用
當執行mv操作時,文件的inode號的變化情況:
不跨分區時,不會對文件的inode號產生影響,如果移動去文件名發生改變,則相當于間接完成了改名的操作
當跨分區移動是,相當于同時執行了cp和rm操作,將文件原來所在分區的inode號釋放,在目的文件所在分區分配一個新的inode號,然后將數據部分復制過去。
(3) rm 刪除
-i 覆蓋前提示(如前所示,就不贅述了)
-f 不提示,強制覆蓋,抵消-i的作用
-r 遞歸 (可以遞歸刪除目的目錄下的所有子目錄)
如果刪除某個目錄的時候不加-f選項,如果該目錄下還有子目錄,將無法刪除
執行rm操作時對文件inode號的影響:
刪除一個文件的本質就是減少一個文件的硬鏈接數,當文件的硬鏈接數減少到0的時候,就會釋放inode號
刪除一個硬鏈接時:
繼續刪除,當把最后一個刪除時,硬鏈接數就會變為0,此時就會釋放inode號,
此時如果新建一個文件,剛釋放的inode號就會被重新占用
好啦,由于能力和精力的限制,就寫到這里了,歡迎批評指正
原創文章,作者:Melissa,如若轉載,請注明出處:http://www.www58058.com/82162