天天看點

Linux 目錄結構學習與簡析 Part2

linux目錄結構學習與簡析

by:授客 QQ:1033553122

---------------接Part 1--------------

#1.檢視CPU資訊

#cat /proc/cpuinfo

processor     : 0    #每個邏輯cpu 唯一編号0-N,編号到N則說明有N個邏輯CPU

vendor_id     : GenuineIntel       #CPU制造商标,GenuineIntel表因特爾處理器

cpu family    : 6    #CPU廠家生産的CPU系列号, 可用來确定處理器屬于那一代産品

model         : 23   #型号辨別,用來确定處理器的制作技術以及屬于該系列的第幾代核心

model name    : Pentium(R) Dual-Core  CPU   E5500  @ 2.80GHz #型号名稱,編号,标稱主頻

stepping      : 10   # CPU屬于制作更新版本

cpu MHz       : 2800.175    #說明:CPU實際使用主頻

cache size    : 2048 KB     #二級緩存的值

physical id   : 0    #每個實體cpu編号 0-N 編号隻到0說明隻有一個實體cpu

siblings      : 2    #目前邏輯cpu所在實體CPU中,邏輯CPU的總個數

core id       : 0    #每個實體核在目前實體cpu中的唯一編号

cpu cores     : 2    #目前邏輯cpu所在實體CPU的實體核數

apicid        : 0    #用來區分不同邏輯處理器的編号

initial apicid       : 0

fdiv_bug      : no

hlt_bug              : no

f00f_bug      : no

coma_bug      : no

fpu           : ye   #是否具有浮點運算單元

fpu_exception : yes  #是否支援浮點計算異常

cpuid level   : 13   #執行cpuid指令前,eax寄存器中的值

wp            : yes  #表明目前CPU是否在核心态支援對使用者空間的寫保護

flags         : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dts tpr_shadow vnmi flexpriority

#flags目前CPU支援的功能

bogomips      : 5600.35     #在系統核心啟動時粗略測算的CPU速度(Million Instructions Per Second)

clflush size  : 64   #每次重新整理緩存的大小機關

cache_alignment      : 64   #緩存位址對齊機關

address sizes : 36 bits physical, 48 bits virtual      #可通路位址空間位數

power management:    #對能源管理的支援

processor     : 1

……………………………

更詳細解說:參考連結http://linux.chinaitlab.com/administer/893420.html

說明:

如果沒開啟HT技術,邏輯CPU數量=實體cpu數量 x cpu cores

支援并開啟HT技術,邏輯CPU數量=實體cpu數量 x cpu cores x 2

注意:Linux下top檢視的CPU也是邏輯CPU個數

具有相同core

id的CPU是同一個core的超線程(HT-->

Hyper-Threading)

具有相同physical

id的CPU是同一個CPU封裝的線程或核心

基于以上基礎:

#檢視實體CPU的個數

# cat /proc/cpuinfo | grep "physical id" | uniq | wc –l

#檢視邏輯CPU的個數

# cat /proc/cpuinfo | grep processor | wc –l

#檢視所有實體CPU中總核數

# cat /proc/cpuinfo | grep cores | wc -l

#2.檢視記憶體資訊

# cat /proc/meminfo

HDFW:/proc# cat /proc/meminfo

MemTotal:        

989392 kB 

#所有可用RAM大小(實體記憶體減去一些預留位和核心的二進制代碼大小)

MemFree:         

666664 kB 

#LowFree和HighFree的總和,被系統留着未使用的記憶體

Buffers:          

28844 kB 

#緩沖器高速緩沖存儲器的記憶體大小

Cached:          

109576 kB 

#被頁高速緩沖存儲器使用的記憶體大小(diskcache

minus SwapCache)。pagecache的大小為一頁,通常為4K 

SwapCached:           

0 kB #

交換空間記憶體大小

Active:          

160980 kB 

//活躍使用中的高速緩沖存儲器頁面檔案大小

Inactive:         

99812 kB 

//不經常使用的高速緩沖存儲器頁面檔案大小

Active(anon):    

126284 kB

Inactive(anon):   

24172 kB

Active(file):     

34696 kB

Inactive(file):   

75640 kB

Unevictable:          

0 kB

Mlocked:              

HighTotal:       

104200 kB

HighFree:           

572 kB

LowTotal:        

885192 kB

LowFree:         

666092 kB

SwapTotal:            

0 kB 

#交換空間的總大小

SwapFree:             

#未被使用交換空間的大小

Dirty:               

20 kB  

#等待被寫回到磁盤的記憶體大小

Writeback:            

#正在被寫回到磁盤的記憶體大小

AnonPages:       

122372 kB 

#未映射頁的記憶體大小

Mapped:           

36252 kB 

#裝置和檔案等映射的大小

Shmem:            

28084 kB 

#共享記憶體大小

Slab:             

26332 kB 

#核心資料結構緩存的大小,可減少申請和釋放記憶體的消耗

SReclaimable:     

10908 kB #可收回Slab的大小

SUnreclaim:       

15424 kB 

#不可收回Slab的大小

KernelStack:       

2984 kB

PageTables:        

6844 kB

NFS_Unstable:         

#不穩定頁表的大小

Bounce:               

WritebackTmp:         

CommitLimit:     

494696 kB

Committed_AS:   

1125248 kB

VmallocTotal:    

122880 kB #

虛拟記憶體總大小

VmallocUsed:      

28164 kB #已經被使用的虛拟記憶體大小

VmallocChunk:     

41364 kB

HardwareCorrupted:    

HugePages_Total:      

HugePages_Free:       

HugePages_Rsvd:       

HugePages_Surp:       

Hugepagesize:      

4096 kB

DirectMap4k:      

20472 kB

DirectMap4M:     

888832 kB

說明:Cache是加速“讀”,而buffer是緩沖“寫”,前者解決讀的問題,儲存從磁盤上讀出的資料,後者是解決寫的問題,儲存即将要寫入到磁盤上的資料。

由上面的基礎上引出的:

#檢視RAM記憶體大小指令

[root@localhost ~]# grep MemTotal /proc/meminfo

MemTotal:       

1939012 kB

#檢視交換空間的大小

[root@localhost ~]# grep SwapTotal /proc/meminfo

SwapTotal:     

16482296 kB

#3.檢視系統核心版本

# cat /proc/version

Linux version 2.6.35.12-2012r6360 (root@new-lenny) (gcc version

4.3.2 (Debian 4.3.2-1.1) ) #5 SMP Fri Aug 17 07:36:58 CST

2012

說明:

linux核心版本号

Linux version 2.6.35.12-2012r6360

gcc編譯器版本号

gcc version 4.3.2

作業系統:Debian

4.3.2-1.1

編譯次數:#5

最後編譯時間:SMP

Wed Feb 27 18:41:08 CST 2013

#4.檢視已經加載的檔案系統清單

# cat /proc/mounts

/dev/loop0 /base squashfs ro,relatime 0 0

/dev/loop1 /patch squashfs ro,relatime 0 0

none / aufs rw,relatime,si=7addee1f 0 0

說明:從左到右,依次是檔案系統,挂載點檔案系統類型

================

/var 

Variable Files,代表變量檔案,且檔案内容會不斷增長。

/var/log/   

程式的Log檔案,特别是login 

(/var/log/wtmp log所有到系統的登入和登出)

和syslog

(/var/log/messages)裡存儲所有核心和系統程式資訊。/var/log

裡的檔案經常不确定地增長,應該定期清除. 

/var/log/message  

記錄系統發生的錯誤,告警等資訊

/var/lib/         

存放包和資料庫檔案

/var/lib/rpm/     

rpm套件安裝處,這可以讓

last指令産生一份使用者登陸的清單。系統重新開機時,檔案中也會有記錄。 

/var/local    

存放/usr/local中安裝的可變資料.注意,及時本地安裝的程式也會使用其他/var目錄,如/var/lock

/var/mail/    

存放郵件檔案

/var/run/     

儲存到下次引導前有效的關于系統的資訊檔案。

/var/spool/   

mail,news,列印隊列和其他隊列工作的目錄。

/var/lock/    

存放鎖檔案

/var/tmp/     

存放重新開機必須的臨時檔案

/var/log/wtm  

檔案包含了每個使用者的登陸次數和持續時間的二進制資訊。

/var/run/utmp 

二進制檔案,包含了目前登陸系統的使用者資訊。通過who,w指令可以産生目前登陸使用者的資訊。

/var/log/boot.log  

記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉資訊

/var/log/maillog   

記錄郵件存取或往來(

sendmail

與pop3

)的使用者記錄

/var/log/cron      

記錄crontab這個例行性服務的内容。crontab将指令存在/var/spool/cron/crontabs這個目錄下的一個檔案中,該檔案以使用者名來命名。一個稱為crond的看守程序會定時讀取這個檔案,在适當的時候執行指令。一般來說,系統上其中有一個rc檔案會在開機時自動執行crond.是以實際上并沒有叫做cron的指令。隻有crontab這個工具和crond看守程式

/tmp

  Temporary Files,包含系統和使用者建立的臨時檔案。當系統重新開機時,該目錄下的檔案将被删除

/usr  

User Programs,包含二進制檔案,庫檔案,文檔,二次開發源代碼。

/usr/etc/  

存放系統配置檔案和腳本檔案

/usr/bin/  

包含使用者程式的二進制檔案,幾乎所有使用者指令。如果你不能在/bin下找到使用者二進制檔案,那麼在/usr/bin下查找,如:at,awk,cc,less,scp

/usr/sbin/  包含系統管理者二進制檔案。如果你不能在/sbin下找到系統二進制檔案,那麼在/usr/sbin下查找,如:atd,cron,sshd,useradd

/usr/local/ 

是本地系統管理者用來自由添加程式的目錄。存放你從源安裝的使用者程式。一般是你安裝軟體的目錄,這個目錄就相當于在windows下的programefiles這個目錄。如:當你從源安裝apache,它會跑到/usr/local/apache2目錄下

/usr/local/bin/    

使用者可執行的

binary file

的目錄

/usr/local/sbin    

系統管理者才能執行的指令

/usr/local/lib/    

系統會使用到的函數庫

/usr/lib/          

包含/usr/bin和/usr/sbin目錄下的程式所需要用到的類庫,随系統安裝的應用軟體用到的庫檔案

/usr/lib/autofs/   

存放自動挂載裝置軟體包

/usr/src/    

存放Linux的安裝源代碼

/usr/include/      

存放c編譯的頭檔案,為了一緻性,這實際上應該在/usr/lib

下,但傳統上支援這個名字.

/usr/share/        

存放結構獨立的資料

/usr/share/man/    

存放man手冊頁資訊

/usr/share/info/   

GNU資訊文檔

/usr/share/doc/    

其他文檔資訊

/usr/games         

存放遊戲和教學檔案

/home  

Home Directories,供所有使用者存儲他們的個人檔案,如/home/laiyu,/home/john

/boot  

Boot Loader Files,包含Boot

Loader相關檔案,如Kernel

initrd, vmlinux, grub eg: initrd.img-2.6.32-24-generic,

vmlinuz-2.6.32-24-generic

/boot/grub/     

存放啟動管理程式所需的檔案及程式

/boot/vmlinuz    

linux核心,vmlinuz後面還接版本資訊等,如vmlinuz-2.6.32-279.el6.i686

/lib  

System Libraries,包含位于/bin、/sbin目錄下二進制檔案的支援檔案。類庫檔案形式:ld*

或者lib*.so.*,例如:ld-2.11.1.so,

libncurses.so.5.7

/lib/modules/  

存放kernel

的相關子產品

/opt 

Optional add-on Applications,opt表示optional(可選),包含來自私人供貨商的應用程式插件。插件應用程式應該安裝在/opt/目錄下,或者/opt/

sub-directory/下

/mnt 

Mount Directory,供系統管理者挂載檔案系統的臨時加載目錄

/media 

Removable Media Devices,可移除裝置的臨時挂載目錄,例如CD-ROM的挂載目錄:

/media/cdrom

軟碟驅動的挂載目錄:/media/floppy;

CD刻錄器的挂載目錄:/media/cdrecorder

/srv 

Service Data srv代表service,包含伺服器特定服務相關的資料,如

/srv/cvs

包含與 CVS

相關資料

/root 

超級使用者的主目錄

/lost+found  

這個目錄一般情況下是空的,每個檔案系統都包含了一個lost+found目錄,用于儲存執行檔案系統檢查操作中發現的檔案問題,

如系統非法關機後,下次啟動時,系統會執行檔案系統檢查并嘗試修複損壞檔案。這些修複操作将以檔案形式儲存在lost+found目錄。件。這些修複檔案可能不完整或沒多大意義,但也有可能很是很值得修複的東西

/sys 

sysfs檔案系統的挂載目錄。與sysfs檔案系統相對應的是/sys目錄,其子目錄主要有:

/sys/fs/  

進入後檢視核心支援哪些類型的檔案系統

/sys/block/  

包含所有的塊裝置

/sys/bus/    

包含系統中所有總線類型

/sys/class/  

系統中的裝置類型(如網卡裝置,聲霸卡裝置)

/sys/devices/

包含系統所有的裝置,并根據裝置挂載的總線類型組織成層次結構。

/misc 

該目錄可以用來存放雜項檔案或目錄,即那些用途或含義不明确的檔案或目錄可以存放在該目錄下

作者:授客

QQ:1033553122

全國軟體測試QQ交流群:7156436

Git位址:https://gitee.com/ishouke

友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!

作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!

           微信打賞                       

支付寶打賞                  全國軟體測試交流QQ群  

Linux 目錄結構學習與簡析 Part2
Linux 目錄結構學習與簡析 Part2
Linux 目錄結構學習與簡析 Part2

繼續閱讀