對於檔案,我們可以讀取(read),寫入(write)和執行(execute)。讀取是從已經存在的檔案中獲得資料。寫入是向新的檔案或者舊的檔案寫入資料。如果檔案儲存的是可執行的二進位製碼,那麼它可以被載入記憶體,作為乙個程式執行。在linux的檔案系統中,如果某個使用者想對某個檔案執行某一種操作,那麼該使用者必須擁有對該檔案進行這一操作的許可權。檔案許可權的資訊儲存在檔案資訊(metadata)中, 見下一節。
檔案自身包含的只有資料。檔名實際上儲存在目錄檔案。除了這些之外,還有作業系統維護的檔案附加資訊,比如檔案型別,檔案尺寸,檔案許可權,檔案修改時間,檔案讀取時間等。可以用ls命令查詢檔案資訊($ls -l file.txt),得到如下結果:
-rw-r--r-- 1 vamei vamei 8445 sep 8 07:33 file1.txt
各個部分的含義如下:
如上討論硬鏈結時說到的,軟鏈結不會影響檔案的link count。如果還記得windows系統的快捷方式的話,linux的軟鏈結(soft link,也叫做symbolic link)就是linux的快捷方式。軟鏈結本質上是乙個檔案,它的檔案型別是symbolic link。在這個檔案中,包含有鏈結指向的檔案的絕對路徑。當你從這個檔案讀取資料時,linux會把你導向所指向的檔案,然後從那個檔案中讀取(就好像你雙擊快捷方式的效果一樣)。軟鏈結可以方便的在任何地方建立,並指向任何乙個絕對路徑。
軟鏈結本身也是乙個檔案,也可以執行檔案所可以進行的操作。當我們對軟鏈結操作時,要注意我們是對軟鏈結本身操作,還是對軟鏈結指向的目標操作。如果是後者,我們就說該操作跟隨鏈結指引(follow the link)。
當我們建立檔案的時候,比如使用touch,它會嘗試將新建檔案建立為許可權666,也就是rw-rw-rw-。但作業系統要參照許可權mask來看是否真正將檔案建立為666。許可權mask表示作業系統不允許設定的許可權位,比如說037(----wxrwx)的許可權mask意味著不允許設定設定group的wx位和other的rwx位。如果是這個許可權mask的話,最終的檔案許可權是rw-r----- (group的w位和other的rw位被mask)。
我們可以通過
$umask 022
的方式改變許可權mask。
計算機本質上是對資料進行處理的工具,而檔案是資料儲存的邏輯載體,所以了解linux檔案系統很重要。對於檔案系統的了解要結合linux的其他方面(比如使用者管理)進行有機的學習。
檔案許可權,擁有者,擁有組,超級使用者root
硬鏈結,軟鏈結,follow the link
linux 下的檔案管理
1.fgetc file fp 從fp指向的檔案輸入一位元組 2.fputc int c,file fp fp指向的檔案讀取一位元組 3.puchar int c 輸出一段字元 4.getchar void 讀取字元輸入乙個字元 5.fopen filename r w 讀或者寫 6.int feo...
Linux下ANSI C檔案管理
ansi檔案庫封裝了標準的檔案操作函式庫,通過系統呼叫函式可以很方便的對檔案進行操作,並且加入了檔案緩衝機制,提供記錄方式的對寫檔案,具有很好的可移植性,提高了 的健壯性。其主要包括以下幾個方面 1.檔案指標 2.檔案和流之間的關係 3.文字和二進位制 4.檔案的基本操作 1.檔案是乙個可以永久儲存...
Linux下的檔案管理
touch 新檔名 新建指定檔名的檔案 touch 已有檔名 把指定檔案的時間同步到當前時間 touch t yyyymmddhhmm 檔名 把檔案時間更改到指定時間 mkdir 目錄名 建立空目錄 mkdir p dir dir2 dir3 建立多層目錄 rm 檔名 刪除檔案有提示 rm f 檔名...