美文网首页Linux
011.Linux目录结构以及重要系统文件

011.Linux目录结构以及重要系统文件

作者: CoderJed | 来源:发表于2020-04-29 23:45 被阅读0次

    1. Linux系统目录结构详解

    [root@template /]# tree -L 1
    .
    ├── bin -> usr/bin
    ├── boot
    ├── dev
    ├── etc
    ├── home
    ├── lib -> usr/lib
    ├── lib64 -> usr/lib64
    ├── media
    ├── mnt
    ├── opt
    ├── proc
    ├── root
    ├── run
    ├── sbin -> usr/sbin
    ├── srv
    ├── sys
    ├── tmp
    ├── usr
    └── var
    
    目录 说明
    /bin 常用的二进制命令所在的目录,是/usr/bin目录的软链接
    /boot Linux内核及系统引导程序所需的文件目录
    安装系统分区时一般就要单独分一个boot分区
    该分区的数据增长量很小,/boot就是引导分区的挂载点
    /dev 设备文件目录,比如声卡、磁盘、光驱等
    /etc 使用yum或者RPM方式安装的软件的默认配置目录
    CentOS6存放服务启停命令的目录,主要存放在/etc/init.d目录下
    例如/etc/init.d/sshd
    /home 普通用户的家目录
    /lib
    /lib64
    启动系统和运行命令所需的共享库文件和内核模块存放的目录
    /media 可移除媒体的挂载点,例如,CD-ROM和U盘等的挂载,不常使用
    /mnt 文件系统的临时挂载点,使用频率较高
    /opt 用于安装额外的应用软件包
    /proc 操作系统运行时,进程信息及内核信息(比如CPU、硬盘分区、内存信息等)存放的目录
    /proc不是真正的文件系统,而是虚拟文件系统的挂载点,此目录下的文件其实都在内存中
    /proc/loadavg:系统负载信息文件
    /proc/meminfo:系统内存使用信息文件
    /proc/cpuinfo:系统CPU使用信息文件
    /proc/mounts:系统挂载信息
    /root 超级权限用户root的家目录
    /sbin 超级用户可执行命令存放的目录,大多都是系统管理命令,用/usr/local/sbin目录类似
    /tmp 临时文件目录,一些程序运行期间产生的临时文件默认存放在这里,/var/tmp目录有类似的作用
    /usr 系统存放程序的目录,例如Linux发行版官方提供的软件包大多安装在这里
    /usr/local:使用源码编译方式安装软件时的默认安装目录
    /usr/src:程序源码目录
    /var 经常变化的文件存放的目录
    /var/log:系统日志存放目录
    /var/www:Apache服务器站点目录
    /var/lib:存放一些库文件
    /srv 存放为用户提供服务的数据所在的目录,例如www、ftp数据
    /sys 与/proc类似,也是虚拟的文件系统,用于存放内核等信息的目录,包含内核、总线、设备、模块组、电源选项等
    /lost+found 在ext3文件系统中,当系统发生意外崩溃或者机器意外关机时,会在这里产生一些文件碎片
    系统在开机的过程中,fsck工具会检查这个目录,并修复已经损坏的文件系统
    当系统发生问题时,可能有文件被移动到这个目录,这些文件可能需要手动修复

    2. Linux重要的系统配置文件

    2.1 /etc/sysconfig/network-scripts/ifcfg-eth0

    作用:网卡配置文件

    TYPE=Ethernet # 网络类型,现在都是Ethernet,以太网,还有FastEthernet等类型
    PROXY_METHOD=none
    BROWSER_ONLY=no
    # 主机获取IP的方式
    # none/static:用户手动设置IP
    # dhcp:系统自动获取
    BOOTPROTO=none
    DEFROUTE=yes # 使用默认路由
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth0 # 第一块网卡的逻辑设备名,第二块为eth1
    ## UUID:通用唯一识别码,用于对一些硬件设备做唯一标识,使用VMware安装的虚拟机可以删除
    UUID=8asd128-jhasd12nnd-197hjda2j1mn2
    DEVICE=eth0 # 第一块网卡的物理设备名,第二块为eth1
    ONBOOT=yes # 这个地方必须为yes,才能保证下次开机启动时自动激活网卡设备
    IPADDR=10.0.0.10 # 静态配置的IP地址
    PREFIX=24 # 子网掩码位数,掩码作用:定义此网络中可以有多少主机
    GATEWAY=10.0.0.2 # 局域网网关地址,网关:一个网络到另一个网络的必经之路
    DNS1=223.5.5.5 # 主NDS,优先于/etc/resolv.conf文件中的配置
    IPV6_PRIVACY=no
    

    相关命令:

    ifup eth0 # 启动网卡
    ifdown eth0 # 禁用网卡
    ifdown eth0 && ifup etho # 重启网卡
    systemctl start network # 启动网络服务
    systemctl stop network # 停止网络服务
    systemctl restart network # 重启网络服务
    systemctl status network # 查看网络服务状态
    # 重启网络服务后配置还是无法生效,可以关闭NetworkManager再试
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    

    2.2 /etc/resolv.conf

    作用:DNS(Domain Name System)配置文件,DNS主要负责将网站域名解析为对应的IP地址,从域名到IP的解析过程,称作A记录,即Address Record

    一般只在网卡配置文件中配置DNS即可,这个文件的功能逐渐变弱,常见的公用DNS如下:

    nameserver 223.5.5.5
    nameserver 223.6.6.6
    nameserver 114.114.114.114
    nameserver 114.114.115.115
    nameserver 8.8.8.8
    nameserver 202.106.0.20
    

    2.3 /etc/hostname

    作用:主机名配置文件,CentOS6的主机名配置文件为/etc/sysconfig/network

    临时修改:

    # 主机名修改为www
    hostname www
    

    永久修改:

    hostnamectl set-hostname www
    

    修改完之后,断开远程连接,再连接就会生效

    Tips:在CentOS6中,主机名配置文件是/etc/sysconfig/network

    2.4 /etc/hosts

    作用:设置用户IP与域名的对应解析表,相当于本地或者局域网内的DNS解析文件

    主机名的命名必须规范,要反应出这台机器的明确用途,例如:

    # IPV4本地名称解析记录
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    # IPV6本地名称解析记录
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    172.38.18.23 realtime-search.config-vip.taobao.com
    172.26.58.40 vafd.china.alibaba.com
    

    2.5 /etc/fstab

    作用:配置开机设备自动挂载,Linux设备必须要挂载才能使用,刚开机的时候,磁盘都是没有挂载的,系统开机后会加载/etc/fstab文件,实现对系统分区的自动挂载

    相关命令:

    # 查看设备id
    [root@www ~]# blkid
    /dev/sda1: UUID="44704023-2d9a-475b-827f-bfa9dea8140b" TYPE="xfs" 
    /dev/sda2: UUID="3188f9cb-ac2b-42c0-b676-1f8c7bc8a030" TYPE="swap" 
    /dev/sda3: UUID="a6089313-afa0-4a71-b342-207a5cce759c" TYPE="xfs" 
    /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
    
    # 查看磁盘使用情况
    [root@www ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        17G  1.6G   16G  10% /
    devtmpfs        476M     0  476M   0% /dev
    tmpfs           487M     0  487M   0% /dev/shm
    tmpfs           487M  7.7M  479M   2% /run
    tmpfs           487M     0  487M   0% /sys/fs/cgroup
    /dev/sda1      1014M  127M  888M  13% /boot
    tmpfs            98M     0   98M   0% /run/user/0
    /dev/sr0        4.3G  4.3G     0 100% /mnt
    

    2.6 /etc/rc.local

    作用:是用于存放开机自启动程序命令的文件,Linux开机时会将etc/rc.local文件中的内容全部执行一遍,所以用户自己开发的程序,如果想要让其开机就执行,就可以执行命令写到这个文件中

    注意:

    • 此文件默认没有执行权限,需要手动修改:chmod 755 /etc/rc.local
    • 此文件是一个软链接,真实文件是/etc/rc.d/rc.local

    2.7 /etc/inittab

    作用:设定系统启动时init进程将系统设置成什么运行级别

    • CentOS6以前的/etc/inittab

      这个文件是一个指导系统启动的重要文件,其中可以设置系统运行级别、加载系统初始化脚本、加载各个运行级别的对应脚本、禁止三键重启、加载不同级别的TTY以及桌面设置等信息。

    • CentOS6的/etc/inittab文件解读

    # 此文件只能用来设置默认的系统运行级别
    # inittab is only used by upstart for the default runlevel.
    #
    # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
    #
    # 系统初始化转到/etc/init/rcS.conf
    # System initialization is started by /etc/init/rcS.conf
    #
    # 单个运行级别转到/etc/init/rc.conf
    # Individual runlevels are started by /etc/init/rc.conf
    #
    # 禁止重启的配置转到/etc/init/control-alt-delete.conf
    # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
    #
    # 终端的配置也转移了
    # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
    # with configuration in /etc/sysconfig/init.
    #
    # For information on how to write upstart event handlers, or how
    # upstart works, see init(5), init(8), and initctl(8).
    #
    # Default runlevel. The runlevels used are:
    #   0 - halt (Do NOT set initdefault to this) # 关机(不要将系统运行级别设置为0)
    #   1 - Single user mode # 单用户模式,忘记root密码时,使用此模式找回
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 没有NFS的多用户模式
    #   3 - Full multiuser mode # 多用户模式,当没有网络的时候,3 = 2
    #   4 - unused # 未使用
    #   5 - X11 # 图形化模式、桌面模式
    #   6 - reboot (Do NOT set initdefault to this) # 系统重启,不要将系统运行级别设置为6
    #
    # 系统启动时,设置为固定的的运行级别
    id:5:initdefault:
    
    • CentOS7的/etc/inittab文件解读
    # 当使用systemd方式启动系统的时候,此文件就不再使用了
    # inittab is no longer used when using systemd.
    #
    # 在此文件中添加任何配置都不起作用了
    # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
    #
    # 禁止三键启动功能在/usr/lib/systemd/system/ctrl-alt-del.target中
    # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
    #
    # systemd启动方式使用targets,而不是runlevel,默认情况下有两个主要的targets
    # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
    #
    # 多用户文本模式,3级别
    # multi-user.target: analogous to runlevel 3
    # 图形模式,5级别
    # graphical.target: analogous to runlevel 5
    #
    # 使用systemctl get-default查看当前默认的运行级别
    # To view current default target, run:
    # systemctl get-default
    #
    # 使用systemctl set-default TARGET.target来修改系统默认运行级别
    # 例如systemctl set-default graphical.target
    # 对应的级别如下
    # 0 poweroff.target
    # 1 rescue.target
    # 2 multi-user.target
    # 3 multi-user.target
    # 4 multi-user.target
    # 5 graphical.target
    # 6 reboot.target
    # To set a default target, run:
    # systemctl set-default TARGET.target
    #
    
    • 查看系统运行级别
    [root@www ~]# runlevel
    N 3
    [root@www ~]# systemctl get-default
    multi-user.target
    
    • 临时修改系统运行级别
    init 0 # 执行此命令会立即关机
    init 6 # 执行此命令会立即重启
    
    • 永久修改系统运行级别

      CentOS6需要修改/etc/inittab文件,修改最后一行id:5:initdefault:中的这个数字,然后重启系统

      CentOS7使用如下命令修改:

      systemctl set-default multi-user.target # 将默认运行级别设置为mulit-user
      systemctl isolate multi-user.target # 不重启系统的情况下,将运行级别切换至mulit-user
      systemctl isolate graphical.target # 不重启系统的情况下,将运行级别切换至图形模式
      
      # 查看CentOS7支持的系统运行级别target
      [root@www ~]# ll /usr/lib/systemd/system/runlevel*target
      lrwxrwxrwx. 1 root root 15 Apr  5 21:32 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
      lrwxrwxrwx. 1 root root 13 Apr  5 21:32 /usr/lib/systemd/system/runlevel1.target -> rescue.target
      lrwxrwxrwx. 1 root root 17 Apr  5 21:32 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
      lrwxrwxrwx. 1 root root 17 Apr  5 21:32 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
      lrwxrwxrwx. 1 root root 17 Apr  5 21:32 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
      lrwxrwxrwx. 1 root root 16 Apr  5 21:32 /usr/lib/systemd/system/runlevel5.target -> graphical.target
      lrwxrwxrwx. 1 root root 13 Apr  5 21:32 /usr/lib/systemd/system/runlevel6.target -> reboot.target
      
    • CentOS7在单机模式下修改root密码

    2.8 /etc/profile和/etc/bashrc

    作用:配置系统的环境变量和别名

    系统启动后加载环境变量的顺序:

    /etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc
    

    后面的配置文件中的变量或者别名会覆盖前面的配置文件中的相同配置

    /etc/profile/etc/bashrc中的设置作用于整个系统,而~/.bash_profile~/.bashrc中的设置只作用于当前用户

    查看系统命令别名:

    [00:26:33 root@www ~]# alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    

    临时修改系统别名:

    # 修改ll别名,加上--time-style=long-iso,让它显示的时间更加人性化
    [00:26:34 root@www ~]# alias ll='ls -l --time-style=long-iso --color=auto'
    [00:27:29 root@www ~]# ll -a
    total 32
    dr-xr-x---.  2 root root  128 2020-04-24 00:21 .
    dr-xr-xr-x. 17 root root  245 2020-04-23 22:43 ..
    -rw-------.  1 root root 2672 2020-04-24 00:17 .bash_history
    -rw-r--r--.  1 root root   18 2013-12-29 10:26 .bash_logout
    -rw-r--r--.  1 root root  176 2020-04-23 23:59 .bash_profile
    -rw-r--r--.  1 root root  176 2020-04-23 23:59 .bashrc
    -rw-r--r--.  1 root root  100 2013-12-29 10:26 .cshrc
    -rw-r--r--.  1 root root  129 2013-12-29 10:26 .tcshrc
    -rw-------.  1 root root 6046 2020-04-24 00:21 .viminfo
    

    永久修改别名:

    # 编辑/etc/bashrc文件
    # System wide functions and aliases
    # Environment stuff goes in /etc/profile
    # 加入自定义的别名
    alias ll='ls -l --time-style=long-iso --color=auto'
    
    # 重新加载,让别名生效
    source /etc/bashrc
    

    取消别名:

    # 如果别名已经写到环境变量配置文件中,那么这个操作只是暂时取消别名
    # 再次source配置文件之后,这个别名还是会生效
    unalias ll
    

    在别名存在的情况下不执行别名:

    [23:21:21 root@www tmp]# alias rm="echo not support operator"
    [23:21:57 root@www tmp]# rm
    not support operator
    # 现在就不是使用别名而是使用命令本身了
    [23:22:01 root@www tmp]# /rm -rf ./test.txt
    -bash: /rm: No such file or directory
    # 在别名存在的情况下也可以使用命令本身的绝对路径来执行原命令
    [23:24:33 root@www tmp]# /usr/bin/rm ./test.txt
    /usr/bin/rm: cannot remove ‘./test.txt’: No such file or directory
    

    Tips:

    内置命令和外置命令:内置命令,在没有设置PATH环境变量的情况下,不写命令的绝对路径也可以执行

    查看一个命令是否是内置命令:

    # cd是内置命令
    [23:56:38 root@www ~]# type cd
    cd is a shell builtin
    # vi就不是内置命令
    [00:24:22 root@www ~]# type vi
    vi is /usr/bin/vi
    

    2.9 /etc/profile.d

    作用:用户登录后执行的脚本所在的目录,此目录的脚本文件将在用户登录之后自动执行

    2.10 /etc/issue和/etc/issue.net

    作用:显示用户登录真实终端之后的信息

    [23:35:57 root@www ~]# cat /etc/issue
    \S
    Kernel \r on an \m
    
    [23:36:05 root@www ~]# cat /etc/issue.net 
    \S
    Kernel \r on an \m
    [23:36:08 root@www ~]# 
    

    /etc/issue:作用于本地登录的终端,本地登录的终端就是直接上服务器上登录

    /etc/issue.net:作用于远程连接登录前的提示,需要与/etc/ssh/sshd_config文件配合使用

    # 默认为Banner none,而且是注释的
    # 只有这里与/etc/issue.net文件绑定,才会在远程登录之前显示预先设置好的提示信息
    Banner /etc/issue.net
    

    /etc/issue.net文件不支持转义字符,所以它的效果为:

    在企业环境中,为了防止服务器版本泄露,一般会把/etc/issue.net文件清空,即远程登录的时候,不提示系统版本信息。

    常用的转义字符的含义:

    \d # 本地日期(Sat Apr 25 2020)
    \t # 本地时间(01:19:43)
    \l # 显示当前终端名称(tty1)
    \m # 显示硬件的等级(i386/i486/i586/i686/x86_64/...)
    \n # 显示主机名
    \o # 显示域名
    \r # 操作系统的版本(3.10.0-957.el7.x86_64)
    \v # 操作系统的版本和发行日期等信息(#1 SMP Thu Nov 8 23:39:32 UTC 2018)
    \s # 操作系统的名称(Linux)
    \S # 操作系统的版本(CentOS Linux 7 (Core))
    \u # 当前登录的用户是目前在线的用户中第几个登录的
    \U # 系统目前有几个在线用户,如果只有一个,提示"1 user",否则提示"n users",n为具体的在线人数
    

    2.11 /etc/motd

    作用:设置用户登录之后的提示信息的文件,默认是空的,可以在这个文件中编写一些运维注意事项,然后用户登录之后就会显示出来

    2.12 /etc/init.d

    作用:此目录是通过yum或者rpm包安装的软件的默认启动脚本存放的目录,例如,该目录下有个network脚本,可以对网络服务进行操作:

    /etc/init.d/network start
    /etc/init.d/network stop
    /etc/init.d/network restart
    

    系统管理人员人为开发的服务启停脚本也可以放在这里,在CentOS7之后,这个目录已经废弃了,服务器启停统一使用systemctl start/stop/restart some.service命令来管理

    2.13 /etc/redhat-release

    作用:声明Red Hat版本号和名称信息

    [00:49:58 root@www ~]# cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core)
    
    # 另一个查看系统版本的方法
    # 3.10.0-957.el7.x86_64是系统的内核版本
    [root@www ~]# uname -a
    Linux www 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    

    2.14 /etc/sysctl.conf

    作用:这是一个设计Linux系统性能调优的重要配置文件,用于设置Linux内核参数

    查看默认的内核参数:

    sysctl -a
    

    修改之后使配置生效的命令:

    sysctl -p
    

    3. Linux常用系统目录

    3.1 /usr/local

    这个目录一般是用来存放用户自编译安装软件,对于通过源码包安装的软件,如果没有特别指定安装目录的话,一般会默认安装到这个目录中,相当于Windows中的C:\Program files

    3.2 /usr/src

    这个目录一般被用来存放在网上下载的软件源代码

    3.3 /var/log

    这是记录系统日志和软件运行信息文件的目录,其中有大量的记录系统及软件服务运行的日志文件,其中常见的日志文件如下:

    • messages:系统默认的日志文件,这个文件非常重要,当系统及软件遇到运行故障时,可以查看这个文件获取异常信息,改文件默认按周滚动,滚动规则通过/etc/logrotate.conf/etc/logrotate.d/syslog文件来控制

    • secure:这个一个有关系统安全的日志文件,日志中记录了"谁,在什么时候,从哪里登录到系统,登录成功没有",ssh、telnet、ftp等服务的用户登录信息都会记录在此,默认也是按周滚动

    • dmesg:记录硬件加载情况的日志文件,当硬件和系统内核出现问题的时候,可以查看这个日志,此外,dmesg也是一个命令,用于收集记录硬件加载情况的信息,实际上系统启动后就是通过dmesg命令将收集到的信息写入到/var/log/dmesg文件中的

    • cron:定时任务的日志文件

    • wtmp:二进制文件,记录登陆者信息,执行last命令自动读取该文件

      [root@www log]# last
      root     pts/0        10.0.0.1         Sat Apr 25 14:37   still logged in   
      root     pts/0        10.0.0.1         Sat Apr 25 14:35 - 14:37  (00:02)    
      reboot   system boot  3.10.0-957.el7.x Sat Apr 25 14:32 - 15:00  (00:28)    
      root     pts/1        10.0.0.1         Sat Apr 25 01:11 - crash  (13:21)    
      root     pts/3        10.0.0.1         Sat Apr 25 00:49 - crash  (13:42)    
      root     pts/2        10.0.0.1         Sat Apr 25 00:49 - 01:10  (00:20)    
      root     pts/1        10.0.0.1         Sat Apr 25 00:45 - 01:05  (00:20)    
      root     pts/1        10.0.0.1         Sat Apr 25 00:44 - 00:45  (00:00)
      
    • lastlog:二进制文件,记录用户近期的登录情况,执行lastlog命令自动读取该文件

      [root@www log]# lastlog
      Username         Port     From             Latest
      root             pts/0    10.0.0.1         Sat Apr 25 14:37:41 +0800 2020
      bin                                        **Never logged in**
      daemon                                     **Never logged in**
      adm                                        **Never logged in**
      lp                                         **Never logged in**
      sync                                       **Never logged in**
      shutdown                                   **Never logged in**
      

    3.4 /proc

    /proc是一个虚拟文件系统,目录下的文件中记录着内核和进程方方面面的的信息,是一个很重要的信息库

    • /proc/loadavg:系统负载信息文件
    • /proc/meminfo:系统内存使用信息文件
    • /proc/cpuinfo:系统CPU使用信息文件
    • /proc/mounts:系统挂载信息
    • /proc/interrupts:当前系统中断信息文件

    查看CPU信息:

    [root@www ~]# cat /proc/cpuinfo 
    processor   : 0
    model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    physical id : 0
    siblings    : 2
    core id     : 0
    cpu cores   : 2
    
    processor   : 1
    model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    physical id : 0
    siblings    : 2
    core id     : 1
    cpu cores   : 2
    
    processor   : 2
    model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    physical id : 1
    siblings    : 2
    core id     : 0
    cpu cores   : 2
    
    processor   : 3
    model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    physical id : 1
    siblings    : 2
    core id     : 1
    cpu cores   : 2
    
    # physical id是0和1,代表系统有2颗CPU
    # 每个CPU有两个核,因为每个CPU都有两个processor,其编号分别为0和1
    # cpu cores为2,以physical id为单位,统计一颗CPU的总核数
    # 整个系统有4个核
    
    # lscpu和cat /proc/cpuinfo作用一样
    [root@www ~]# lscpu
    CPU(s):                4 # 系统总共有几个核
    Core(s) per socket:    2 # 每颗CPU有几个核
    Socket(s):             2 # 系统有几颗CPU
    

    查看内存信息:

    [root@www ~]# cat /proc/meminfo 
    MemTotal:         995924 kB # 内存总量
    MemFree:          723720 kB # 空闲内存
    MemAvailable:     701628 kB # 可用内存
    Buffers:            2076 kB # buffer已使用内存
    Cached:            84524 kB # cache已使用内存
    SwapCached:            0 kB # 交换空间已使用空间
    
    [root@www ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           972M        125M        706M        7.5M        140M        685M
    Swap:          2.0G          0B        2.0G
    

    查看挂载信息:

    [root@www ~]# cat /proc/mounts | grep sda
    /dev/sda3 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
    /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
    
    [root@www ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        17G  1.8G   16G  11% /
    devtmpfs        476M     0  476M   0% /dev
    tmpfs           487M     0  487M   0% /dev/shm
    tmpfs           487M  7.6M  479M   2% /run
    tmpfs           487M     0  487M   0% /sys/fs/cgroup
    /dev/sda1      1014M  127M  888M  13% /boot
    tmpfs            98M     0   98M   0% /run/user/0
    

    查看系统负载信息:

    [root@www ~]# cat /proc/loadavg 
    # 第1个数字:1min内的平均负载
    # 第2个数字:5min内的平均负载
    # 第3个数字:15min内的平均负载
    # 负载值和CPU核数有关
    # 4核的服务器,当这个值到达3的时候就要关注了
    # 128核的服务器,当这个值大于100的时候就要关注了
    0.00 0.03 0.05 1/128 7032
    
    [root@www ~]# w
    # up 14 min:服务器持续运行14min
    # 1 user:当前有一个用户连接系统
     22:28:06 up 14 min,  1 user,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    10.0.0.1         22:14    6.00s  0.09s  0.02s w
    

    相关文章

      网友评论

        本文标题:011.Linux目录结构以及重要系统文件

        本文链接:https://www.haomeiwen.com/subject/clepvhtx.html