zoukankan      html  css  js  c++  java
  • Linux 目录结构学习与简析 Part2

    linux目录结构学习与简析

    by:授客 QQ1033553122

    ---------------接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

    注意:Linuxtop查看的CPU也是逻辑CPU个数

     

    具有相同core idCPU是同一个core的超线程(HT--> Hyper-Threading)

    具有相同physical idCPU是同一个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  #LowFreeHighFree的总和,被系统留着未使用的内存

    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  该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下

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

  • 相关阅读:
    全排列问题(内测第0届第1题)
    提取字符串中的数字(C语言)
    尾递归=递归+迭代?
    Android各版本代号、版本号、API/NDK级别、发布时间及市场份额
    C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析
    sizeof既是关键字,又是运算符(操作符),但不是函数!
    探寻main函数的“标准”写法,以及获取main函数的参数、返回值
    Scala比较器:Ordered与Ordering
    【Python实战】Pandas:让你像写SQL一样做数据分析(一)
    【Python实战】Scrapy豌豆荚应用市场爬虫
  • 原文地址:https://www.cnblogs.com/shouke/p/10158113.html
Copyright © 2011-2022 走看看