Linux性能检查常用命令

参数:

在Linux系统中,进行检查和诊断时,可以使用许多不同的参数和工具来了解系统的状态、性能和问题。以下是一些常见的参数和工具,供您注意和使用:

1. CPU信息:`lscpu` 命令可以查看CPU的详细信息,例如核心数、频率等。

2. 内存信息:`free` 命令可以查看内存使用情况,包括总内存、已用内存、可用内存等。

3. 磁盘空间:`df` 命令用于显示磁盘分区的空间使用情况。

4. 进程信息:`ps` 命令可以列出当前运行的进程,`top` 命令可以实时显示进程的系统资源使用情况。

5. 网络连接:`netstat` 或 `ss` 命令可以列出当前的网络连接情况。

6. 日志文件:`/var/log/` 目录下存储了系统的各种日志文件,您可以查看这些日志文件以了解系统运行情况和潜在问题。

7. 系统负载:`uptime` 命令可以显示系统的负载情况,即CPU平均负载。

8. 网络性能: `ping` 命令可以测试与其他主机的网络连接,`traceroute` 命令可以跟踪数据包的路径。

9. 硬件信息: `lshw` 或 `lspci` 命令可以获取硬件设备的信息,例如CPU、内存、显卡等。

10. 系统信息:`uname` 命令用于查看系统的基本信息,例如内核版本、操作系统类型等。

11. 系统服务:`systemctl` 命令用于管理系统服务,可以查看服务的状态、启动、停止等。

12. 系统安全:`ufw` 命令用于管理防火墙规则,`fail2ban` 可以保护系统免受暴力破解攻击。

这些是一些常用的参数和工具,用于检查Linux系统的状态和问题。根据您的具体需求和问题,
可能需要使用不同的参数和工具来深入了解和诊断系统。请注意,在进行任何故障排除或更改系统配置之前,务必小心,并确保理解每个命令的作用和潜在影响。
 

常用命令:

1.lscpu:

`lscpu` 命令用于显示关于CPU(中央处理器)的信息,包括CPU架构、型号、核心数、线程数、频率以及缓存等。它在Linux系统中非常有用,可以帮助您了解系统的CPU配置和性能特性。

让我们通过一个具体的示例来解析 `lscpu` 命令的输出:

在终端中运行 `lscpu` 命令:

```
lscpu
```

输出示例:
```
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping:              10
CPU MHz:               800.000
BogoMIPS:              3992.00
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
```

解析输出示例:

1. Architecture(架构):表示CPU架构,此处为 x86_64,表示使用64位的x86架构。

2. CPU op-mode(s)(CPU运行模式):显示CPU支持的运行模式,包括32位和64位。

3. Byte Order(字节顺序):显示字节顺序,此处为 Little Endian,表示低位字节在前。

4. CPU(s)(CPU数量):显示系统中CPU的总数,此处为 8,表示系统有8个CPU核心。

5. On-line CPU(s) list(在线CPU列表):显示在线CPU的编号范围,此处为 0-7,表示编号从0到7的CPU核心都在线。

6. Thread(s) per core(每核线程数):显示每个CPU核心支持的线程数,此处为 2,表示每个核心支持2个线程。

7. Core(s) per socket(每插槽核心数):显示每个CPU插槽(socket)支持的核心数,此处为 4,表示每个插槽有4个核心。

8. Socket(s)(插槽数量):显示CPU插槽的数量,此处为 1,表示系统有1个CPU插槽。

9. Vendor ID(制造商ID):显示CPU制造商ID,此处为 GenuineIntel,表示CPU制造商为Intel。

10. CPU family(CPU家族):显示CPU家族,此处为 6。

11. Model(型号):显示CPU型号,此处为 158。

12. Model name(型号名称):显示CPU型号名称,此处为 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz。

13. CPU MHz(CPU频率):显示CPU的时钟频率,此处为 800.000 MHz。

14. BogoMIPS:一个用于衡量CPU性能的估算值。

15. Virtualization(虚拟化支持):显示CPU是否支持虚拟化,此处为 VT-x,表示支持虚拟化技术。

16. L1d cache(L1数据缓存):显示L1数据缓存的大小,此处为 32K。

17. L1i cache(L1指令缓存):显示L1指令缓存的大小,此处为 32K。

18. L2 cache(L2缓存):显示L2缓存的大小,此处为 256K。

19. L3 cache(L3缓存):显示L3缓存的大小,此处为 8192K,即8MB。

通过 `lscpu` 命令,我们可以了解到系统的CPU配置,包括核心数、线程数、频率、缓存大小等,这些信息对于了解系统性能和优化应用程序的运行非常有用。

2.top:

`top` 命令是一个常用的Linux系统性能监控工具,它可以实时显示系统中运行的进程的状态和系统资源的使用情况。当您在终端中运行 `top` 命令时,会看到类似下面的输出:

```
top - 15:36:51 up 1 day,  5:47,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 236 total,   1 running, 235 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8008368 total,  1814256 free,  2430176 used,  3763936 buff/cache
KiB Swap:  8257532 total,  8257532 free,        0 used.  4760816 avail Mem
```

以下是对输出信息的解释:

1. `top - 15:36:51 up 1 day,  5:47,  1 user,  load average: 0.00, 0.00, 0.00`
   - `15:36:51`:当前时间。
   - `up 1 day,  5:47`:系统运行时间,即从上次启动后经过的时间。
   - `1 user`:当前登录系统的用户数量。
   - `load average: 0.00, 0.00, 0.00`:系统平均负载,分别对应 1 分钟、5 分钟和 15 分钟的平均负载。负载值表示系统上正在运行和等待运行的进程数,一般来说,负载值越低越好,接近CPU核心数量时表示系统负载合理。

2. `Tasks: 236 total,   1 running, 235 sleeping,   0 stopped,   0 zombie`
   - `Tasks`:进程统计信息。
   - `total`:当前运行的总进程数。
   - `running`:正在运行的进程数。
   - `sleeping`:休眠的进程数,即正在等待事件发生的进程。
   - `stopped`:停止的进程数,即被暂停的进程。
   - `zombie`:僵尸进程数,即已经结束但父进程尚未释放资源的进程。

3. `%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st`
   - `%Cpu(s)`:CPU使用情况统计。
   - `us`:用户空间占用CPU时间的百分比。
   - `sy`:系统内核空间占用CPU时间的百分比。
   - `ni`:优先级较低的用户进程占用CPU时间的百分比(Linux内核2.6.23之后才有)
   - `id`:空闲CPU时间的百分比。
   - `wa`:等待I/O操作的CPU时间的百分比。
   - `hi`:硬中断(Hardware IRQ)占用CPU时间的百分比。
   - `si`:软中断(Software IRQ)占用CPU时间的百分比。
   - `st`:在虚拟化环境中,被偷取的CPU时间的百分比。

4. `KiB Mem :  8008368 total,  1814256 free,  2430176 used,  3763936 buff/cache`
   - `KiB Mem`:内存使用情况统计。
   - `total`:系统总内存大小。
   - `free`:可用内存大小。
   - `used`:已使用内存大小。
   - `buff/cache`:用于缓存的内存大小。

5. `KiB Swap:  8257532 total,  8257532 free,        0 used.  4760816 avail Mem`
   - `KiB Swap`:交换空间(Swap)使用情况统计。
   - `total`:交换空间总大小。
   - `free`:可用交换空间大小。
   - `used`:已使用的交换空间大小。
   - `avail Mem`:可用内存大小,即系统中未被使用的内存大小。

这些是 `top` 命令输出结果的常见信息,通过这些信息,您可以实时监控系统的运行状态、资源使用情况以及当前运行的进程。

当使用 `top` 命令查看系统状态时,可以关注以下一些重要的参数值,如果这些值异常地持续高或者达到了系统资源的极限,那么可能表示系统出现了问题:

1. Load Average(平均负载):在 `top` 命令的头部显示的三个平均负载值(1分钟、5分钟和15分钟)。平均负载表示正在运行和等待运行的进程数,一般来说,负载值接近或高于CPU核心数量时表示系统负载较高,可能出现性能瓶颈。

2. %CPU(CPU使用率):显示CPU使用率的百分比,表示当前CPU正在执行的进程所占用的CPU资源。如果某个进程占用了过高的CPU资源,可能导致系统响应变慢。

3. %MEM(内存使用率):显示内存使用率的百分比,表示当前内存正在被使用的百分比。如果内存使用率持续接近或超过100%,系统可能会出现内存不足的问题,导致性能下降或者进程被杀死。

4. Swap(交换空间):显示交换空间的使用情况。如果交换空间被持续使用,可能表示系统内存不足,导致内存交换到硬盘上,影响性能。

5. IO-Wait(等待IO):表示CPU等待I/O操作完成的时间百分比。如果这个值持续较高,可能表示磁盘IO性能有问题,可能是磁盘负载过高。

6. Tasks(进程统计):显示运行的进程数和其状态。特别关注僵尸进程的数量,大量僵尸进程可能表明系统进程管理有问题。

7. us(用户空间CPU使用)和sy(系统内核空间CPU使用):分别表示用户空间和系统内核空间的CPU使用率。高的us或sy值可能表示某个进程或系统服务消耗了大量的CPU资源。

需要注意的是,系统性能问题的判断不能只依赖于一个参数,而是要综合考虑多个参数的值以及系统整体的表现。当您在使用 `top` 命令时,最好关注多个参数,并对参数值的变化进行监测和分析,以便及时发现系统可能出现的问题。如果遇到了异常情况,可以进一步查找具体原因并进行相应的优化和调整。

3.df:

当使用 `df` 命令检查Linux系统的性能时,您可以关注以下几个重要的信息:

"文件系统"(Filesystem)代表已经挂载在系统上的磁盘分区或设备。在Linux系统中,每个磁盘分区或设备都会被当做一个文件系统,并通过挂载(Mount)操作将其与目录树(文件系统层次结构)中的特定目录关联起来,从而使得该分区的内容可以在这个目录下访问。

1. 文件系统总容量(1K-blocks):该字段表示文件系统的总容量,以1KB(1024字节)为单位。了解文件系统的总容量可以帮助您了解磁盘的大小,以确保系统有足够的存储空间。

2. 已用空间(Used):该字段表示文件系统已使用的空间量,以1KB为单位。通过监视已用空间,可以及时发现磁盘使用过度,防止磁盘耗尽问题。

3. 可用空间(Available):该字段表示文件系统中剩余可用的空间量,以1KB为单位。了解可用空间的大小有助于确保系统不会因为空间不足而出现问题。

4. 已用百分比(Use%):该字段表示文件系统已使用空间占总容量的百分比。通过监视已用百分比,可以了解文件系统的使用情况,防止空间耗尽。

5. 挂载点(Mounted on):该字段表示文件系统被挂载到的目录路径,即文件系统在文件树中的位置。了解挂载点有助于确认每个文件系统的用途和位置。

以上这些信息可以帮助您对磁盘空间的使用情况有一个直观的了解,并在必要时采取措施来管理磁盘空间,防止磁盘耗尽和系统性能下降的问题。另外,如果需要以更直观的方式显示磁盘空间使用情况,您可以使用 `df -h` 命令,以人类可读的方式显示磁盘空间的大小。

让我们通过一个具体的示例来详细解析使用 `df` 命令检查Linux系统的性能。

假设我们的Linux系统中有两个磁盘分区,分别挂载在根目录 `/` 和 `/home` 目录下。我们将使用 `df` 命令来查看这两个分区的磁盘空间使用情况。

首先,在终端中运行以下命令来查看磁盘空间的使用情况:

```
df
```

输出示例:
```
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       52428800 17669712  34719896  34% /
/dev/sdb1       104857600  2252816 102604784   3% /home
```

现在,我们来解析这个输出示例:

1. `/dev/sda1` 是第一个文件系统,挂载在根目录 `/` 下。
   - `1K-blocks` 表示总容量为 52428800 KB(约为 51.4 GB)。
   - `Used` 表示已使用 17669712 KB(约为 17.7 GB)。
   - `Available` 表示可用空间为 34719896 KB(约为 34.1 GB)。
   - `Use%` 表示已使用空间占总容量的百分比为 34%。

2. `/dev/sdb1` 是第二个文件系统,挂载在 `/home` 目录下。
   - `1K-blocks` 表示总容量为 104857600 KB(约为 102.4 GB)。
   - `Used` 表示已使用 2252816 KB(约为 2.2 GB)。
   - `Available` 表示可用空间为 102604784 KB(约为 100.4 GB)。
   - `Use%` 表示已使用空间占总容量的百分比为 3%。

通过以上输出,我们可以了解到 `/` 分区的总容量为 51.4 GB,已使用了 17.7 GB,剩余可用空间为 34.1 GB。而 `/home` 分区的总容量为 102.4 GB,已使用了 2.2 GB,剩余可用空间为 100.4 GB。

使用 `df` 命令可以让我们实时了解系统磁盘空间的使用情况,帮助我们及时发现空间不足的问题,采取适当的措施来管理磁盘空间,确保系统的正常运行。

4.netstat/ss

netstat:

在Linux中 `netstat` 命令,它用于查看网络连接、路由表、网络接口和网络统计等相关信息。

让我们通过一个例子来解析 `netstat` 命令的使用:

在终端中运行 `netstat` 命令:

```
netstat -an
```

输出示例:
```
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.100:53234     151.101.129.69:443      ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp6       0      0 fe80::e6a3:7eff:fe0:546 :::*
```

解析输出示例:

1. Proto(协议):显示连接的协议类型,例如 TCP 或 UDP。

2. Recv-Q 和 Send-Q(接收队列和发送队列):这两列显示了套接字接收队列和发送队列中的字节数。如果 Recv-Q 或 Send-Q 值持续增长,可能表示网络连接存在问题。

3. Local Address 和 Foreign Address(本地地址和远程地址):这两列显示本地套接字和远程套接字的地址和端口信息。

4. State(状态):显示连接的状态。例如,LISTEN 表示正在侦听连接,ESTABLISHED 表示已建立连接。

在 `netstat` 命令中,您可以使用不同的选项来查看不同类型的网络连接和网络统计信息。例如,`-t` 参数用于显示TCP连接,`-u` 参数用于显示UDP连接,`-l` 参数用于显示监听中的套接字等。具体的选项可以在终端中运行 `man netstat` 命令查看帮助文档。

请注意,`netstat` 命令在某些Linux发行版中已经过时,推荐使用 `ss` 命令或 `ip` 命令等来替代,具体取决于您所使用的Linux发行版和版本。

ss:

`ss` 命令是替代老旧的 `netstat` 命令的工具,用于查看当前网络连接、套接字和网络统计信息。`ss` 命令提供更快速、更高效的网络状态查看功能,并在一些Linux发行版中成为了首选的网络工具。

让我们通过一个示例来解析 `ss` 命令的使用:

在终端中运行 `ss` 命令:

```
ss -tuln
```

输出示例:
```
State      Recv-Q Send-Q Local Address           Foreign Address         State
LISTEN     0      128    0.0.0.0:22              0.0.0.0:*
ESTAB      0      0      192.168.1.100:53234     151.101.129.69:443
LISTEN     0      128    :::80                   :::*
UNCONN     0      0      0.0.0.0:68              0.0.0.0:*
UNCONN     0      0      :::5353                 :::*
```

解析输出示例:

1. State(状态):显示连接的状态。例如,LISTEN 表示正在侦听连接,ESTAB 表示已建立连接,UNCONN 表示无连接。

2. Recv-Q 和 Send-Q(接收队列和发送队列):这两列显示了套接字接收队列和发送队列中的字节数。如果 Recv-Q 或 Send-Q 值持续增长,可能表示网络连接存在问题。

3. Local Address 和 Foreign Address(本地地址和远程地址):这两列显示本地套接字和远程套接字的地址和端口信息。

4. State(状态):显示连接的状态。例如,LISTEN 表示正在侦听连接,ESTAB 表示已建立连接。

在 `ss` 命令中,我们使用 `-tuln` 参数来显示TCP和UDP监听状态的套接字信息,`-t` 参数表示仅显示TCP连接,`-u` 参数表示仅显示UDP连接,`-l` 参数表示仅显示监听状态的套接字。

类似于 `netstat` 命令,您可以使用不同的选项来查看不同类型的网络连接和网络统计信息。使用 `ss` 命令,可以更加高效地查看系统的网络状态,特别是在有大量连接时,其性能优势更为明显。

注意:

`netstat` 和 `ss` 是两个用于查看网络连接和状态的命令,它们并不直接表示网络是否有问题。而是通过观察它们的输出来判断网络是否存在异常或问题。通常,在网络出现问题时,这些命令的输出可能会呈现一些异常现象,从而提示可能存在的网络问题。

以下是一些可能表示网络有问题的情况:

1. 大量的TIME_WAIT状态:当网络连接关闭时,通常会进入TIME_WAIT状态,等待一段时间后才会被完全释放。但是,如果出现大量的TIME_WAIT连接,可能表明系统处理连接关闭的速度较慢,导致连接积压。

2. 大量的ESTABLISHED连接:ESTABLISHED状态的连接表示已经建立的连接。大量的ESTABLISHED连接可能表明系统正在处理大量的活动连接,如果连接数过高,可能导致系统资源耗尽。

3. 大量的CLOSE_WAIT状态:CLOSE_WAIT状态表示应用程序已经关闭连接,但套接字仍然存在于系统中等待关闭。大量的CLOSE_WAIT连接可能表明应用程序未正确关闭连接,可能存在资源泄漏问题。

4. 连接超时或无法建立连接:如果执行 `netstat` 或 `ss` 命令时,发现有很多连接处于TIME_WAIT状态,或者无法建立新的连接,可能表示网络拥塞、服务器负载过高或防火墙限制等问题。

5. 网络接口错误或丢包:通过查看网络接口的统计信息,如`ifconfig` 或 `ip -s link` 命令,可以了解到网络接口是否有错误、丢包或溢出等异常情况。

需要注意的是,单凭 `netstat` 或 `ss` 命令的输出并不能确定具体的网络问题,而是需要结合其他诊断工具和日志,以及观察系统的整体性能和响应情况,来综合判断是否存在网络问题。如果您遇到网络问题,最好进一步使用网络分析工具(如`ping`、`traceroute`、`tcpdump`等)来深入调查和诊断问题的根本原因。在网络故障排除过程中,还需要了解网络拓扑、路由表、防火墙设置等信息,以便更好地定位和解决问题。

日志:

日志文件用于记录linux系统运行中发生的各种类型的消息文件,包括 linux内核消息、用户登录消息、程序运行信息等。

1.日志相关介绍:

1.linux系统中日志文件类型主要包括三种:

  • 内核及系统日志 :主要由 系统服务 rsyslog统一管理,根据服务的主配置文件 /etc/rsyslog.conf 中的设置决定 内核和系统程序消息记录的位置。
  • 用户日志 : 记录linux系统中用户的登录和退出等消息:如 用户名、登录的终端、登录时间、使用主机、执行的进程等。
  • 程序日志:记录程序运行时发生的消息事件。

2. 常见的日志文件及作用

  • /var/log/messages: 记录linux内核消息及各种应用程序的公共日志消息, 如 启动、lo错误、网络错误、程序故障灯。
  • /var/log/cron: 记录cron 计划任务产生的事件消息。
  • /var/log/dmesg:记录linux系统 在引导过程中的事件消息
  • /var/log/maillog:记录进入或发出系统的电子邮件活动
  • /var/log/lastlog:记录每个用户最近的登录事件
  • /var/log/rpmpkgs: 记录系统中安装的各种rpm包列表信息
  • /var/log/secure:记录用户认证相关的安全事件信息
  • /var/log/wtemp: 记录每个用户登录、注销及系统启动和停机事件
  • /var/log/btmp: 记录失败的、错误的登录尝试及验证事件

3.日志文件分析

日志文件分析可以帮助我们通过浏览日志查找关键信息, 如 对服务器的调试、判断故障等。

  • 大多数日志文件可以使用 tail 、more、less、cat 等 文本处理工具查看日志内容; 对于 一些二进制的文件需要使用特定的程序进行查看。
  • linux 系统内核和系统日志文件一般由 rsyslog 软件包 提供,目录位置 :/etc/rsyslog.conf
  • 可以通过 命令 : grep -v "^$" /etc/rsyslog.conf 了解到系统中关于日志文件的设置

4. linux 核心的syslog 将信息分为7个等级

7 debug 调试时产生的信息数据
6 info 基本信息说明
5 notice 是正常信息 ,但比info 还要被注意到的信息内容
4 warning 警示信息可能有问题 ,不影响系统运行
3 Error 一些重大的错误信息,如配置文件的某些设置值造成 该服 务无法启动的说明。
2 crit 比error 严重的错误信息,crit 是 临界点 critical的缩写
这个错误已经很严重了
1 alert 警告,已经很有问题的等级,比crit 还严重
0 emerg 指系统几乎要死机,通常只有硬件出问题,导致整个核心 无法顺利运行,才会出现这样的等级的信息。

5.rsyslog 管理的日志文件

没行都表示一条日志记录,每行都分为四段 分为:

  • 时间标签:日志消息的发出的日期和时间
  • 主机名:生成日志消息的主机名称
  • 子系统名称:发出日志消息的应用程序名称
  • 消息:日志消息中的具体的内容

6.用户日志:

  • 在linux系统中,wtmp 、btmp、lastlog 等日志文件中,保存系统用户的登录,退出相关信息。都是二进制文件: 需要使用 who 、w、users 、last、lastb等用户查询命令 获取文件中的信息

7.程序日志

  • 不由rsyslog服务管理的,一些程序日志文件将由程序自己管理。
  • 如 :http网站服务 由 access_log 和error_log 分别记录客户机的访问和 错误事件
  • 不同的日志文件记录格式有所不同, 没有严格使用统一的格式

8.需要注意的一些不符合常规操作的记录

  • 用户在非常规的时间登陆,或者用户登录系统的ip地址和以往不同
  • 用户登录失败的日志记录,尤其是 一在连续尝试进入失败的日志记录
  • 非法使用或不正当使用超级管理用户权限
  • 无故 或者非法重新启动各项网络服务的记录
  • 不正当的日志记录,日志残缺不全,或者是如:wtmp 这样的日志文件少了中间的记录文件。

9. 注意:

日志文件并不是完全可靠的,一些高明的黑客 在入侵操作系统后会清除痕迹。所以管理员需要合理运行上述提到的命令。

2.命令

当查看日志文件时,可以使用不同的文本处理工具来满足不同的需求。以下是每个文本处理工具的详细介绍和其在查看日志文件时的用途:

1.tail:

        `tail` 命令用于显示文件的末尾内容,默认显示文件的最后10行。它在查看实时日志或查找最近发生的事件时特别有用。使用 `tail` 可以动态查看正在写入的日志文件。

   基本语法:
   ```
   tail <文件名>
   ```

   示例:
   ```
   tail /var/log/syslog
   ```

   可以通过加上 `-n` 参数来指定显示的行数,例如显示最后20行:
   ```
   tail -n 20 /var/log/syslog
   ```

2. more:

        `more` 命令用于按页显示文件内容,适合较长的文件或日志。它会将文件内容分页显示,按下空格键可以翻页,按下`q`键退出。

   基本语法:
   ```
   more <文件名>
   ```

   示例:
   ```
   more /var/log/messages
   ```

3. less:

        `less` 命令与`more`类似,但更加强大,可以向上和向下滚动,支持搜索和其他更多功能。它在查看大型日志文件时非常有用。 

 基本语法:
   ```
   less <文件名>
   ```

   示例:
   ```
   less /var/log/nginx/access.log
   ```

   使用`less`时,可以按下以下键进行操作:

   - 空格键:向下滚动一屏
   - `b`键:向上滚动一屏
   - `G`键:跳转到文件末尾
   - `gg`键:跳转到文件开头
   - `/搜索词`:搜索指定内容,按下`n`键可查找下一个匹配项,`N`键查找上一个匹配项
   - `q`键:退出`less`查看

4. cat:

        `cat` 命令用于显示整个文件的内容。它简单直接,适合查看较小的文件和日志。 

  基本语法:
   ```
   cat <文件名>
   ```

   示例:
   ```
   cat /var/log/auth.log
   ```

   `cat` 命令会将整个文件一次性输出,如果文件很大,它会直接打印所有内容到终端。

总结:根据不同的需求,可以选择不同的文本处理工具来查看日志文件。`tail` 适合查看实时日志,`more` 和 `less` 适合查看较大的文件,而`cat` 则适合查看较小的文件。在查看日志时,根据文件大小和需求选择合适的工具可以提高效率和便捷性。

你可能感兴趣的:(linux,运维,服务器)