• 网络安全:系统目录介绍


    [#####成功在于你坚持了别人坚持不了的东西####]

    1.1 系统目录结构介绍

    1.1.1 系统目录结构对比介绍

    windows目录形式:

    c:\windows\system
    
    • 1
    路径分隔符是"\",D、E等盘的目录结构与之类似。
    
    • 1

    Linux目录形式:

    绝对路径方式

    /etc/hosts
    
    • 1

    相对路径方式

    hosts
    ./host      -- ./  表示当前路径
    ../../host -- ../ 表示上一级所在的目录
    路径分隔符为"/",Linux系统的一切目录都是从"/" 根开始的。
    
    • 1
    • 2
    • 3
    • 4

    1.1.2 系统目录结构基本特点

    系统目录结构对比效果:

    在这里插入图片描述

    系统目录结构之:绝对与相对路径说明

    在这里插入图片描述

    Linux目录结构的特点小结:

    Linux系统的所有目录都是一个有层次的倒立着的树状目录结构(倒挂树形结构),“/” 根是所有目录的顶点。

    对于Linux的目录来说,一切从根开始。

    所有的目录都是按照一定的类别有规律地进行组织和命名的。

    相对路径与绝对路径具有如下关系:

    绝对路径:是指以根为起始点的路径,例如:/tmp 、/opt

    相对路径:是指相对于非“/”路径的路径,即路径开头没有 “/”斜线,;例如:etc/sysconfig、opt/tmp

    在这里插入图片描述

    1.2 系统目录结构详解

    1.2.1 系统目录层次结构标准

    FHS的全程为Filesystem Hierarchy Standard,中文意思是目录层次标准,是Linux的目录规范标准。

    详情参见:https://www.pathname.com/fhs/

    详情参见:https://developer.ibm.com/technologies/linux/

    FHS定义了两层规范,具体如下:

    第一层是 / 目录下的各个目录应该存放什么样的文件数据,例如,/etc目录下放置的是系统的配置文件(比如:/etc/exports、/etc/hosts等),而/bin和/sbin下存放的则是程序及系统命令。

    第二层是针对/usr(unix software resource或secondary hierarchy)和/var(variable data)这两个目录的子目录来定义的。例如,/var/log下放置的是系统日志文件等。

    1.2.2 系统根下目录结构详解

    对于每一个Linux初学者来说,花费时间掌握Linux系统的目录结构知识是很有必要的。

    在Linux系统中 / 目录就是文件系统的组织者,通过tree命令可以查看Linux的以及目录结构:

    [root@xiaoQ /]# 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
    ​
    19 directories, 0 files
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    以上目录结构中,详细的目录作用说明如下:

    序号 目录 说明(用※进行标注的需要重点关注)
    01 /bin ※ 该目录为binaries英文的缩写,是常用的二进制命令所在的目录。
    比如:ls cp mkdir rm等命令;/bin目录已成为/usr/bin的软链接
    02 /sbin ※ 英文system binaries的缩写,大多涉及系统管理命令的存放,是超级权限用户root可执行命令的存放地,这个目录与/usr/sbin,/usr/X11R6/sbin或/usr/local/sbin目录是相似的;系统级命令,一般最好是通过sudo让普通用户执行这些命令,常见的命令有fdisk、reboot、fsck、halt等
    03 /boot ※ Linux的内核及系统引导程序所需的文件目录。安装系统分区的时候一般要单独分一个boot分区,大小可为256MB~1024MB,该分区的数据增长很小,/boot目录就是引导分区的挂载
    04 /dev ※ 设备文件的目录,比如声卡、磁盘、光驱、等等。
    05 /etc ※ ·二进制软件安装包(yum rpm)等配置文件的默认路径,例如:/etc/exports、/etc/hosts
    ·CentOS6下服务启动命令的存放目录,主要存放在/etc/init.d下。如:/etc/init.d/sshd、/etc/init.d/iptables等
    06 /home ※ 普通用户的家目录,默认数据存放目录
    07 /root ※ Linux超级权限用户root的家目录
    08 /lib 英文libraries的缩写,启动系统和运行命令所需的共享库文件和内核模块存放目录,例如 /bin和/sbin下的某些命令,分为/lib和/lib64两种
    09 /lost+found 在ext3文件系统中,当系统以外崩溃或机器以外关机时,会在这里产生一些文件碎片。系统在开机启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。当系统发生问题时,可能会有文件被移到这个目录中,可能需要通过手工的方式来进行修复,或者移文件到原来的位置上。
    10 /media 可移除的媒体的挂载点,例如:CD-ROM、U盘等的挂载,使用效率较低
    11 /mnt ※ 英文Mount point的缩写,用作文件系统的临时挂载点,也可以作为CD-ROM、U盘等挂载,使用频率较高
    12 /opt 英文option的缩写,表示的意思是可选择,被保留用于安装额外的应用软件包目录,例如:通过源码包安装的软件,可以通过 “./configure -prefix=/opt/” 命令设置将软件安装在/opt下,但并非必须这样,具体应视习惯或规范而定
    13 /proc ※ 操作系统运行时,进程信息及内核信息(比如CPU 硬盘分区 内存信息等)均存在在这里。/proc目录是虚拟文件系统的挂载点,proc并不是真正的文件系统。系统运行时,很多信息都在这个目录下。(此目录中数据存储放在内存中)
    14 /tmp ※ 英文Temporary files的缩写,为临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就是用来存放临时文件的,权限比较特殊。/var/tmp目录与这个目录比较相似,这个目录可以用作Linux系统的回收站。
    15 /usr ※ 英文解释是第二层次标准,这是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多文件和目录。当安装一个Linux发行版官方提供的软件包时,大多安装在这里。/usr一般被认为是unix software resource的缩写。
    16 /var ※ 英文variable data的缩写,这个目录的内容是经常变动的,看名字就知道,可以将其理解为vary的缩写,/var下有/var/log,这里用来存放系统日志的目录;/var/lib用来存放一些库文件。
    17 /srv srv可以视为service的缩写,可用于存放为用户提供服务的数据所在的目录,例如:www ftp数据。
    18 /sys 与/proc类似,也是虚拟的文件系统,用于存放内核等信息的目录,包含内内核、总线、设备、模块组、电源选项等。

    1.3 磁盘挂载操作说明

    1.3.1 磁盘数据应用挂载简介

    windows系统使用磁盘
    进行磁盘分区和创建文件系统后,将相应分区设置一个盘符,相当于一个磁盘分区的入口,就使用磁盘存储数据

    Linux系统使用磁盘:
    在Linux系统中是没有盘符概念的,所以一个分区设置好后,怎么给这个分区设置一个入口,从而进入分区;

    在早期就出现了很大的困惑,所以引申出了磁盘分区的挂载概念。

    挂载的作用:就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。

    1.3.2 磁盘管理挂载操作实践

    挂载命令介绍:

    mount命令用于挂载文件系统(给指定磁盘分区设置一个入口);

    挂载是在使用硬盘设备前所执行的最后一步操作;

    使用mount命令把存储设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了;

    挂载命令语法:

    mount 参数 存储设备 挂载点目录
    
    • 1

    挂载参数信息:

    序号 参数信息 解释说明
    01 -a 挂载所有在/etc/fstab中定义的文件系统
    02 -t 指定文件系统的类型
    挂载实践操作:

    实践情况-01:对存储设备进行挂载操作(临时挂载)

    进行光驱设备挂载过程

    01-在虚拟主机中加载系统镜像

    [root@xiaoq ~]# ll /dev/cdrom 
    lrwxrwxrwx 1 root root 3 Jan 18 18:09 /dev/cdrom -> sr0
    
    • 1
    • 2

    02-在系统中进行光驱挂载过程

    [root@xiaoq ~]# ll /mnt              
    total 0
    
    • 1
    • 2

    – 默认mnt目录没有挂载时,就只是根目录下的一个子目录,里面并没有数据信息

    [root@xiaoq ~]# mount /dev/cdrom /mnt
    mount: /dev/sr0 is write-protected, mounting read-only
    
    • 1
    • 2

    – 经mnt目录和光驱设备进行关联,光驱存储设备默认为只读状态

    03-进入挂载目录检查数据信息

    [root@xiaoq ~]# ls /mnt
    CentOS_BuildTag  EULA  LiveOS     RPM-GPG-KEY-CentOS-7                TRANS.TBL  isolinux
    EFI                           GPL   Packages  RPM-GPG-KEY-CentOS-Testing-7  images        repodata
    
    • 1
    • 2
    • 3

    说明:以上操作为系统临时挂载,当系统重启后,以上操作配置会失效。

    1.3.3 磁盘管理卸载操作实践

    卸载命令介绍:

    umount命令用于卸载文件系统,等价于将存储设备的入口给取消掉。

    卸载命令语法:

    umount 参数 挂载点目录
    
    • 1

    卸载命令参数:

    序号 参数信息 解释说明
    01 -l 表示不用进行目录切换,完成挂载点目录的卸载
    02 -f 表示在挂载点目录中,如果有数据信息被服务或系统加载,可以实现强制卸载
    挂载实践操作:

    实践情况-01:基本卸载操作过程

    [root@xiaoq ~]# umount /mnt
    
    • 1

    – 表示此时sdb1存储设备和xiaoQ_mount目录建立了挂载关系

    说明:卸载操作过程是一定风险的,在企业中最好进行确认,再进行卸载操作。

    1.4 重要系统文件介绍

    1.4.1 系统网卡配置文件

    文件路径:

    系统网卡文件默认名称

    /etc/sysconfig/network-scripts/ifcfg-ens33
    
    • 1

    系统网卡文件常用名称

    /etc/sysconfig/network-scripts/ifcfg-eth0
    
    • 1

    文件介绍:

    这是Linux系统第一块网卡的配置文件所在的路径,其中第一块网卡配置文件的结尾标识为eth0(ens33),第二块为eth1(ens34),以此类推。

    当通过执行命令nmtui来修改网卡配置时,实际上就是在修改这个/etc/sysconfig/network-scripts/ifcfg-eth0文件,所以也可以通过直接编辑该文件的方式实现对网卡配置的更改。

    文件信息:

    [root@xiaoQ /]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
    
    • 1
    TYPE=Ethernet                            
    -- 上网类型,目前基本上都是以太网
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none                    
    -- 启动协议,获取配置方式,有none|bootp|dhcp三种选项配置
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    -- 第一块网卡的逻辑设备名,第二块为eth1
    UUID=0601d4ac-d6a5-447a-8e9c-c71e3efda9f6
    -- 通用唯一识别码(Universally Unique Identifier),如果是vm克隆虚拟机,会无法启动网卡,需删除此项
    DEVICE=eth0
    -- 第一块网卡的逻辑设备名,第二块为eth1
    ONBOOT=yes
    -- 这个地方要为yes,才能保证下次开机启动时激活网卡设备
    IPADDR=10.0.0.100
    -- 这是虚拟机桥接模式,局域网Linux服务器的固定IP地址
    PREFIX=24
    -- 子网掩码位数,这里是24位
    GATEWAY=10.0.0.254
    -- 局域网上网网关地址
    DNS1=223.5.5.5  阿里云
    DNS2=223.6.6.6
    -- 主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效
    IPV6_PRIVACY=no
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    文件生效:

    配置完网卡之后,可以通过重启网络服务,来使得所有网卡的配置文件生效。

    [root@xiaoQ /]# systemctl restart network
    或者
    [root@xiaoQ /]# service network restart
    
    • 1
    • 2
    • 3

    查看网络状态信息

    [root@xiaoQ /]# systemctl status network
       network.service - LSB: Bring up/down networking
       Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
       Active: active (exited) since Wed 2021-12-08 16:57:07 CST; 27s ago
    
    • 1
    • 2
    • 3
    • 4

    如果只需让某个单独的ethX网卡配置生效,则可以通过以下命令操作:

    常规用法

    [root@xiaoQ /]# ifdown eth0 && ifup eth0
    
    • 1

    扩展用法

    [root@xiaoQ /]# nmcli con down eth0 && nmcli con up eth0 
    
    • 1

    说明:以上文件配置完毕后,重启网络服务之后,只要可以利用ping命令访问外网主机地址或域名即可。

    知识扩展:如何修改网卡名称信息?

    方法一:系统安装过程中修改

    加载系统镜像文件,显示系统安装界面信息:

    在这里插入图片描述

    在启动配置信息中添加如下信息:

    net.ifnames=0 biosdevname=0
    
    
    • 1
    • 2

    在这里插入图片描述

    说明:上面信息编辑时,可以利用空格进行换行编辑,只有编辑完毕后才能操作回车,进入系统安装界面

    查看确认配置信息是否生效:

    在这里插入图片描述

    方法二:系统安装完毕后修改

    编辑网卡配置文件中网卡名称信息

    [root@xiaoQ /]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    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
    -- 修改网卡设备逻辑名称
    UUID=0601d4ac-d6a5-447a-8e9c-c71e3efda9f6
    DEVICE=eth0
    -- 修改网卡设备逻辑名称
    ONBOOT=yes
    IPADDR=10.0.0.100
    PREFIX=24
    GATEWAY=10.0.0.254
    DNS1=223.5.5.5
    DNS2=223.6.6.6
    IPV6_PRIVACY=no
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    重命名网卡配置文件名称信息

    [root@xiaoQ ~]# cd /etc/sysconfig/network-scripts/
    [root@xiaoQ network-scripts]# mv ifcfg-ens33 ifcfg-eth0
    
    • 1
    • 2

    修改网卡名称规则内核文件

    [root@xiaoQ ~]# cat /etc/default/grub 
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"
    -- 添加网卡名称修改配置参数 net.ifnames=0 biosdevname=0
    GRUB_DISABLE_RECOVERY="true"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    使系统重新加载grub配置文件

    [root@xiaoQ ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
    
    • 1

    重启操作系统,进行查看确认

    [root@xiaoQ ~]# reboot
    
    • 1

    1.4.2 系统DNS客户端配置文件

    文件路径:

    /etc/resolv.conf
    
    • 1

    文件介绍:

    DNS(Domain Name System)在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址,例如:将www.baidu.com解析为对应IP地址记录(如 220.181.38.150),这个从域名到IP地址的解析过程,称为A记录,即Address Record。

    DNS分为服务端和客户端两个部分,本章节知识点内容主要讲解的是系统上网客户端层面的配置,可以通过修改/etc/resolv.conf配置DNS客户端。

    说明:DNS服务详细知识点介绍讲解会放在运维基础网络知识章节说明,敬请关注。

    文件信息:

    [root@xiaoQ ~]# cat /etc/resolv.conf 
     Generated by NetworkManager
    search linux
    nameserver 223.5.5.5
    nameserver 223.6.6.6
    
    • 1
    • 2
    • 3
    • 4
    • 5

    — 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。
    — 在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver。

    文件生效:

    文件信息配置完毕保存后立即生效。

    需要特别注意的是,在网卡配置文件里配置的DNS会覆盖/etc/resolv.conf里的DNS配置信息。

    1.4.3 系统DNS客户端解析文件

    文件路径:

    /etc/hosts
    
    • 1

    文件介绍:

    此文件作用是设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网内)的DNS解析文件。

    一般在企业里进行开发或测试工作时会使用hosts域名解析,实现机房服务器之间的互相调用。

    文件信息:

    [root@xiaoQ ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1              localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    • 1
    • 2
    • 3

    文件生效:

    文件信息配置完毕保存后立即生效。

    [root@xiaoQ etc]# cat /etc/hosts
    ..省略部分...
    10.0.0.101  xiaoQ.com
    ​
    [root@xiaoQ etc]# ping xiaoQ.com
    PING xiaoQ.com (10.0.0.101) 56(84) bytes of data.
    64 bytes from xiaoQ.com (10.0.0.101): icmp_seq=1 ttl=64 time=0.089 ms
    64 bytes from xiaoQ.com (10.0.0.101): icmp_seq=2 ttl=64 time=0.105 ms
    ^C
    --- xiaoQ.com ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1004ms
    rtt min/avg/max/mdev = 0.089/0.097/0.105/0.008 ms
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.4.4 系统主机名称配置文件

    文件路径:

    /etc/hostname 
    
    • 1

    文件介绍:

    此文件为cnetos7系统主机名称的永久配置文件,可以实现主机名称的修改调整

    文件信息:

    [root@xiaoQ etc]# cat /etc/hostname 
    xiaoQ.linux
    
    • 1
    • 2

    文件生效:

    需要重新启动操作信息,才能使文件配置生效。

    说明:系统主机名称最好有合理规划,不要多台企业环境主机公用一个系统名称。

    经验:主机业务名称.区域.位置

    1.4.5 配置系统环境变量

    文件路径:

    全局配置文件

    /etc/profile
    /etc/bashrc
    
    • 1
    • 2

    局部配置文件

    ~/.bash_profile
    ~/.bashrc
    
    • 1
    • 2

    全局配置文件:文件中的配置信息对系统的全部用户都生效。

    局部配置文件:文件中的配置信息只对系统的指定用户生效。

    文件介绍:

    系统变量、系统环境变量、以及系统别名功能进行永久配置生效的文件。可以实现运维人员管理系统的部分功能。

    文件信息:

    全局配置文件信息

     /etc/profile 文件部分配置信息
    [root@xiaoQ01 ~]# cat /etc/profile
     /etc/profile
    
    • 1
    • 2
    • 3
    ​
     System wide environment and startup programs, for login setup
     Functions and aliases go in /etc/bashrc
    ...省略部分信息...
    if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    ...省略部分信息...
    unset i
    unset -f pathmunge
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    /etc/bashrc 文件部分配置信息

    [root@xiaoQ01 ~]# cat /etc/bashrc
    # /etc/bashrc
    ​
    # System wide functions and aliases
    # Environment stuff goes in /etc/profile# It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.
    ...省略部分信息...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11


    局部配置文件信息

    ~/.bash_profile 文件部分配置信息

    [root@xiaoQ01 ~]# cat ~/.bash_profile 
    # .bash_profile
    ​
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
        . ~/.bashrc
    fi
    ​
    # User specific environment and startup programs
    ​
    PATH=$PATH:$HOME/bin
    ​
    export PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13


    ~/.bashrc 文件部分配置信息

    [root@xiaoQ01 ~]# cat ~/.bashrc 
    # .bashrc
    ​
    # User specific aliases and functions
    ​
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'# Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    文件生效:

    方法一:重新连接系统主机使之生效

    系统变量(环境变量)永久设置方法

    [root@xiaoQ01 ~]# tail -1 /etc/profile
    export XIAOQ=linux 
    [root@xiaoQ01 ~]# echo $XIAOQ
    
    • 1
    • 2
    • 3

    让配置文件信息生效,需要重新连接主机

    [root@xiaoQ01 ~]# echo $XIAOQ
    linux
    
    • 1
    • 2

    系统别名功能永久设置方法

    [root@xiaoQ01 ~]# tail -1 /etc/profile
    alias ipinfo='grep "IPADD" /etc/sysconfig/network-scripts/ifcfg-eth0'
    [root@xiaoQ01 ~]# ipinfo01
    -bash: ipinfo01: command not found
    
    • 1
    • 2
    • 3
    • 4

    让配置文件信息生效,需要重新连接主机

    [root@xiaoQ01 ~]# ipinfo01 
    IPADDR=10.0.0.101
    
    • 1
    • 2

    方法二:执行系统操作命令使之生效

    系统变量(环境变量)永久设置方法

    [root@xiaoQ01 ~]# tail -1 /etc/profile
    export XIAOQ=linux123 
    [root@xiaoQ01 ~]# echo $XIAOQ
    linux
    
    • 1
    • 2
    • 3
    • 4

    让配置文件信息生效,可以执行加载命令

    [root@xiaoQ01 ~]# source /etc/profile
    [root@xiaoQ01 ~]# . /etc/profile
    [root@xiaoQ01 ~]# echo $XIAOQ
    linux123
    
    • 1
    • 2
    • 3
    • 4

    说明:无论是source命令或是. 和文件路径之间都必须有空格

    系统别名功能永久设置方法:

    …省略…

    环境变量与配置文件具体配置分析:

    分析-01:全局与局部配置分析

    全局配置普通变量

    [root@xiaoQ01 ~]# tail -1 /etc/profile
    xiaoQ=Linux
    [root@xiaoQ01 ~]# echo $xiaoQ
    Linux
    [xiaoQ@xiaoQ01 ~]$ echo $xiaoQ
    Linux
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    – 系统中所有用户都可以加载指定变量信息

    局部配置普通变量

    [xiaoQ@xiaoQ01 ~]$ tail -1 ~/.bash_profile 
    xiaoQ=Linuxedu
    [root@xiaoQ01 ~]# echo $xiaoQ
    Linux
    [xiaoQ@xiaoQ01 ~]$ tail -1 ~/.bash_profile 
    xiaoQ=Linuxedu
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    — 系统中局部文件设置会让相应用户加载,并且局部配置优先于全局配置

    分析-02:配置文件生效加载顺序

    在四个个变量与别名有关的文件都写上相应内容

    [root@xiaoQ01 ~]# echo info=Linux_profile >> /etc/profile
    [root@xiaoQ01 ~]# tail -1 /etc/profile
    info=Linux_profile
    [root@xiaoQ01 ~]# echo info=Linux_bashrc >> /etc/bashrc
    [root@xiaoQ01 ~]# tail -1 /etc/bash
    tail: cannot open ‘/etc/bash’ for reading: No such file or directory
    [root@xiaoQ01 ~]# tail -1 /etc/bashrc
    info=Linux_bashrc
    [root@xiaoQ01 ~]# echo info=Linux_home-profile >> ~/.bash_profile 
    [root@xiaoQ01 ~]# tail -1 ~/.bash_profile 
    info=Linux_home-profile
    [root@xiaoQ01 ~]# echo info=Linux_home-bashrc >> ~/.bashrc 
    [root@xiaoQ01 ~]# tail -1 ~/.bashrc
    info=Linux_home-bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    利用加载变量方法,测试文件别加载优先顺序

    [root@xiaoQ01 ~]# echo $info 
    Linux_home-profile
    --- 01 用户家目录中的.bash_profile文件会优先生效
    [root@xiaoQ01 ~]# echo $info
    Linux_home-bashrc
    --- 02 用户家目录中的.bashrc文件会优先生效
    [root@xiaoQ01 ~]# echo $info
    Linux_bashrc
    --- 03 系统etc目录中的bashrc文件会优先生效
    [root@xiaoQ01 ~]# echo $info
    Linux_profile
    --- 04 系统etc目录中的bashrc文件会优先生效
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    知识扩展:

    什么是系统变量和环境变量配置?
    在Linux系统中,将命令信息整合在一个文件中,就可以称为脚本文件–自动化操作

    系统变量概念说明:

    普通变量:系统中满足特定调用需求的配置信息,并且可能随时会发生调整变化的参数。

    环境变量:系统中默认已经存在,可以进行修改调整,会对系统功能有一定影响的变量。

    环境变量 vs 普通变量特点:

    · 变量信息在系统中默认已经存在

    · 变量信息名称设置为大写字母

    · 变量功能配置对系统中全部用户生效

    · 变量的设置会对系统功能有一定影响

    举例说明:PATH–对命令执行功能有影响

    [root@xiaoQ01 ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@xiaoQ01 ~]# mv /bin/ls /tmp
    [root@xiaoQ01 ~]# ls
    -bash: /usr/bin/ls: No such file or directory
    [root@xiaoQ01 ~]# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp
    [root@xiaoQ01 ~]# ls
    grep_test.txt  shell-01.sh  test.txt  tr_test.txt  xiaoQ01.txt  xiaoQ02.txt  xiaoQ03.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Linux系统执行命令原理

    01 会先加载环境变量,获取目录信息

    02 在指定目录下检索执行命令文件

    03 检查是否存在别名信息 ???

    04 运行命令二进制文件,实现功能操作

    系统变量配置方法:

    设置变量方法:

    普通变量

    xiaoQ=Linux  -- X=1
    
    • 1

    变量名 变量值

    环境变量

    export XIAOQ=Linux
    
    • 1

    声明 变量名 变量值
    调用变量方法:

    普通变量

    [root@xiaoQ01 ~]# echo $xiaoQ
    
    • 1

    环境变量

    [root@xiaoQ01 ~]# env
    XIAOQ=Linux
    [root@xiaoQ01 ~]# set
    XIAOQ=Linux
    
    • 1
    • 2
    • 3
    • 4

    说明:普通变量和环境变量配置信息若想永久生效,需要将配置信息写入到以上讲解的变量配置文件中。

    什么是系统别名配置?
    系统别名概念说明:

    系统中的别名就是将比较复杂或参数信息繁琐的命令,进行简化输入的形式,可以有效提高管理人员的操作效率和准确率。一般在企业环境中,使用或配置别名的作用主要有两点:

    将危险的命令加一些保护参数等,以防止认为误操作。
    将很多复杂的字符串或命令变为一个简单的字符串或命令

    系统别名配置方法:

    设置别名功能:

    临时配置别名功能

    [root@xiaoQ01 ~]# grep "IPADD" /etc/sysconfig/network-scripts/ifcfg-eth0 
    IPADDR=10.0.0.101
    [root@xiaoQ01 ~]# alias ipinfo='grep "IPADD" /etc/sysconfig/network-scripts/ifcfg-eth0'
    [root@xiaoQ01 ~]# ipinfo 
    IPADDR=10.0.0.101
    
    • 1
    • 2
    • 3
    • 4
    • 5

    取消别名功能:

    临时取消别名功能

     方法-01:采用绝对路劲执行命令
    /bin/cp /mnt/test.txt /tmp/test.txt
     方法-02:利用转义符来执行命令
    \cp  /mnt/test.txt /tmp/test.txt
    
    • 1
    • 2
    • 3
    • 4

    彻底取消别名功能

    [root@xiaoQ01 ~]# alias 
    ...省略部分信息...
    alias ipinfo='grep "IPADD" /etc/sysconfig/network-scripts/ifcfg-eth0'
    [root@xiaoQ01 ~]# unalias ipinfo
    [root@xiaoQ01 ~]# ipinfo
    -bash: ipinfo: command not found
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    系统别名默认配置:

    在Linux系统环境中,会有一些系统本身已经配置好的默认别名,具体默认别名信息如下所示:

    复制命令设置别名:

    alias cp='cp -i'
    -i  prompt before overwrite
    
    • 1
    • 2
     -- 在覆盖数据信息时会进行提示
    
    • 1

    移动命令设置别名:

    alias mv='mv -i'
    -i  prompt before overwrite
    
    • 1
    • 2
     -- 在覆盖数据信息时会进行提示
    
    • 1

    删除命令设置别名:

    alias rm='rm -i'
    -i  prompt before every removal
    
    • 1
    • 2
     -- 在删除数据信息时会进行提示
    
    • 1

    过滤命令设置别名:

    alias egrep='egrep --color=auto'
    --color use markers to highlight the matching strings
    
    • 1
    • 2
             -- 将匹配的数据信息进行高亮显示
    
    • 1
    alias fgrep='fgrep --color=auto'
    --color use markers to highlight the matching strings
    
    • 1
    • 2
             -- 将匹配的数据信息进行高亮显示
    
    • 1
    alias grep='grep --color=auto'
    --color use markers to highlight the matching strings
    
    • 1
    • 2
             -- 将匹配的数据信息进行高亮显示
    
    • 1

    查看命令设置别名:

    alias l.='ls -d .* --color=auto'
    -d          list directories themselves, not their contents
    
    • 1
    • 2
              -- 查看目录本身,而不是指定目录下面的内容
    
    • 1
    --color  colorize the output
    
    • 1
              -- 不同数据类型进行颜色标记
    
    • 1
    alias ll='ls -l --color=auto'
    -l           use a long listing format
    
    • 1
    • 2
              --  使用长列表格式显示文件数据的详细信息
    
    • 1
    --color  colorize the output
    
    • 1
              -- 不同数据类型进行颜色标记
    
    • 1
    alias ls='ls --color=auto'
    --color  colorize the output
    
    • 1
    • 2
              -- 不同数据类型进行颜色标记
    
    • 1

    系统别名实践练习:

    实践练习-01:将删除命令设置为别名,每次删除文件只有提示信息但不会真正删除

    实践练习-02:将删除命令设置为别名,使用移动命令将数据移动到回收站替换删除

    1.4.7 用户登录终端后显示信息文件

    文件路径:

    /etc/motd
    
    • 1

    文件介绍:

    此文件配置的是用户登录系统之后显示的内容,相当于登录后的一个提示作用,默认是空的。

    文件信息:

    [root@xiaoQ01 ~]# cat /etc/motd 
    [root@xiaoQ01 ~]# echo "I am Linux teacher, my name xiaoq" >> /etc/motd 
    [root@xiaoQ01 ~]# exit
    logout
    ​
    Connection closed by foreign host.
    Disconnected from remote host(Linux-01) at 00:31:15.
    Type `help' to learn how to use Xshell prompt.
    [d:\~]$ 
    Connecting to 10.0.0.101:22...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.
    ​
    Last login: Sat Dec 11 00:21:35 2021 from 10.0.0.1
    I am Linux teacher, my name xiaoq
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    — 显示加载了配置文件中的字符串信息

    文件生效:

    文件信息配置改动后,需要退出系统登录状态(快捷键ctrl+d表示退出),然后重新登录加载文件配置信息。

    1.4.8 声明系统版本号和名称信息文件

    文件路径:

    /etc/redhat-release
    
    • 1

    文件介绍:

    此文件用于声明Red Hat版本号和名称信息的文件,如果需要查看系统的版本等信息,可以读取这个文件进行查看。

    文件信息:

    [root@xiaoQ01 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.8.2003 (Core)
    
    • 1
    • 2

    获取系统详细信息情况

    [root@xiaoQ01 ~]# uname -a
    Linux xiaoQ01.linux 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    
    • 1
    • 2

    在这里插入图片描述

    系统重要文件梳理总结:(/etc)

    序号 文件 说明
    01 /etc/sysconfig/network-scripts/ifcfg-eth0 系统网卡配置文件
    02 /etc/resolv.conf 系统DNS客户端配置文件
    03 /etc/hosts 系统DNS客户端解析文件
    04 /etc/hostname 系统主机名称配置文件
    05 /etc/profile /etc/bashrc 配置系统环境变量/别名的文件
    ~/.bash_profile ~/.bashrc
    06 /etc/motd 用户登录终端后显示信息文件
    07 /etc/redhat-release 声明系统版本号和名称信息文件

    1.5 重要系统目录介绍

    1.5.1 用户登录后执行脚本所在目录

    目录路径:

    /etc/profile.d/
    
    • 1

    目录介绍:

    此目录为加载系统登录程序的目录,也是用户登录后执行的脚本所在地,目录里面的程序以文件的形式存在(一般以 *.sh 为扩展名),并且文件信息可以执行。

    此目录前期作用不大,企业架构课程章节中会讲解jumpserver,会需要加载jumpserver程序的脚本文件。

    目录信息:

    [root@xiaoQ01 ~]# ls /etc/profile.d/
    256term.csh colorgrep.csh  colorls.csh  csh.local  lang.sh   less.sh   vim.csh  which2.csh
    256term.sh   colorgrep.sh    colorls.sh    lang.csh   less.csh  sh.local  vim.sh   which2.sh
    
    • 1
    • 2
    • 3

    1.5.2 系统软件安装后默认存在目录

    目录路径:

    /usr/local
    或者
    /opt
     
    
    • 1
    • 2
    • 3
    • 4

    目录介绍:

    以上两个目录一般是用来存放用户自编译安装软件的目录,对于通过源码包安装的软件,如果没有特别指定安装目录的话,一般会安装在这个目录中,相当于windows系统下的c:\Program file

    知识扩展

    软件程序安装方法

    方法一:手动安装方式-rpm (RHCE/CentOS) .rpm window软件包 .exe MacOS .dmg pkg

    操作步骤:

    下载软件程序包到本地系统中 (xxx.rpm)
    需要安装软件可能所需的依赖 想安装A软件–先安装好B软件 C D E F
    执行命令进行软件安装与部署

    [root@xiaoQ01 ~]# rpm -ivh software-package.rpm
    
    • 1

    — 直接安装软件包(推荐)

    [root@xiaoQ01 ~]# rpm --force -ivh software-package.rpm
    
    • 1

    — 忽略报错,强制安装(了解)

    [root@xiaoQ01 ~]# rpm --replacepkgs -ivh software-package.rpm
    
    • 1

    — 覆盖替换安装
    以上命令常用参数:

    序号 参数 解释说明
    01 -i 表示安装软件程序包
    02 -v 更详细的显示软件安装过程
    03 -h 安装数据包过程中打印显示hash标记信息
    04 --force 表示进行强制安装程序(强制覆盖原有程序和原有程序配置文件)
    05 --replacepkgs 如果软件包已经存在会进行重新安装(不会覆盖替换软件配置信息)

    特点说明:

    安装软件过程需要解决软件依赖关系 (缺点)
    可以无需网络连接进行本地软件安装 (优点)
    软件安装过程无需配置额外配置参数

    方法二:自动安装方式-yum(推荐)

    操作步骤:

    查看可以下载的软件包信息

    [root@xiaoQ01 ~]# yum info
    [root@xiaoQ01 ~]# yum list
    
    • 1
    • 2

    – 显示详细的软件包或软件包组信息

    查看指定的软件包信息(软件包中的数据信息)

    [root@xiaoQ01 ~]# yum search 软件名称
    [root@xiaoQ01 ~]# yum provides 软件名称
    
    • 1
    • 2

    进行软件安装部署过程

    [root@xiaoQ01 ~]# yum install -y 软件包/软件包组
    — 采用免交互方式进行软件安装
    [root@xiaoQ01 ~]# yum reinstall -y 软件包/软件包组
    — 覆盖重复安装指定软件程序

    特点说明:

    安装软件过程无需解决软件依赖关系 (优势)
    必须需要网络连接进行本地软件安装 (架构阶段–本地yum源部署过程???)
    软件安装过程无需配置额外配置参数

    方法三:编译安装方式

    操作步骤:

    需要进行单独下载软件程序
    需要进行解决软件依赖问题
    需要进行软件安装配置过程 路径配置 功能配置 组件配置
    需要进行软件安装编译过程 编译过程 == 翻译过程 软件程序代码进行翻译
    需要完成最终软件安装过程
    说明:在架构知识阶段和数据库阶段都会实战讲解软件编译安装过程,基础阶段了解知道即可。

    特点说明:

    安装软件过程需要解决软件依赖关系
    可以无需网络连接进行本地软件安装
    软件安装过程需要配置额外配置参数(可以实现定制化安装)

    方法四:二进制包安装 == windows(绿色软件)

    操作步骤:

    需要进行单独下载软件程序 (压缩包)
    需要进行解决软件依赖问题
    完成软件数据压缩包的解压

    特点说明:

    安装软件过程需要解决软件依赖关系
    可以无需网络连接进行本地软件安装(安装速率更快)
    软件安装过程无需配置额外配置参数

    软件程序查看方法

    操作步骤:

    [root@xiaoQ01 xiaoQ]# rpm -qa httpd
    
    • 1
    -- 查看指定软件程序是否已经成功安装
    httpd-2.4.6-97.el7.centos.2.x86_64
    ​
    [root@xiaoQ01 xiaoQ]# rpm -ql httpd
    /etc/httpd
    /etc/httpd/conf
    /etc/httpd/conf.d
    /etc/httpd/conf.d/README
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    – 查看指定软件安装的所有数据信息

    [root@xiaoQ01 xiaoQ]# rpm -qc httpd
    /etc/httpd/conf.d/autoindex.conf
    /etc/httpd/conf.d/userdir.conf
    /etc/httpd/conf.d/welcome.conf
    /etc/httpd/conf/httpd.conf
    -- 查看指定软件程序安装后产生的配置文件
    ​
    [root@xiaoQ01 xiaoQ]# which httpd
    /usr/sbin/httpd
    [root@xiaoQ01 xiaoQ]# rpm -qf /usr/sbin/httpd
    httpd-2.4.6-97.el7.centos.2.x86_64
    [root@xiaoQ01 xiaoQ]# rpm -qf `which httpd`
    httpd-2.4.6-97.el7.centos.2.x86_64
    -- 查看指定操作命令或文件数据属于哪个程序包
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    说明:利用rpm命令只能查看确认rpm方式和yum方式安装软件程序

    软件程序卸载方法:

    利用yum命令实现软件卸载

    [root@xiaoQ01 xiaoQ]# yum erase  httpd
    [root@xiaoQ01 xiaoQ]# yum remove httpd
    
    • 1
    • 2

    – 某些存在依赖的关系的软件进行卸载会出现异常

    利用rpm命令实现软件卸载

    [root@xiaoQ01 xiaoQ]# rpm -e --nodeps httpd
    
    • 1

    – 可以忽略软件依赖关系进行卸载

    1.5.3 系统与服务日志文件存放目录

    目录路径:

    /var/log/
    
    • 1

    目录介绍:

    此目录中包含了大量记录系统及软件服务运行的日志文件,通过这些日志文件,可以知道系统的运行情况及故障原因。

    目录信息:

    /var/log/messages:
    
    • 1

    此文件时系统的默认日志文件,这个文件非常重要,当系统及软件运到运行故障时,可以查看这个日志文件以及获取故障信息。

    网络服务程序重新启动显示的部分日志信息

    [root@xiaoQ01 xiaoQ]# tail -f /var/log/messages
    Dec 13 01:24:44 xiaoQ01 nm-dispatcher: req:3 'up' [eth0]: new request (3 scripts)
    Dec 13 01:24:44 xiaoQ01 network: [  OK  ]
    Dec 13 01:24:44 xiaoQ01 nm-dispatcher: req:3 'up' [eth0]: start running ordered scripts...
    Dec 13 01:24:44 xiaoQ01 nm-dispatcher: req:4 'connectivity-change': new request (3 scripts)
    Dec 13 01:24:44 xiaoQ01 chronyd[806]: Source 5.79.108.34 online
    Dec 13 01:24:44 xiaoQ01 chronyd[806]: Source 202.118.1.130 online
    Dec 13 01:24:44 xiaoQ01 chronyd[806]: Source 84.16.73.33 online
    Dec 13 01:24:44 xiaoQ01 chronyd[806]: Source 116.203.151.74 online
    Dec 13 01:24:44 xiaoQ01 nm-dispatcher: req:4 'connectivity-change': start running ordered scripts...
    Dec 13 01:24:44 xiaoQ01 systemd: Started LSB: Bring up/down networking.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    /var/log/secure:
    
    • 1

    这是个有关系统安全的日志文件,日志中会记录"谁,在什么时候,从哪登录到系统,登录是否成功"等信息。

    ssh telnet ftp等服务的用户登录信息都会记录在此文件中:

    [root@xiaoQ01 xiaoQ]# tail -f /var/log/secure
    
    • 1

    用户登录系统信息

    Dec 13 xx  xiaoQ01 sshd[80213]: Accepted password for root from 10.0.0.1 port 59132 ssh2
    Dec 13 xx  xiaoQ01 sshd[80213]: pam_unix(sshd:session): session opened for user root by (uid=0)
    
    • 1
    • 2

    用户退出系统信息

    Dec 13 xx  xiaoQ01 sshd[70569]: pam_unix(sshd:session): session closed for user root
    
    • 1

    说明:在某些时候,进行网络安全问题排查时,可以借助此文件进行网络安全渗透入侵检测

    /var/log/dmesg:
    
    • 1

    当硬件及系统内核出现问题时,可以查看这个日志文件,在解决某些特定问题时会用到。

    此文件中信息,也可通过dmesg命令进行显示

    [root@xiaoQ01 xiaoQ]# tail -f /var/log/dmesg
    [    9.748402] cryptd: max_cpu_qlen set to 1000
    [    9.962683] AVX2 version of gcm_enc/dec engaged.
    [    9.962685] AES CTR mode by8 optimization enabled
    [    9.967656] ppdev: user-space parallel port driver
    [   10.048170] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
    [   10.071536] alg: No test for __generic-gcm-aes-aesni (__driver-generic-gcm-aes-aesni)
    [   10.260632] XFS (sda1): Ending clean mount
    [   11.574621] floppy0: no floppy controllers found
    [   11.574657] work still pending
    [   11.824703] type=1305 audit(1639330552.463:4): audit_pid=859 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    1.5.4 系统硬件信息加载与存放目录

    目录路径:

    /proc
    
    • 1

    目录介绍:

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

    目录信息:

    /proc/cpuinfo 信息查看

    当前CPU信息文件(等价于lscpu)

    [

    root@xiaoQ01 ~]# cat /proc/cpuinfo 
    processor     : 0
    -- 用于确认总的CPU核心数
    model name  : Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
    cpu MHz          : 2494.290
    cache size      : 3072 KB
    physical id      : 0
    -- 用于确定服务器的CPU颗数
    cpu cores      : 1
    -- 用于确定服务器的CPU核数(每一颗CPU)
    ... 省略部分信息 ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    利用命令查看cpu信息

    [root@xiaoQ01 ~]# lscpu
    Architecture:           x86_64
    CPU op-mode(s):     32-bit, 64-bit
    CPU(s):                      1
    -- 用于确定服务器的CPU核数
    Thread(s) per core:  1
    Core(s) per socket:  1
    Socket(s):                  1
    -- 用于确定服务器的CPU颗数
    Model name:              Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    /proc/meminfo 信息查看

    当前内存信息文件 (等价于free)

    [root@xiaoQ01 ~]# cat /proc/meminfo 
    MemTotal:           995684 kB
    -- 系统总的内存容量(重点关注)
    MemFree:            715136 kB
    -- 系统内存的空闲容量
    MemAvailable:      695948 kB
    -- 系统内存的可用容量(重点关注)
    Buffers:                2076 kB
    -- 系统的缓冲区容量
    Cached:                90184 kB
    -- 系统的缓存区容量
    SwapCached:        0 kB
    Active:                   91272 kB
    Inactive:                69104 kB
    ... 省略部分信息 ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    利用命令查看内存信息

    [root@xiaoQ01 ~]# free 
                  total          used         free           shared   buff/cache   available
    Mem:    995712      173132      708528        7824      114052         690256
    Swap:   1572860        0            1572860
    
    • 1
    • 2
    • 3
    • 4

    /proc/loadavg 信息查看
    系统运行时的负载情况,可以理解为CPU同时处理运行的进程数量。

    当前系统的平均负载情况 (等价于uptime)

    [root@xiaoQ01 ~]# cat /proc/loadavg 
    0.00 0.01 0.05 2/114 1680
    
    • 1
    • 2

    – 前三个数字大家都知道,是1、5、15分钟内的平均进程数
    – 一个的分子是正在运行的进程数,分母是进程总数;另一个是最近运行的进程ID号

    利用命令查看负载信息

    [root@xiaoQ01 proc]# uptime 
     16:23:11 up 38 min,  1 user,  load average: 0.00, 0.01, 0.05
    
    • 1
    • 2

    说明:负载情况数值参考 平均负载值 <= 服务器CPU颗数 * 每个CPU核心数 == 服务器总的核心数

    如有侵权,请联系删除!

  • 相关阅读:
    神经网络中间层输出可视化
    Resilience4j结合微服务出现的异常
    vueX的使用
    y51.第三章 Kubernetes从入门到精通 -- k8s实战案例(二四)
    超详细!一步到位!MySQL安装和基本使用
    Redis及其常用命令(二)
    苹果修复了旧款iPhone上的iOS内核零日漏洞
    为啥国内大厂都把云计算当成香饽饽,这个万亿市场你真的了解吗
    Hugging News #0731: 新课程重磅发布、用户交流群邀请你加入、真实图像编辑方法 LEDTIS 来啦!
    Java基础面试-IOC
  • 原文地址:https://blog.csdn.net/weixin_44202489/article/details/126185109