檔案目錄結構
閑話篇:
linux我也是最近才開始學,寫隨筆是為分享學習經驗的同時也留著供自己以后來參考,因為linux一切皆檔案的基本哲學思想,所以我決定從檔案目錄開始寫,
正文:
首先linux檔案系統格式為ext3/4(ext是extended的縮寫,意為擴展,全稱linux擴展檔案系統),這個簡單提下,
然后linux檔案系統是樹狀結構,所有的檔案皆在一個叫 / 的目錄下,所以這個 / 也叫做根目錄,
而根目錄(/)下的一級檔案目錄大多也是規定好的,由下圖這幾個關鍵目錄(骨干)組成,這些目錄(檔案夾)下各自存放了用于完成不同作業的檔案,下圖截取自fhs檔案,感興趣的可以訪問這個網站查看并下載最新的fhs的pdf檔案http://www.pathname.com/fhs/ ,這個檔案是專門講linux檔案系統的,最權威

下面就是我的翻譯作業:
/bin :存放基本的二進制指令檔案,一般我們在Linux命令列里輸的命令都是來自于/bin目錄下
/boot :存放系統的開機引導檔案,內核會根據/boot磁區下的檔案配置一步步加載磁盤內的檔案開機,相當于Windows的引導磁區,占用空間不大,一般幾百M
/dev :存放訪問硬體設備的檔案,用來訪問硬碟,記憶體等各個硬體
/etc :存放系統配置檔案,開機登陸界面,命令列字符格式,用戶管理都在這個目錄下可以改,相當于Windows下的注冊表
/lib :存放靜態庫檔案,應該是給開發程式呼叫的,相當于Windows下的system32目錄
/media :作為可移動存盤設備的掛載點,用來訪問u盤,cd光碟的內容
/mnt :作為暫時訪問其他檔案系統的掛載點,應該訪問windows磁區或其他檔案格式的設備用的,fhs檔案里對他就四行講解,所以我覺得不重要(其實是我沒怎么理解)
/opt :存放附加程式安裝包的,也就是后來自己想下的軟體安裝包可以放這里,我就理解了這些,要求挺多的,詳見fhs檔案3.13處,感覺不重要
/sbin :存放給系統還有root用戶呼叫的基本二進制檔案,許多時候普通用戶執行命令提示權限不足的命令大多放在這個檔案目錄下,還有就是在/usr/sbin目錄下
/srv :存放系統服務產生的資料,但我在centos7系統上查看了它里面的內容,結果連個隱藏檔案都沒有,結合fhs檔案所言,這個檔案具體做什么沒明確規定(可能是我翻譯問題,但感覺這個不重要)
/tmp :存放臨時資料的檔案,這個目錄可以,一般我想做什么實驗都在這個目錄,做完實驗就把檔案清了,所以是垃圾檔案集中地,一般存盤空間不夠就問他要點比較安全
/usr :存放共用的可讀檔案(不可寫,也就是里面檔案內容大多不能改的),linux檔案系統第二重要的目錄(第一重要的目錄被我扔了不好意思),它里面的/bin子目錄下存放了大多數用戶使用的命令,/include子目錄下放了c語言的頭檔案,/lib子目錄下放了庫檔案,還有/local,/sbin,/share這些子目錄都相當于工具包,可以理解為Windows下program檔案夾,里面有各類軟體還有軟體用到的庫檔案,頭檔案,總之對這個目錄能去用里面的工具但不能去亂改里面的內容
/var :存放變數資料,跟/tmp目錄差不多,也是臨時資料,但它里面放的不是垃圾檔案,它更傾向于記錄,它里面記錄了所有程式的日志還有系統日志等,當然這些日志檔案也是可以刪的,當然要空間首選還是/tmp目錄
與第三方系統比較:
許多基于linux底層的第三方系統都繼承了一個好習慣,如下圖,左圖是我的虛擬機裝的centos7系統下執行tree命令看到的根目錄結構,可以跟右圖對比:一個不漏
甚至還多了/home目錄,這個目錄挺重要,相當于Windows下的user目錄,所有用戶的檔案都在這個目錄下,簡單提下
如果你也有裝有centos系統的主機可以執行以下命令查看
1. 安裝tree軟體,一般默認可能沒安裝,可以先在命令列里輸個tree看看找不找得到這個命令,沒有就執行下面這條命令安裝tree,如果提示權限不足的話命令前面加個sudo
yum -y install tree
2.tree的用法,下面的命令是查看根目錄 / 下的一級目錄,這里-L 后面跟的1就是查看一級目錄,2就是二級目錄
tree -L 1 /
3.查看tree的所有用法的幫助,下面兩種命令都可以查看這個命令的細致用法
man tree
tree --help
玩法很多,自行體驗咯
奇怪的地方:
既然都看到這里了,我就再寫點linux檔案系統里神奇的地方吧,就在我們提過的/dev目錄下,有三個特殊的子目錄,如下圖所示,還有神奇的英語介紹
下面又是我的奇怪翻譯:
/dev/null :所有寫到這個設備(目錄)下的資料都是被洗掉的,從這里讀資料只會回傳EOF狀態,其實就是回收站,你可以把不要的垃圾檔案mv(move,移動命令)到這里,
/dev/zero :這個設備是用來輸出0的,任何寫到這個設備的資料都會被扔掉,只能從這個設備里讀取數值0,但這有什么用呢,如果你要測驗硬碟性能,可以從這個設備里讀資料0寫到檔案里看看用了多少時間,如下面的命令就是從zero設備里讀取0寫到我們要測驗的boot磁區里的1gb檔案,bs設定塊大小1m,count也就是寫入塊的個數為1024,那么總共就是寫入1個g的內容然后會回傳測驗資料,多大的資料用了多久完成,速度是xxxM/s
dd if=/dev/zero of=/boot/1gb.file bs=1M count=1024
/dev/tty :這個設備相當于終端行程,一旦這個設備打開,所有讀寫操作都會像實際打開的終端一樣在它上面實作(顯示),也就是你打開tty,就能控制對應tty視窗的輸入輸出,終端(terminal)你可以理解成Windows下的桌面,現在windows10可以開多個桌面,而linux也有多個終端可以輸入輸出顯示,
互動環節:
最后想請教各位,linux檔案系統里第一重要的目錄是哪個?還有那些我感覺不重要的目錄是不是我遺忘了什么?寫了隨筆才發現原來自己還是挺多不清楚的,有問題還望大家及時指出,別讓我坑害了像我一樣的新人,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/137638.html
標籤:Linux
上一篇:VMware 安裝Linux系統
