如何理解Linux一切皆是檔案?這當中又有哪些值得後人借鑑的思想?

時間 2021-06-02 08:06:30

1樓:郭少

Linux把主機和眾多外圍裝置之間的互動抽象成一致的對檔案的操作,甚至連網路上面遠不同於一般I/O的底層實現都不惜在上層封裝成檔案的樣式展示給我們,為的就是實現統一,化繁為簡。這樣,我們再對它們進行管理或者在此基礎上執行更高層次的操作,就會變得容易簡單多了。

2樓:傑特

這個問題簡直就是乙個哲學問題,當然整個Linux的設計都是充滿了哲學思考的。

「檔案」本質就是一種抽象,一般是指對資料的一種抽象。同時,「檔案」也表示資料的儲存組織形式。(資料庫就是另一種資料儲存組織形式)。

Linux下的「檔案」對傳統意義上的檔案進行了擴充套件,不僅僅是對資料的抽象,而是對許多資源的抽象,包括傳統檔案,裝置,套子節等等。這樣的設計給應用程式乙個統一的訪問資源的方式,而且實現了一套統一的許可權管理方式。為什麼這麼好,不這樣會有什麼問題,這個就不是我能回答的了

3樓:「已登出」

首先通常在windows中是檔案的東西, 它們在linux中也是檔案

其次一些在windows中不是檔案的東西, 比如程序, 磁碟, 也被抽象成了檔案. 你可以使用訪問檔案的方法訪問它們獲得資訊.

再其次,一些很離譜的東西, 比如管道, 比如/dev/zero(乙個可以讀出無限個0的檔案) /dev/null(乙個重定向進去之後就消失了的檔案). 它們也是檔案

再再其次, 類似於socket這樣的東西, 使用的介面跟檔案介面也是一致的.

帶來的好處就是, 你可以使用同一套api(read, write)和工具(cat , 重定向, 管道)來處理unix中大多數的資源.

順帶提及, 一切皆檔案跟一切資源皆字串我想是息息相關的.

這就使得組合了簡單的命令和字元處理工具(awk, sed)之後, shell指令碼就能發揮出強大的功能.

可以讀一讀unix hater's handbook

Linux 一切皆檔案,那麼如何通過檔案修改時間?

陳小紫 一切皆檔案這個表述有問題啊 系統時間 另乙個回答中說使用date這個命令來修改時間,那麼其實date修改和讀取的就是系統時間。一般來說所有程式呼叫的時間都是系統時間。sudo sbin hwclock 可以訪問硬體時間,當然這個時間一般也是經過了時區換算了的,如果加入 localtime引數...

如何理解印光大師所說的「看一切眾生皆是菩薩,唯我一人實是凡夫。」?

微風 人家吃飽了,隨便說了一句,謙虛了一下,你就想東想西,你這叫妄念 執著。智慧型是從自已流出的,性體一層六道眾生與釋伽老子沒有什麼區別。好好去皈依 觀照你的自性佛吧,別外求了。 無名 一切眾生是真菩薩啊,要是沒遇上他們給你幫助 或是給你磨練,你也沒法精進。為什麼說自己是凡夫呢,真心不敢抬高自己啊,...

「一切法皆是佛法」是什麼意思?

護法居士 須菩提言。文殊師利。佛法結使有何差別。文殊師利言。大德須菩提。如須彌山王光所照處悉同一色。所謂金色。如是須菩提。般若光照一切結使悉同一色。謂佛法色。是故須菩提。佛法結使以般若慧觀等無差別。是故大德須菩提。一切諸法皆是佛法。須菩提言。文殊師利。以何緣故一切諸法皆是佛法。文殊答言。如佛智所覺。...