【笔记】Linux的目录配置(a2)
Linux的目錄配置依據的是FHS,那什么是FHS呢?因為利用Linux來開發的產品或DISTRIBUTION的社群或公司還有個人實在是太多了,如果每個人都用自己的想法來配置文件放置的目錄,那真是太糟糕了,因此Filesystem Hierarchy Standard(FHS) 標準出爐了!
他們的目的是想讓使用者可以了解到已安裝軟件通常放置于哪個目錄下,所以他們希望獨立的軟件開發商、操作系統制作者、想要維護系統的用戶都能遵循FHS標準,也就是規范每個目錄下應該存放什么樣的文件數據,統一目錄架構。
FHS根據文件系統使用的頻繁與否與是否允許使用者隨意變動,將目錄定成了四種交互形態:可分享、不可分享、可變動、不可變動。
| 不變的(static) | /usr(軟件放置處) | /etc(配置文件) |
| 不變的(static) | /opt(第三方協力軟件) | /boot(開機與核心檔) |
| 可變的(variable) | /var/mail(使用者郵箱) | /var/run(程序相關) |
| 可變的(variable) | /var/spool/news(新聞組) | /var/lock(程序相關) |
可分享的:可分享給其他系統掛載使用的目錄; 不可分享的:自己機器上面運作的裝置文件或與程序相關的文件等。 不變的:數據不會經常變動,跟隨著distribution而不變動;如函數庫、系統配置文件等。 可變的:經常改變的數據,例如登錄文件、新聞組等。
·/(root,根目錄):與開機系統有關。 ·/usr(unix software resource):與軟件安裝/執行有關。 ·/var(variable):與系統運作過程有關。
一./
根目錄是整個系統中最重要的一個目錄,所有的目錄都是用根目錄衍生的,根目錄不要放在非常大的分區槽內,因為分區槽越大,那放入的數據就越多,這樣以來根目錄所在的分區槽就可能發生較多的錯誤了。
建議:根目錄不用太大,且應用程序所安裝的軟件也不要與根目錄放在同一個分區槽內,保持根目錄的簡潔,這樣性能不但會更好,也不太容易發生問題。
FHS要求必須要存在的目錄:/bin(能被root和一半用戶使用,主要有:cat,chmod,chgrp,chown,date,mv,mkdir,cp,bash等等常用命令;現在的很多Linux都將/bin變成了/usr/bin的鏈接檔了,也就是說/bin和/usr/bin是一樣的),/boot(主要存放開機會使用到的文件),/dev,/etc(系統的配置文件存放目錄,例如用戶的賬戶密碼文件等,普通用戶可查閱,但只有root用戶可修改),/lib(函數庫),/media,/mnt,/opt,/run,/sbin,/srv,/tmp,/usr,/var.
FHS建議存在的目錄:/home(用戶默認的家目錄),/lib(用來存在與/lib不同格式的二進制函數庫,例如支持64位的/lib64函數庫等),/root(系統管理員root的家目錄)
二./usr
根據FHS的定義,這里面放的數據屬于可分享和不可變的,/usr是可分享給局域網內的其他主機來使用的喔!
不要誤認為/usr就是user哦,/usr是Unix Software Resource的縮寫哦,也就是Unix操作系統軟件資源 的意思。建議所有開發人員,將他們的數據合理的分別放在這個目錄的次目錄下,而不要自行建立該軟件自己獨立的目錄哦。
所有系統默認的軟件都會放在/usr目錄下,因此這個目錄有點類似windows的C:\Windows(當中的一部分) + C:\Program files\這2個目錄的綜合體,也就是說軟件應該安裝在usr目錄下。
三. /var
/var的目錄會越來越大,因為/var存放的主要是一些動態性文件,比如cache、log file以及某些軟件運行所產生的文件,比如mysql數據庫的文件等。
CentOS7對目錄的變動
CentOS7將一些原本在根目錄下的數據全部都搬遷到了/usr下:
- /bin --> /usr/bin
- /sbin --> /usr/sbin
- /lib --> /usr/lib
- /lib64 --> /usr/lib64
- /var/lock --> /run/lock
- /var/run --> /run
目錄樹
在Linux下所有目錄和文件都是由根目錄開始的,那是所有目錄和文件的源頭~,然后再一個個的分支下去,我們叫這種目錄配置方式為:目錄樹。
根據FHS的定義,最好將/var獨立出來,這樣對于系統的數據還有一些安全性的保護呢!至少/var發生錯誤了不會影響到根目錄,還可以進入救援模式!
絕對路徑和相對路徑
根據寫法不同,可以將路徑分為絕對路徑和相對路徑:
- 絕對路徑:由根目錄開始寫起到目錄/文件為止,例如:/home/[User_File_Name]/.bashrc;
- 相對路徑:相對于當前路徑的寫法,例如:./home/[User_File_Name]或者../../;反正開頭不是根目錄開始的就屬于相對路徑的寫法了。
相對路徑是以你當前所在路徑而言的;舉例來說,你在/home目錄,想要進入到/usr/bin目錄,相對路徑則可以這樣寫啊:cd ../usr/bin。絕對路徑則可以這樣寫:cd /usr/bin。
這里需要解釋一下, 一個.(.)代表的是當前目錄,兩個.(..)代表的是上一層目錄;還有一點需要特別注意:在root目錄,也就是根目錄(/)下,.和..都代表的是當前目錄哦。
這里對Linux的權限和目錄配置做一個總結
總結
以上是生活随笔為你收集整理的【笔记】Linux的目录配置(a2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海往事之与初中同学YS见面
- 下一篇: 10年C#历程的MVP之路与MVP项目介