首頁 > 軟體

Linux 檔案系統 與 目錄樹

2020-06-16 17:23:50

Linux檔案系統和目錄樹“居住”在磁碟分割區中,在目錄樹這個層面,我們幾乎察覺不到磁碟分割區的存在。目錄樹可以分為小的部分,每個部分可以在自己的磁碟或分割區上。

1. /根目錄
  根目錄一般不包含任何檔案,除了可能的標準的系統引導映象,通常叫做/vmlinuz。其他所有的檔案都在根目錄的子目錄中。
 /bin 引導啟動所需的命令或普通使用者可能用的命令(可能引導啟動後)
 /sbin 類似/bin,但不給普通使用者使用,雖然如果必要且允許時可以使用
 /etc 特定機器的組態檔
 /root root使用者的家目錄
 /lib 根檔案系統上程式所需的共用庫
 /lib/modules 核心可載入模組,特別是那些恢復損壞系統是引導所需的(例如網路和檔案系統驅動)
 /dev 裝置檔案
 /tmp 臨時檔案。引導啟動後執行的程式應該使用/var/tmp,而不是/tmp,因為前者可能在一個擁有更多間的磁碟上。
 /boot 引導載入器(bootstraploader)使用的檔案,如LILO、grub。 核心映像也經常在這裡,而不是根目錄。要確保核心映像必須在IDE硬碟的前1024柱面內。
 /mnt 系統管理員臨時mount的掛載點。程式不會自動安裝到/mnt。
 
2. /etc 目錄
 
 /etc目錄包含很多檔案。許多網路組態檔也在/etc中。
 
/etc/rcor,/etc/rc.dor,/etc/rc*.d 啟動或改變執行級別時執行的scripts或scripts的目錄。
/etc/passwd 使用者資料庫,其中給出了使用者名稱、真實姓名、家目錄、加密的口令和使用者的其他資訊。
/etc/fdprm 軟碟參數列。說明不同的軟碟格式,用setfdprm設定。
/etc/fstab 啟動時mount -a 命令自動mount的檔案系統列表。在linux下,也包括swapon -a 啟動的swap區資訊。
/etc/group 系統使用者組檔案
/etc/inittab init的組態檔
/etc/issue getty在登入提示符前的輸出資訊。通常包括系統的一段短說明資訊或歡迎資訊。
/etc/magic file命令的組態檔。包含不同檔案格式的說明,file命令基於它猜測檔案型別
/etc/motd Message Of The Day,成功登入後自動輸出。內容由系統管理員確定。它經常用於通告資訊,如計劃關機時間的警告。
/etc/shadow 安裝了影子口令軟體的系統上的影子口令檔案。影子口令檔案將/etc/passwd檔案中的加密口令移動到/etc/shadow中,後者只對root可讀。
/etc/login.defs login命令的組態檔
/etc/printcap 類似/etc/termcap,但是針對印表機,語法不通。
/etc/profile,/etc/csh.login/,/etc/csh.cshrc 登入或啟動時Bourne或Cshells執行的檔案。為所有使用者建立全域性預設環境。
/etc/securetty 確認安全終端,即那個終端允許root登入。一般只列出虛擬控制台,這樣就不可能(至少很困難)通過modem或網路闖入系統,並得到超級使用者特權。
/etc/shells 列出可信任的shell。chsh命令允許使用者在本檔案指定範圍內改變登入shell。FTP服務進程也檢查使用者的shell是否列在/etc/shells檔案中,如果不是,就不允許該使用者登入。 
/etc/termcap 終端效能資料庫。說明不同的終端用什麼“跳脫序列”控制。寫程式時不直接輸出跳脫序列(這樣只能工作與特定品牌的終端),而是從/etc/termcap中查詢要做的工作的正確序列。
 
3. /dev 目錄
/dev目錄包括所有裝置的裝置檔案。裝置檔案用特定的約定命名。
 
4. /usr 目錄
  /usr檔案系統???常很大,因為所有的程式都安裝在這裡。 本地安裝的程式和其他東西在/usr/local下。
 
/usr/bin幾乎所有使用者命令。有些命令在/bin或/usr/local/bin中。
/usr/sbin 根檔案系統不必要的系統管理命令,例如多數服務程式
/usr/man,/usr/info,/usr/doc 手冊頁、GNU資訊文件和其它文件
/usr/include  C語言的標頭檔案。為了一致性,這實際上應該在/usr/lib下,但因為一些歷史原因而位於這裡。
/usr/lib 程式或子系統不變的資料檔案,包括一些site-wide組態檔。lib=library,程式設計的原始庫在這裡。
/usr/local 本地安裝的軟體和其它軟體。
 
5 /var 目錄
/var 包括系統執行時經常改變的資料。不與其他計算機共用。
 
/var/lib 系統正常執行時要改變的檔案。
/var/local 存放/usr/local中安裝的程式的可變資料。注意:如果必要,即使本地安裝的程式也會使用其他/var目錄,例如/var/lock。
/var/lock 鎖定檔案。許多程式遵循在/var/locak中產生一個鎖定檔案的約定,以保護它們在使用的某個特定的裝置或檔案。其他程式注意到這個鎖定檔案,將不試圖使用這個裝置或檔案。
/var/log 各種程式的log檔案,特別是login(/var/log/wtmp 所有到系統的登入和登出)和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有很舊的檔案。
 
6 /proc 目錄
 
/proc是一個虛擬的目錄,它不存在某個磁碟上,而是由核心在記憶體中產生,用於提供關於系統的資訊。
 
 /proc/1 關於進程1的資訊目錄。每個進程在/proc目錄下有一個名為其進程號的目錄
 /proc/cpuinfo 出路器資訊,如型別、製造商、性高、效能等。
 /proc/devices 當前執行的核心設定的裝置驅動列表
 /proc/dma 顯示當前使用的DMA通道
 /proc/filesystems 核心設定的檔案系統
 /proc/interrupts 顯示使用的中斷
 /proc/ioports 當前使用的I/O埠
 /proc/kcore 系統實體記憶體映像。與實體記憶體大小完全一樣,但不實際占用這麼多的記憶體。
 /proc/kmsg  核心輸出的訊息,也被送到syslog
 /proc/ksyms 核心符號表
 /proc/loadavg 系統“平均負載”:3個指示器指出系統當前工作量
  1. [root@web1 ~]# cat /proc/loadavg
  2. 0.000.000.001/2329298
 
 /proc/meminfo 記憶體使用資訊,包括swap
 /proc/modules 當前載入了哪些核心模組
 /proc/net 網路協定狀態資訊
  1. [root@web1 ~]# cat /proc/net/
  2. anycast6 ip6_flowlabel ip_tables_targets protocols snmp udplite
  3. arp ip6_mr_cache ipv6_route psched snmp6 udplite6
  4. connector ip6_mr_vif mcfilter ptype sockstat unix
  5. dev ip6_tables_matches mcfilter6 raw sockstat6 wireless
  6. dev_mcast ip6_tables_names netfilter/ raw6 softnet_stat xfrm_stat
  7. dev_snmp6/ ip6_tables_targets netlink route stat/
  8. icmp ip_mr_cache netstat rpc/ tcp
  9. if_inet6 ip_mr_vif nf_conntrack rt6_stats tcp6
  10. igmp ip_tables_matches nf_conntrack_expect rt_acct udp
  11. igmp6 ip_tables_names packet rt_cache udp6
 
/proc/self 檢視/proc的程式的進程目錄的符號連結。
/proc/stat CPU的實時負載資訊
/proc/uptime 系統啟動的時間長度
/proc/version 核心版本
 
/proc/cmdline 系統啟動時輸入的核心命令列引數
 
通過/proc與核心互動
 
/proc/sys/ 目錄存放著所有的可讀寫檔案,可被用於改變核心的行為。
例如:
  /proc/sys/kernel/{domainname,hostname} 存放著主機的域名和主機名,這些檔案可用於修改這些名字。
 /proc/sys/net/  所有的網路屬性設定
總結: /proc 檔案系統 提供了一個基於檔案的linux內部介面,它可以確定系統的各種不同裝置和進程的狀態,使用者能夠從/proc 中獲取系統和進程資訊,也能夠通過/proc操縱系統.

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-01/139368.htm


IT145.com E-mail:sddin#qq.com