我們這裡假設,我們就是設計者,如果我們設計乙個檔案系統,我們會如何去做呢?
我們需要乙個起點, 這個起點就叫根目錄,用「/」來表示,然後我們需要啟動linux,那麼我們就會把所有核心的啟動檔案(包括linux核心本身)都放到乙個「/boot」目錄下。
當系統啟動後,我們需要執行一些基本命令在作業系統,這些命令都會放到「/bin」目錄下。然後這些命令可能會用到一些庫,這些庫就被放到「/lib」下面,而這些庫可能會會用到一些裝置驅動檔案,
那麼這些驅動檔案就會放到「/dev」目錄下。
/:根目錄什麼是」/usr」 ,」/etc」和「/var「/boot:系統啟動和核心
/bin :系統基本命令 (bin是binary的縮寫)
/lib : 系統庫(不能直接執行的**)(lib是libary的縮寫)
/dev : 裝置驅動 (dev是device的縮寫)
到目前為止只用5個目錄,很簡單吧。
當使用者啟動系統以後,要做一些更加複雜的工作,這時候就會涉及到乙個叫「/usr」,這個情況稍微有些複雜,是乙個難點。不過也很容易解釋清楚。
早期的unix系統都有很多塊硬碟,當時硬碟的容量都很小, 所以往往乙個硬碟只放乙個目錄,比如「/boot」可以放在乙個單獨的」boot」盤上,上面提到的5個目錄,是系統執行必不可少的。
而當系統啟動以後,我們需要其他一些用於具體工作的程式時,我們就會載入乙個「/usr」目錄,上面放重要的執行程式。
容易引起疑惑的是」usr」這個名字, 在歷史上,原來這個確實是user的縮寫,不過現在和user沒有任何關係了, 你可以把它看成是」universal software resource」的縮寫。
這個「/usr」有點類似windows裡面的program files。
因此 /bin 和 /usr/bin的區別,就是 /bin裡面的程式更加核心
這時候,很多人會有疑問, 我們記住哪些命令在/bin 還是在/usr/bin呢?
放心,由於所有的bin目錄都會登記到系統變數path裡面, 因此無論你在任何當前目錄中,只要輸入命令檔案的名稱,系統都會幫你找到這個命令並執行。
要點:1、/usr上面一般都是唯讀檔案,資料檔案和配置檔案不放在上面(放到**,後面會講)
2,沒有「/usr」,linux系統也能正常執行
2、/usr可以被多台電腦共享(這裡體現linux系統的網路性)
由於/usr只放唯讀檔案,那麼配置檔案和資料檔案放**呢?這裡就出現了2個新的目錄「/etc」和「/var」
這裡容易初學者迷惑的就是這個2個目錄的名字。
在歷史上 「etc「是 「etcetera」,中文意為「其他」, 現在這個和「其他」沒有任何關係, 就是專門存放配置檔案的地方,可以理解為「editable text configuration」的縮寫
比如 /etc/mysql就是放mysql的配置檔案 /ect/apache2/就是apache2的配置檔案
在歷史上「var」 是 「variable」,中文意為「變動」,現在主要用來存放log,lock等檔案。
例如 /var/mysql就是用來存放mysql的log
當我們執行程式後,會產生很多自己的成果,這些成果放**呢? 這裡就出現了乙個「/home」目錄,不過你不能直接放到「/home」目錄下, 因為linux是個多使用者作業系統, 所以系統會有乙個以使用者的名字命名的目錄。
例如:使用者是xiaoming ,那麼目錄就是/home/xiaoming ,這個目錄也可以用「~「來表示。
C 入門必知
我們以乙個c 例子來說明 乙個 c 程式主要包括以下部分 命名空間宣告 namespace declaration 乙個 class class 方法 class 屬性 乙個 main 方法 語句 statements 表示式 expressions 注釋讓我們看乙個可以列印出 hello worl...
php 入門基礎 必知必學
小標帶你入門 1 通常我們所寫的 php程式檔案字尾 php 2 php語言的開始標記 3 php語句 乙個語句可以理解為讓php 直譯器執行的乙個命令.語句必須以 結束 用 包圍起來作為復合語句 可以當成乙個單元體 要麼都執行 都跳過.4 php的注釋 分為 單行注釋 c風格的單行注釋 開頭 後面...
Git入門必知操作命令
一 把檔案新增到庫 git add 檔名 提交到倉庫 git commit m 任意填寫 方便查詢改動部分 初始化乙個git倉庫,使用git init命令。新增檔案到git倉庫,分兩步 二 檢視歷史記錄 git log,或者 git log pretty oneline 簡約版 回退到上乙個版本 g...