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

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

  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/shouke/p/10158113.html
Copyright © 2011-2022 走看看