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群
