POSIX API 最重要的一個抽象概念就是文件。盡管幾乎所有的操作系統都將文件用于永久性存儲器,但所有 Unix 版本通過文件抽象概念提供對大多數系統資源的訪問。 更具體地說,這意味著 linux 使用相同的一組系統調用來提供對設備(例如軟盤和磁帶設備)、網絡資源(最常見的是 TCP/ip 連接)、系統終端,甚至內核狀態信息的訪問。感謝無所不在的系統調用,嫻熟地使用與文件相關的調用對于每個 Linux 程序員來說都很重要。讓我們仔細查看一下文件 API 背后的一些基本概念,并描述最重要的文件相關系統調用。
linux 提供許多不同種類的文件。最常見的類型就簡稱為常規文件,它存儲大量用于以后訪問的信息。您所使用的絕大部分文件 -- 例如可執行文件(如 /bin/vi)、數據文件(如 /etc/passwd)和系統二進制文件(如 /lib/libc.so.6)-- 都是常規文件。它們通常駐留在磁盤上的某處,但我們稍后會發現,并不一定都是這種情況。
另一種文件類型是目錄,它包含了一個其它文件及其位置的列表。使用 ls 命令列出目錄中的文件時,它打開該目錄的文件,并打印出它所包含的所有文件的信息。