linux目录结构学习与简析
---------------接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: 0 kB
HighTotal: 104200 kB
HighFree: 572 kB
LowTotal: 885192 kB
LowFree: 666092 kB
SwapTotal: 0 kB #交换空间的总大小
SwapFree: 0 kB #未被使用交换空间的大小
Dirty: 20 kB #等待被写回到磁盘的内存大小
Writeback: 0 kB #正在被写回到磁盘的内存大小
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: 0 kB #不稳定页表的大小
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 494696 kB
Committed_AS: 1125248 kB
VmallocTotal: 122880 kB #虚拟内存总大小
VmallocUsed: 28164 kB #已经被使用的虚拟内存大小
VmallocChunk: 41364 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
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 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下
================