第八天- linux目录结构详细介绍
1、樹狀結構目錄圖
[root@test yum.repos.d]# tree -L 1 / / #根 ├── bin #可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等 ├── boot #放置linux系統啟動時用到的一些文件。/boot/vmlinuz為linux的內核文件,以及/boot/gurb。建議單獨分區,分區大小100M即可 ├── cgroup ├── dev #存放linux系統下的設備文件,訪問該目錄下某個文件,相當于訪問某個設備,常用的是掛載光驅mount /dev/cdrom /mnt。 ├── etc #系統配置文件存放的目錄,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/sysconfig、/etc/xinetd.d修改配置文件之前記得備份。 ├── home #系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,建議單獨分區,并設置較大的磁盤空間,方便用戶存放數據 ├── lib #系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助,比較重要的目錄為/lib/modules ├── lib64 ├── lost+found #當系統意外崩潰或機器意外關機,會產生一些文件碎片在這里。當系統在開機啟動的過程中fsck工具會檢查這里,并修復已經損壞的文件系統。 ├── media #可移除媒體(如CD-ROM)的掛載點 (在FHS-2.3中出現)。 ├── misc ├── mnt #臨時掛載的文件系統。比如cdrom,u盤等,直接插入光驅無法使用,要先掛載后使用 ├── net ├── opt #可選應用軟件包 ├── proc #此目錄的數據都在內存中,如系統核心,外部設備,網絡狀態,由于數據都存放于內存中,所以不占用磁盤空間 ├── root #系統管理員root的家目錄,系統第一個啟動的分區為/,所以最好將/root和/放置在一個分區下。 ├── sbin #放置系統管理員使用的可執行命令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理員root使用的命令,一般用戶只能"查看"而不能設置和使用。 ├── selinux ├── srv #站點的具體數據,由系統提供。 ├── sys ├── tmp #一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下 ├── usr #應用程序存放目錄,/usr/bin存放應用程序,/usr/share存放共享數據,/usr/lib存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。| /usr/local:存放軟件升級包/usr/share/doc:系統說明文件存放目錄。/usr/share/man:程序說明文件存放目錄
| 使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的內容建議單獨分區,設置較大的磁盤空間 └── var #放置系統執行過程中經常變化的文件,如隨時更改的日志文件 /var/log,/var/log/message: 所有的登錄文件存放目錄
?2、/dev: 目錄
dev是設備(device)的英文縮寫。/dev這個目錄對所有的用戶都十分重要。因為在這個目錄中包含了所有Linux系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序,這一點和windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口。我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。
Linux沿襲Unix的風格,將所有設備認成是一個文件。
設備文件分為兩種:塊設備文件(b)和字符設備文件(c)
設備文件一般存放在/dev目錄下,對常見設備文件作如下說明:
/dev/hd[a-t]:?????? IDE設備
/dev/sd[a-z]:????? SCSI設備
/dev/fd[0-7]:?????? 標準軟驅
/dev/md[0-31]:??? 軟raid設備
/dev/loop[0-7]:??? 本地回環設備
/dev/ram[0-15]:?? 內存
/dev/null:??????????? 無限數據接收設備,相當于黑洞
/dev/zero:?????????? 無限零資源
/dev/tty[0-63]:???? 虛擬終端
/dev/ttyS[0-3]:???? 串口
/dev/lp[0-3]:??????? 并口
/dev/console:????? 控制臺
/dev/fb[0-31]:????? framebuffer
/dev/cdrom =>????? /dev/hdc
/dev/modem =>??? /dev/ttyS[0-9]
/dev/pilot =>???????? /dev/ttyS[0-9]
/dev/random:????? 隨機數設備
/dev/urandom:??? 隨機數設備
(PS:隨機數設備,后面我會再寫篇博客總結一下)
/dev目錄下的節點是怎么創建的?
devf或者udev會自動幫你創建得。
kobject是sysfs文件系統的基礎,udev通過監測、檢測sysfs來獲取新創建的設備的。
3、/etc: 目錄
包含很多文件.許多網絡配置文件也在/etc 中.
/etc/rc?? or /etc/rc.d?? or /etc/rc*.d? 啟動、或改變運行級時運行的scripts或scripts的目錄.
/etc/passwd????? 用戶數據庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息.
/etc/fstab????????? 啟動時mount -a命令(在/etc/rc 或等效的啟動文件中)自動mount的文件系統列表. Linux下,也包括用swapon -a啟用的swap區的信息.
/etc/group ?????? 類似/etc/passwd ,但說明的不是用戶而是組.
/etc/inittab??????? init 的配置文件.
/etc/issue???????? getty 在登錄提示符前的輸出信息.通常包括系統的一段短說明或歡迎信息.內容由系統管理員確定.
/etc/motd???????? Message Of The Day,成功登錄后自動輸出.內容由系統管理員確定.經常用于通告信息,如計劃關機時間的警告.
/etc/mtab???????? 當前安裝的文件系統列表.由scripts初始化,并由mount 命令自動更新.需要一個當前安裝的文件系統的列表時使用,例如df 命令.
/etc/shadow???? 在安裝了影子口令軟件的系統上的影子口令文件.影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow 中,而后者只對root可讀.這使破譯口令更困難.
/etc/login.defs? login 命令的配置文件.
/etc/printcap??? 類似/etc/termcap ,但針對打印機.語法不同.
/etc/profile , /etc/csh.login , /etc/csh.cshrc? 登錄或啟動時Bourne或C shells執行的文件.這允許系統管理員為所有用戶建立全局缺省環境.
/etc/securetty? 確認安全終端,即哪個終端允許root登錄.一般只列出虛擬控制臺,這樣就不可能(至少很困難)通過modem或網絡闖入系統并得到超級用戶特權.
/etc/shells?????? 列出可信任的shell.chsh 命令允許用戶在本文件指定范圍內改變登錄shell.提供一臺機器FTP服務的服務進程ftpd 檢查用戶shell是否列在 /etc/shells 文件中,如果不是將不允許該用戶登錄.
/etc/sysconfig 網絡配置相關目錄
/etc/hosts??????? 本地域名解析文件
/etc/sysconfig/network?? IP、掩碼、網關、主機名配置
/etc/resolv.conf????????? DNS服務器配置
/etc/exports?????????????? 設置NFS系統用的配置文件路徑
/etc/sudoers????????????? 可以sudo命令的配置文件
/etc/syslog.conf???????? 系統日志參數配置
/etc/X11/??????????????????? X_Window系統(版本11)的配置文件
/etc/skel/?????????????????? 默認創建用戶時,把該目錄拷貝到家目錄下
4、/proc: 目錄
檔名???????????????????????? 文件內容
/proc/cmdline? ? ? ??? 加載 kernel 時所下達的相關參數!查閱此文件,可了解系統是如何啟動的!
/proc/cpuinfo? ???????? 本機的 CPU 的相關資訊,包含時脈、類型與運算功能等
/proc/devices? ???????? 這個文件記錄了系統各個主要裝置的主要裝置代號,與 mknod 有關呢!
/proc/filesystems?? ? 目前系統已經加載的文件系統羅!
/proc/interrupts? ???? 目前系統上面的 IRQ 分配狀態。
/proc/ioports?? ??????? 目前系統上面各個裝置所配置的 I/O 位址。
/proc/kcore?? ?????????? 這個就是內存的大小啦!好大對吧!但是不要讀他啦!
/proc/loadavg? ??????? 還記得 top 以及 uptime 吧?沒錯!上頭的三個平均數值就是記錄在此!
/proc/meminfo?? ???? 使用 free 列出的內存資訊,嘿嘿!在這里也能夠查閱到!
/proc/modules? ????? 目前我們的 Linux 已經加載的模塊列表,也可以想成是驅動程序啦!
/proc/mounts ???????? 系統已經掛載的數據,就是用 mount 這個命令呼叫出來的數據啦!
/proc/swaps ?? ? ? ? ? 到底系統掛加載的內存在哪里?呵呵!使用掉的 partition 就記錄在此啦!
/proc/partitions? ? ?? 使用 fdisk -l 會出現目前所有的 partition 吧?在這個文件當中也有紀錄喔!
/proc/pci?? ????????????? 在 PCI 匯流排上面,每個裝置的詳細情況!可用 lspci 來查閱!
/proc/uptime ????????? 就是用 uptime 的時候,會出現的資訊啦!
/proc/version? ??????? 核心的版本,就是用 uname -a 顯示的內容啦!
/proc/bus/*?? ????????? 一些匯流排的裝置,還有 U盤 的裝置也記錄在此喔!
5、/usr: 目錄
? /usr 文件系統經常很大,因為所有程序安裝在這里. /usr 里的所有文件一般來自Linux distribution;本地安裝的程序和其他東西在/usr/local 下.這樣可能在升級新版系統或新distribution時無須重新安裝全部程序.
/usr/etc? ???????? ??????? 存放設置文件
/usr/games? ?? ? 存放游戲和教學文件
/usr/include? ??? 存放C開發工具的頭文件
/usr/share ??????? 存放結構獨立的數據
/usr/bin? ??? 幾乎所有用戶命令.有些命令在/bin 或/usr/local/bin 中.
/usr/sbin?????????? ? 根文件系統不必要的系統管理命令,例如多數服務程序.?
/usr/share/man , /usr/share/info , /usr/share/doc ? 手冊頁、GNU信息文檔和各種其他文檔文件.?
/usr/include????? C編程語言的頭文件.為了一致性這實際上應該在/usr/lib 下,但傳統上支持這個名字.
/usr/lib????????????? 程序或子系統的不變的數據文件,包括一些site-wide配置文件.名字lib來源于庫(library); 編程的原始庫存在/usr/lib 里.?
/usr/local????????? 本地安裝的軟件和其他文件放在這里.?
/usr/src??? ???????? 存放程序的源代碼
6、/var: 目錄
/var 包括系統一般運行時要改變的數據.每個系統是特定的,即不通過網絡與其他計算機共享.?
/var/catman?
當要求格式化時的man頁的cache.man頁的源文件一般存在/usr/man/man* 中;有些man頁可能有預格式化的版本,存在/usr/man/cat* 中.而其他的man頁在第一次看時需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了. (/var/catman 經常被清除,就象清除臨時目錄一樣.)?
/var/lib?
系統正常運行時要改變的文件.?
/var/local?
/usr/local 中安裝的程序的可變數據(即系統管理員安裝的程序).注意,如果必要,即使本地安裝的程序也會使用其他/var 目錄,例如/var/lock .?
/var/lock?
鎖定文件.許多程序遵循在/var/lock 中產生一個鎖定文件的約定,以支持他們正在使用某個特定的設備或文件.其他程序注意到這個鎖定文件,將不試圖使用這個設備或文件.?
/var/log?
各種程序的Log文件,特別是login? (/var/log/wtmp log所有到系統的登錄和注銷) 和syslog (/var/log/messages 里存儲所有核心和系統程序信息. /var/log 里的文件經常不確定地增長,應該定期清除.?
/var/run?
保存到下次引導前有效的關于系統的信息文件.例如, /var/run/utmp 包含當前登錄的用戶的信息.
/var/spool?
mail, news, 打印隊列和其他隊列工作的目錄.每個不同的spool在/var/spool 下有自己的子目錄,例如,用戶的郵箱在/var/spool/mail 中.?
/var/tmp?
比/tmp 允許的大或需要存在較長時間的臨時文件. (雖然系統管理員可能不允許/var/tmp 有很舊的文件.)?
?
本文參考:http://www.iteye.com/topic/1125162
本文參考:http://yangrong.blog.51cto.com/6945369/1288072
?
轉載于:https://www.cnblogs.com/migongci0412/p/4977532.html
總結
以上是生活随笔為你收集整理的第八天- linux目录结构详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL查询除了某一列的其他列
- 下一篇: Java基础03 构造器与方法重载