Linux學習 檔案操作

2021-08-20 10:39:39 字數 2678 閱讀 4875

正在學習linux,記錄一下學習歷程。

在linux中,檔案指三類:普通檔案,目錄,偽檔案。

簡便起見,普通檔案通常被稱為檔案,目錄和偽檔案則被認為是檔案的特殊形式。

參考資訊:

linux學習-檔案系統

linux學習-目錄操作

本文所指的所有檔案都是普通檔案。

建立檔案

如何建立乙個檔案呢?

實際上,並不用建立檔案。在需要時,系統會自動建立檔案,極少需要自己建立新檔案。

有3種常見情形:

2. 當將輸出重定向到檔案時,如果檔案不存在,那麼shell將建立該檔案。

3. 當複製檔案時,複製程式將建立新檔案。

但是,基於某些原因,希望建立乙個全新的空檔案。

沒有直接的命令可以這樣做,但是有一條命令的***可以建立空檔案,touch。

touch的主要目的就是在不改變檔案的情況下,改變檔案的修改時間和訪問時間。

預設情況下,touch將修改時間和訪問時間設定為當前的時間和日期。

***就是如果指定的檔案不存在,那麼touch將建立這個檔案。

選項:-m  只修改時間

-a  只修改訪問時間

-t  指定時間和日期

-c  如果檔案不存在,不建立該檔案

命名檔案

命名規則:

1. 檔名可以長達255個字元

2. 檔名可以包含除/以及null字元以外的所以字元(/作為路徑名的分隔符,null字元是所有位都為0的字元)

3. 建立對自己有意義的檔名

在檔名中安全使用的字元:

字母,數字,點,連字元(不要位於檔名的開頭),下劃線

堅持只使用安全字元,生活將減少很多麻煩。

在實際的使用中,我們經常使用以乙個點加字尾結束的檔名來標識檔案的型別。這樣的字尾稱為副檔名。

使用副檔名可以利用萬用字元方便地引用一組同型別地檔案。

注意:副檔名並不決定檔案的型別,它只是人為的標識,不使用副檔名同樣可以。

對於乙個檔案,命名為filename.a 和命名為filename.b,或者命名為filename,對檔案型別並沒有任何影響。

建議:命名檔案和目錄時只使用小寫字母。一般大寫以大寫字母開頭的名稱留給在某些方面特別重要的檔案。

因為大寫字母在ascii碼中位於小寫字母之前,在目錄列表中大寫字母開頭的檔案位於前面,可以突顯出來。

複製cp file1 file2

將file1的內容複製到file2。

如果目標檔案不存在,那麼建立乙個新的檔案。

如果目標檔案存在,那麼它將被替換。

cp  file  directory

將檔案複製到指定目錄下。

選項:-i  在替換已有檔案之前進行詢問

-p  使目標檔案和原始檔擁有相同的修改時間,訪問時間和許可權

-r  將目錄及其所有檔案複製到另乙個目錄中(可以根據需要建立新目錄)

移動&重新命名

mv file directory

將檔案移動到指定目錄下。

注意:如果目錄不存在,mv會認為你希望重新命名檔案。

如果檔案已經在目標目錄中存在,那麼原始檔將替換目標檔案。

mv oldname newname

重新命名檔案或目錄

選項:-i  替換已有檔案之前進行詢問

-f  強制mv在不詢問的情況下替換檔案

ps:使用mv時,一定要保證檔名稱或目錄名稱的正確,因為mv兼具移動和重新命名兩個功能。

一定要確保所需的目錄存在,因為mv並不會幫你建立新目錄。

刪除一旦檔案被刪除,就真的被刪除了,沒有**箱可以找回。

選項:-i  在刪除每個檔案之前先請求許可

-f  強制執行刪除

-r  刪除整個目錄樹,可以用來刪除非空目錄

ps:如果沒有寫許可權,就不能刪除檔案。

如果希望保護檔案,阻止其被不小心誤刪,可以不設定檔案的寫許可權。

被刪除檔案恢復的可能性

沒有可能

檔案許可權

系統為每個使用者維護一組檔案許可權,通常稱為許可權。

這些許可權控制那些使用者標識可以訪問檔案,以及以何種方式訪問檔案。

每個檔案有3組許可權:一組針對屬主,一組針對組,一組針對其他使用者。

每組許可權有3種:讀許可權(r),寫許可權(w),執行許可權(x)

清空檔案內容

之前提到的,一旦刪除檔案,就沒有辦法找回這個檔案。

實際上,也不是完全沒有可能。

刪除檔案後,檔案所使用的實際磁碟空間還沒有被清除,檔案系統只是將這部分磁碟空間標識為可以重用。最終,這部分磁碟空間將被重用,舊資料被新資料所覆蓋。

當舊資料還沒有被覆蓋時,通過一些特殊的「恢復刪除」工具,檢視磁碟未使用的部分,可以恢復舊資料。

即使資料被覆蓋了,只要沒有被覆蓋多次,用非常昂貴的資料恢復裝置也可能通過分析磁碟磁面的磁跡恢復。

因此,永遠刪除檔案的最好辦法就是毀壞儲存介質。

對於清除整個磁碟這個方法還是有可行性的,但是如果只希望清除磁碟上的少數幾個檔案,就不太現實了。

有乙個不錯的程式shred可以完成這個任務。

shred可以多次覆蓋磁碟上已有的資料,並且用來覆蓋的資料都是隨機的。

選項:-v  處理過程中顯示處理訊息

-z  多次覆蓋完成後,**件全部填充為0

-u  處理後刪除檔案

-f  忽略受限制的檔案許可權

鏈結查詢檔案

詳情參見:

linux學習-查詢檔案

linux學習 檔案操作

1.linux中檔案系統有什麼特點?1 linux下一切皆檔案,目錄也是檔案,裝置也是檔案。2 linux的檔案型別有 普通檔案,目錄檔案,鏈結檔案,塊裝置,字元裝置,socket,管道檔案 通過 ls l 可以檢視檔案型別和屬性 普通檔案 d 目錄檔案 l 鏈結檔案 c 字元裝置 b 塊裝置 p ...

Linux學習 檔案目錄操作篇

linux的目錄以 樹 的結構分布,而最初的節點就是根目錄,在根目錄下各個主要目錄如下 目錄內容 bin 構建最小系統所需要的命令的存放目錄 boot 核心與啟動檔案存放目錄 dev 裝置檔案存放目錄 etc 系統軟體的啟動和配置檔案的存放目錄 home 使用者的主目錄 lib c編譯器的庫 med...

Linux學習 檔案

chmod 更改檔案9個屬性 linux檔案屬性有兩種設定方法,一種是數字,一種是符號。linux檔案的基本許可權就有九個,分別是owner group others三種身份各有自己的read write execute許可權。先複習一下剛剛上面提到的資料 檔案的許可權字元為 rwxrwxrwx 這...