linux目录结构和重要文件

1. 目录介绍

操作Linux命令行,最基本的对象就是目录和文件,因为Linux中一切事物都是基于文件的,而目录就是文件的文件夹,所以接下来对一些基础且核心的文件目录管理命令进行说明。

1.1 目录结构

Linux系统目录结构是一个有层次的倒立的树状目录结构,/根目录是所有目录的顶点,一切目录都是从根目录开始的。

在这里插入图片描述

  • 不同目录下的数据可以跨越不同的磁盘分区或不同的磁盘设备,设备可以随意挂载到任意目录上使用。
  • 所有的目录都是按照一定的类别有规律的进行组织和命名的。
  • 没有被挂载到目录上的磁盘,不能被使用。磁盘等设备需要进行挂载后才能进行正常使用。
  • 挂载点是磁盘访问的入口,是一个目录。

1.2 绝对路径和相对路径

在Linux系统中,路径是用来定位文件或目录位置的字符串,分为绝对路径和相对路径两种类型:

  • 绝对路径是从根目录(/)开始的完整路径,指向文件系统中的唯一位置。
    • 例如,/home/user/documents/textfile.txt是一个绝对路径,它指定了从根目录开始,通过home目录,再到user的documents目录下,找到名为textfile.txt的文件。
    • 绝对路径的好处在于,无论当前工作目录在哪里,都能准确无误地定位到目标文件或目录。
  • 相对路径是相对于当前工作目录的路径,没有以根目录(/)开头。
    • 例如,如果当前目录为/home/user/documents/,那么textfile.txt就是一个相对路径,表示在当前目录下寻找名为textfile.txt的文件。
    • 相对路径更为便捷,特别是在编写脚本或执行一系列连续命令时,可以减少路径输入的复杂度,但它的定位依赖于当前的工作目录。

在使用时,根据具体需求和上下文选择绝对路径或相对路径,可以使文件访问和管理更加高效灵活。

1.3 根下一级目录介绍

目录说明
/bin常用二进制命令所在的目录。比如lscp等命令;
/bin目录和/usr/bin类似,在CentOS7中已经成为一个目录,/bin/usr/bin的软连接,指向/usr/bin
/sbinroot用户的可执行命令存放目录,大多是系统管理命令。普通用户可以通过sudo执行。指向/usr/sbin
/bootLinux的内核及系统引导程序所需的文件目录,存放引导系统启动程序,系统内核镜像等。
安装系统分区时是一个单独的boot分区,/boot目录就是引导分区的挂载点。
/dev存放设备文件的目录,比如声卡、光驱、磁盘等。
/etc系统的配置文件存放目录,如:/etc/hosts、/etc/ssh/sshd_config等。
在CentOS6中,还是服务启动命令的存放目录,主要在/etc/init.d/下。
/home普通用户的家目录,默认数据存放目录。
/root超级权限管理员root用户的家目录。
/lib和**/lib64**是启动系统和运行命令所需的共享库文件和内核模块存放目录,分别指向/usr/lib/usr/lib64
/lost+found系统宕机,临时保存数据的目录。
在ext3文件系统中,当系统意外崩溃或机器意外关机时,会在这里产生一些文件碎片。系统在开机启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。当系统发生问题时,可能会在有文件被移到这个目录中,可能需要通过手工的方式来进行修复,或者移文件到原来的位置上。
/media可移动介质挂载点,例如,CD-ROM、U盘等的挂载,使用频率较低。
/mnt临时存储介质挂载点,基本用它来替代/media,使用频率较高。
/opt用于存放和管理非系统默认的、可选的第三方软件。类似于三方软件的隔离区,所需的库文件、配置文件等都应该位于自己的目录树中,卸载某个程序时只需删除其所在的目录即可。与他功能类似的/usr/local目录更多用于存放本地编译安装的软件,这些软件可能需要与系统有更紧密的集成或定制。
/proc虚拟文件系统的挂载点,在系统运行时,存放进程和内核信息。系统运行时,很多信息都在这个目录下,比如CPU、硬盘分区、内存信息等。
/proc/loadavg #<==系统负载(系统繁忙程度)
/proc/meminfo #<==系统内存信息
/proc/cpuinfo #<==系统CPU信息
/proc/mounts #<==系统挂载信息
/run正在运行的进程相关信息的文件
/srv为用户提供服务的数据(软件服务数据)所在目录。例如:用户主动生产的数据、对外提供服务。
/sys虚拟的文件系统,存放进程和内核信息的目录。包括内核、总线、设备、模组、电源选项等。
/tmp临时文件所在目录。 运行程序时的临时文件存放位置。可以被用作Linux系统的回收站使用,权限比较特殊。/var/tmp目录与之类似。
/usr系统软件和用户相关程序所在目录,比如命令、帮助文件等。
/usr/local:默认软件安装目录;
/usr/src:程序源码目录
/var存放一些经常变化的数据文件,包括缓存(cache)、日志文件(log file)以及某些软件运作所产生的文件。
/var/log 存放系统日志的目录
/var/log/messages 系统日志路径
/var/www 存放定义Apache服务器站点的目录
/var/lib 存放一些库文件

2. 重要的系统文件介绍

2.1 /etc目录下

1. 网卡配置文件

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

  • ifcfg-eth0以及ifcfg-eth1是 CentOS6 的网卡配置文件名,在 CentOS7 中,默认网卡名改成了ens33、ens34等。不过为了统一管理,都会改成这个。

  • CentOS6可以执行setup命令进入图形化界面配置网卡;CentOS7则通过执行nmtui来进行操作。也可以直接编辑配置文件。如果不使用图形化的界面,也可以直接修改配置文件。

  • 配置完成后,重启网络服务systemctl restart network让配置文件生效。

  • 如果指定单独的网卡配置生效,则可以通过命令ifdown eth0+ifup eth0来实现。(重启单个网卡)

[root@local ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet     #《== 上网类型,目前大多为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none    #《== 启动协议,获取配置方式,有static|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      #《== 网卡逻辑设备名
UUID=051d946e-d759-4ff3-b62f-4c74b0325f62    #《== 通用唯一识别码,使用VM克隆出来的虚拟机无法启动网卡的话,可以去掉此项。
DEVICE=eth0    #《== 网卡物理设备名
ONBOOT=yes     #《== 此处值必须要为yes,才能保证下次开机启动激活网卡设备(开机自启动)
IPADDR=10.0.0.200          #《== IP地址 
PREFIX=24                  #《== 子网掩码
GATEWAY=10.0.0.254         #《== 网关
DNS1=223.5.5.5             #《== 主DNS
IPV6_PRIVACY=no

2. DNS客户端配置文件

/etc/resolv.conf

  • DNS(Domain Name System 域名系统)主要作用是把浏览器里输入的域名解析成服务器的IP地址,然后才能找到服务器,提供内容。
  • 配置这个配置文件同样可以使用nmtui命令进行图形化修改,或直接修改配置文件/etc/resolv.conf
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5

注意:

  • 在网卡配置文件里配置的DNS可能会覆盖/etc/resolv.conf里的DNS,所以一般只在网卡配置文件里配置DNS。除此之外,还有其他别的功能。

  • DNS的/etc/resolv.conf配置文件基本已经废弃了,由/etc/sysconfig/network-scripts/ifcfg-eth0里的DNS设置替代了。

3. 主机名配置文件

/etc/hostname

  • 在CentOS 7 中的系统主机名的永久配置文件为:/etc/hostname
  • 在CentOS 6 中的系统主机名的永久配置文件为:/etc/sysconfig/network
#临时修改法: 
[root@localhost ~]# hostname www 

# 永久修改法: 
[root@localhost ~]# hostnamectl set-hostname www                       

4. 系统本地DNS解析文件

/etc/hosts

  • /etc/hosts的作用是设定用户IP地址与域名的对应解析表,相当于本地的DNS解析文件
  • 本地DNS配置文件hosts,优先于公网的DNS解析,如果该文件内不存在就进入公网DNS服务器进行解析。此文件经常用于开发人员的测试解析
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200  www.baidu.com
  • 如上,在该文件中配置上百度的域名和一个IP地址。等到你输入域名之后,就会将域名解析成这个IP地址,无法正常指向百度的网站。不会再向公网DNS服务器请求解析。

注意:windows系统的hosts文件的作用相同,地址是:C:\Windows\System32\drivers\etc\hosts文件。

5.配置开机设备自动挂载的文件

/etc/fstab

  • /etc/fstab是一个用于配置开机设备自动挂载的配置文件。
  • 在系统启动时,各种设备都还没有挂载,无法使用。所以会在开机时先加载/etc/fstab文件,实现对系统分区的自动挂载,然后进入系统。
  • 可以在文件里添加挂载项,使其开机自动挂载。
[root@local ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Sep 30 09:57:47 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1a464cd8-0b0e-40c5-a007-db2be8799ba6 /         xfs      defaults     0        0
UUID=116d6ae6-c3e2-470c-a163-f8e1305800d5 /boot     xfs      defaults     0        0
UUID=9da99cd7-c323-4ebf-a928-0ad4807b6c5b swap      swap     defaults     0        0
#              设备名(设备ID)             挂载点  文件系统类型   挂载参数   是否备份 是否开机检查

-----------------------------------------------------------------------------------------
# 或者是这样的由路径代替的(UUID和路径都可以)
/dev/mapper/centos-root                   /     xfs     defaults        0 0
UUID=cc24e729-b530-4ab0-aeaf-8eea7357a9a9 /boot xfs     defaults        0 0
/dev/mapper/centos-swap                   swap  swap    defaults        0 0

字段中的6列内容具体说明:

  • 第一列:设备名称或者UUID或者磁盘标签,可以通过blkid命令查看设备UUID;
  • 第二列:设备的挂载点,即访问设备的入口;
  • 第三列:设备的文件系统类型;
  • 第四列:挂载的参数;
  • 第五列:是否进行备份;
  • 第六列:开机是否进行磁盘检查。0是不做检查,1或2是做检查;

查看设备UUID使用命令blkid。获取对应的UUID和路径,用于编写到文件中加载。

[root@localhost dev]# blkid
/dev/sda1: UUID="cc24e729-b530-4ab0-aeaf-8eea7357a9a9" TYPE="xfs" 
/dev/sda2: UUID="8ndvQe-fv8k-Tqvk-N1gp-W04R-DlgR-bloUig" TYPE="LVM2_member" 
/dev/sr0: UUID="2020-04-22-00-54-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="c3ae3604-4101-4d9c-85bd-ad2e82318c0f" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="cba9bb3a-7250-4dc9-8e78-c0863ee4e9b5" TYPE="swap" 

6. 存放开机自启动程序命令的文件

/etc/rc.local

  • 该文件实际上是一个链接文件,真正指向的是/etc/rc.d/rc.local文件。
  • 所以在对于该文件进行备份的时候要格外注意。
  • CentOS7在使用之前需要运行命令:chmod +x /etc/rc.d/rc.local,使此文件可以运行。
[root@local ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 Sep 30 14:20 /etc/rc.local -> rc.d/rc.local

[root@local ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local   # 开机运行命令

如果需要设置一个软件作为开机自启动软件,就可以将其开机命令添加到该文件。

CentOS7关闭了文件的运行权限,所以根据提示,在使用之前需要运行命令:chmod +x /etc/rc.d/rc.local,使此文件可以运行。

7. 系统启动时,设定运行级别等配置的文件

/etc/inittab

  • /etc/inittab是一个指导Linux开机启动的关键文件。
    • 在CentOS 6以前,用于设定系统启动时init进程将系统设置成什么样的运行级别(runlevel),以及加载运行级别对应的启动文件。
    • 在CentOS 6里,其仅负责设定系统启动时init进程将系统设置成什么样的运行级别。
    • 在CentOS7已经将该文件废弃。
CentOS6里系统运行级别的说明如下:
#   0  关机(请不要把系统运行级别设置为0)
#   1  单用户模式 (root用户密码忘记,可用此模式找回)  
#   2  没有NFS,多用户模式
#   3  命令行模式 文本模式(企业级服务器核心运行状态)          
#   4  未使用
#   5  图形化模式 桌面模式  X11(桌面个人版系统运行状态)
#   6  重启(不要把系统运行级别设置为6)

CentOS7里系统运行级别的说明如下:
#   poweroff.target      关机
#   rescue.target        救援
#   multi-user.target    多用户
#   graphical.target     图形化
#   reboot.target        重启

两者的对应关系:
# runlevel0.target -> poweroff.target
# runlevel1.target -> rescue.target
# runlevel2.target -> multi-user.target
# runlevel3.target -> multi-user.target
# runlevel4.target -> multi-user.target
# runlevel5.target -> graphical.target
# runlevel6.target -> reboot.target        
  • 可以使用runlevel命令可以查看当前系统的运行级别:
# C6和C7通用的方式
[root@local ~]# runlevel
N   3     #<==N表示上一次运行级别;3表示当前运行级别
[root@local ~]# who -r
        run-level 3 2022-08-01 10:51
        #<== 当前运行级别是3,后面的时间是当前时间
# C7专有的方式
[root@local ~]# systemctl get-default  #<==查看当前默认级别
  • 运行级别的切换:
# C6的方式
[root@local ~]# init 5   #<==将运行级别修改为5(临时)
[root@local ~]# runlevel    #<==查验
3  5
永久的话,需要在inittab文件中修改最后一行的参数,然后重启生效。
如:  id:3:initdefault  改成 id:5:initdefault

# C7的方式
[root@local ~]# systemctl get-default  #<==查看当前默认级别 
multi-user.target
[root@local ~]# systemctl set-default graphical.target  #<== 修改级别
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@local ~]# systemctl get-default
graphical.target          

8. 配置系统环境变量的文件

/etc/profile # 存放环境变量的文件

  • /etc/profile文件中可以配置全局环境变量(永久配置生效),
  • ~/.bash_profile表示只在当前用户中生效。比如前文提到的PS1、配置JDK的时候添加的环境变量等。
## 在配置文件中添加
export PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\\$"             
  • 添加完成后保存退出文件,执行命令source /etc/profile,使配置永久生效,或者退出重新登录使其生效。

9. 配置别名的文件

/etc/bashrc

  • 在/etc/bashrc文件用于配置别名(命令别名),在/etc/bashrc里编辑。“~/.baserc”表示只在当前用户中生效。
# 例如,在文件中插入如下语句,再次使用rm时,会输出“测试使用案例” 
alias rm = 'echo 测试使用案例'           
  • 添加完成后保存退出文件,执行命令source /etc/profile,使配置永久生效。

  • /etc/bashrc文件中设置最容易生效。因为文件更靠后执行,所以会尽量避免被之前的配置覆盖
    在这里插入图片描述

10. 配置用户登录前显示信息的文件

/etc/issue/etc/issue.net

  • 这两个文件的作用是将用户登录终端之前的信息显示出来,
  • 具体表现就是启动系统之后,在输入用户名和密码之前显示的那一段内容,默认是系统版本和内核相关信息。

​

  • 在企业服务器中,为了防止相关信息泄露,一般会把issue文件的内容清空。
[root@local ~]#cat /etc/issue
\S
Kernel \r on an \m

[root@local ~]#cat /etc/issue.net 
\S
Kernel \r on an \m
[root@local ~]#>/etc/issue        #清空文件内容方式。
[root@local ~]#>/etc/issue.net      

11. 配置用户登录系统之后显示提示内容的文件

/etc/motd

  • 该文件默认是空的。文件里配置的内容会在用户输入用户名和密码登录系统之后,进入命令行之前显示。
  • 相当于登录后的一个提示作用。

12.查看系统版本

/etc/redhat-release

[root@local ~]# uname -r                    # 查看内核版本 
3.10.0-1160.42.2.el7.x86_64 
[root@local ~]# cat /etc/redhat-release     # 查看系统版本 
CentOS Linux release 7.9.2009 (Core) 

# 如果还需要查看更详细的系统信息 
[root@local ~]# cat /etc/os-release         #该文件用于声明版本号和名称信息。
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"             

13. Linux内核参数设置文件

/etc/sysctl.conf

  • Linux系统内核的配置和优化经常会用到这个文件。
[root@local~]# cat /etc/sysctl.conf                   // CentOS7中查看该文件
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
  • 根据提示,CentOS7相较于之前的版本进行了调整。
  • 相关配置建议在/usr/lib/sysctl.d/, /run/sysctl.d/, 和 /etc/sysctl.d/这三个文件中进行,当然在这个文件中也可以进行配置。
  • 编辑修改文件之后,需要执行:sysctl -p 命令让修改后的文件生效。

2.2 /usr目录重要文件

1. 源码编译安装软件默认的位置路径

/usr/local

  • 该目录一般用来存放用户自编译安装软件的目录,对于通过源码包安装的软件,如果没有制定安装目录的话,一般会安装在这个目录,类似于C:\Program files

2. 存放源码文件的目录

/usr/src

  • 该目录一般用于存放在网上下载的软件源代码。可选,可以根据自己的需求进行更改。

2.3 /var目录重要文件

  • /var/log 目录中包含了大量记录系统和软件服务运行的日志文件,通过这些日志文件,我们可以知道系统的运行状况和故障原因。
日志名字文件类型作用
messages文本文件系统级日志文件
secure文本文件安全日志文件
dmesg文本文件硬件信息加载情况日志文件
corn文本文件定时任务日志文件
wtmp二进制文件记录登录者信息的文件,执行last命令自动读取该文件。
lastlog二进制文件记录用户近期的登录情况,执行lastlog命令自动读取该文件

1. 系统级别日志文件(/var/log/messages)

  • 系统默认的日志文件,记录Linux系统运行行为情况,当系统或软件运行出现故障时,可以通过查看该日志文件获取故障信息。
  • (按周自动轮询,一周分割一次)即每周生成一个日志文件。
[root@localhost ~]# ll /var/log/messages*
-rw-------. 1 root root 109181 Dec 30 13:14 /var/log/messages
-rw-------. 1 root root 161485 Nov 28 10:35 /var/log/messages-20211128
-rw-------. 1 root root 242383 Dec 28 10:01 /var/log/messages-20211228        

上述轮询日志由 /etc/logrotate.conf 和 /etc/logrotate.d/syslog 控制。

2. 用户登录信息日志文件(/var/log/secure)

  • 该文件实质上是一个有关系统安全的日志文件,会记录下 “ 哪个用户、什么时候、何处登录(IP)、是否登录成功 ” 等信息。
  • 对于一些暴力破解用户名和密码的都会有记录。ssh、telnet等服务的用户登录信息都会记录。
[root@localhost ~]# tail -5 /var/log/secure
Aug  4 15:40:38 localhost sshd[2489]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1  user=root
Aug  4 15:40:38 localhost sshd[2489]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Aug  4 15:40:40 localhost sshd[2489]: Failed password for root from 10.0.0.1 port 53077 ssh2
Aug  4 15:40:46 localhost sshd[2489]: Accepted password for root from 10.0.0.1 port 53077 ssh2
Aug  4 15:40:46 localhost sshd[2489]: pam_unix(sshd:session): session opened for user root by (uid=0)         
  • 该文件与messages文件相同,也是按周自动轮询,一周分割一次。
[root@localhost ~]# ll /var/log/secure*
-rw-------. 1 root root 2017 Aug  4 15:40 /var/log/secure
-rw-------. 1 root root 4961 Jun  4 20:04 /var/log/secure-20220605
-rw-------. 1 root root 2666 Aug  3 10:21 /var/log/secure-20220803
-rw-------. 1 root root  570 May 18 15:43 /var/log/secure-20221001
-rw-------. 1 root root  375 Oct  2  2022 /var/log/secure-20221002       

3. 记录硬件信息加载情况的日志文件(/var/log/dmesg)

如果硬件或系统内核出现问题时,可以看看这个日志文件。也可以通过dmesg命令来收集相关信息,来解决问题。

可以使用命令dmesg来查询不同硬件的详细信息。

2.4 /proc目录文件

/proc是Linux系统的一个重要的虚拟文件系统,记录着内核和进程方方面面的信息,许多重要的信息数据可以在该目录下查看。

路径名称路径说明
/proc/cpuinfo当前CPU信息文件
/proc/meminfo当前内存信息文件
/proc/loadavg当前系统平均负载均衡信息文件
/proc/mounts当前设备挂载列表信息文件
/proc/interrupts当前系统中断信息文件

1. 查看内存文件(/proc/meminfo)

  • 文件中有内存相关的详细信息。
[root@localhost ~]# cat /proc/meminfo 
MemTotal:        2027876 kB			# 内存总大小
MemFree:         1726280 kB		    # 内存空闲的
MemAvailable:    1707444 kB			# 内存可用大小
Buffers:            4136 kB		    # 写缓冲
Cached:            94632 kB			# 读缓冲
  • 可以通过命令free -m查看内存
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         490         225           7         256         336
Swap:          2047           0        2047      

2. 查看CPU文件(/proc/cpuinfo)

  • 文件中有CPU相关的详细信息
  • 可以通过命令lscpu来查看CPU相关信息
[root@localhost ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2                       # CPU的核心数
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1                       # CPU的个数
......

3. 查看负载文件(/proc/loadavg)

  • 负载是表示系统繁忙程度的一个综合指标,可以通过命令uptime进行查看当前时间的负载信息
  • 负载是衡量服务器的繁忙程度和核心数量相关的。比如服务器核心数8核心负载达到8说明非常繁忙了;服务器核心数16核心负载达到16说明非常繁忙了。
  • 平均负载值里的1分钟作为参考值,主要看的是5分钟和15分的值
[root@localhost ~]# cat /proc/loadavg 

0.13 0.12 0.14 1/391 25863

[root@localhost ~]# uptime
 10:06:51 up  1:33,  1 user,  load average: 0.08, 0.16, 0.15
 当前时间    开机时间   用户数   平均负载    1分钟  5分钟  15分钟  

[root@localhost ~]# w
 10:06:51 up  1:33,  1 user,  load average: 0.08, 0.16, 0.15
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.10.20.233     08:33    3.00s  0.17s  0.16s -bash

在企业中,负载的情况和服务器类型相关:

  • 自己运行服务有用户访问的服务负载不能超过核心数量;
  • 服务器内部使用,内部测试,内部运算,大数据运算超过核心数量正常;

4. 查看挂载文件(/proc/mounts)

  • 该文件用于查看当前系统的挂载信息,但是内容不是那么易读
  • 可以通过命令df-h来查看挂载相关信息
[root@localhost ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        868M     0  868M   0% /dev
tmpfs           879M     0  879M   0% /dev/shm
tmpfs           879M  572K  878M   1% /run
tmpfs           879M     0  879M   0% /sys/fs/cgroup
/dev/vda1        40G  6.0G   32G  16% /
tmpfs           176M     0  176M   0% /run/user/1000
  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值