Linux檔案組織-混亂中的秩序 在linux中,一切都看成檔案,不管是目錄還是裝置。所以想要熟練使用Linux,那麼對檔案的本質和組織圖要有一定的認識。Linux中,檔案都組織成位元組流(byte stream)的形式,這樣就有利於資料的流動和傳輸。對於位元組流,可以借C++中的概念來理解,C++的標準輸入輸出iostream和檔案流fstream的本質就是位元組流。 Linux的檔案,乍看之下只能用亂來形容。其中最讓人揪心的是,linux下的程式安裝並不像windows下 www.2cto.com 那樣給一個檔案夾就行,甚至指定路徑都是徒勞的。 而卸載時,往往是很難掃乾淨的。特別是在源碼包安裝時,連卸載的命令都沒有(至少我沒百度到)。 其實,只要狠下心來,花點時間瞭解這些檔案的組織圖,就會發現混亂中自有秩序。Linux中很多目錄的特點就是”靜止”,在普通使用者的使用過程中,並不會牽涉到太多。這種特質的目錄主要有下面這些,它們的功能都是預設專用的,並不經常發生變化。 還有幾個目錄是玩Linux涉及到的關鍵目錄,所以不得不來個深刻認識。玩命令就很有必要把 /sbin、/usr/sbin、/bin和/usr/bin來個”三光”政策,不掃蕩一遍是很難用好bash的,Linux讓你的工作變得簡便的哲學就無法實現了。 安裝應用程式無論如何是無法避免的,安裝路徑很難搞?別急,嘗試下面的操作吧。#display the location of the executable file(顯示可執行檔的位置)$ which software_name www.2cto.com $ whereis software_name #顯示和該軟體有關的所有檔案的位置$ locate software_name就可以看到,bash所給的位置基本在幾個目錄下。
安裝好軟體後,其相關檔案會散落在很多系統預設的目錄下,程式的可執行檔一般就是在/usr/bin目錄下,只要刪除這個檔案,就算得上是卸載啦。至於其它的檔案,就用locate定位再手動刪除啦,其速度當然就取決於玩命令的程度啦。(我只知道這種笨方法,不知道是否有可徹底卸載的簡單方式?) 而linux下進行開發時,所涉及到的幾乎只有 /usr 。/usr目錄是相當大的,系統命令檔案、各種庫檔案和更新的 www.2cto.com 源檔案包幾乎都在這個目錄下,而且也是頻繁變化的。其實,就C/C++編程而言,涉及到的標頭檔和庫檔案就只在這個目錄下。 所以,Linux的檔案結構並不是看到的那樣繁雜。對於普通使用者而言,只要熟悉/usr這個目錄就足夠啦,這已經不止於在Linux下生存啦。