这 14 个 Linux 命令帮助我成为更好的故障排除者这 14 个 Linux 命令帮助我成为更好的故障排除者这 14 个 Linux 命令帮助我成为更好的故障排除者这 14 个 Linux 命令帮助我成为更好的故障排除者
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

这 14 个 Linux 命令帮助我成为更好的故障排除者

发表 admin at 2025年2月28日
类别
  • 未分类
标签

使用 Linux,尤其是作为服务器,通常意味着处理新错误并解决它们。大多数问题只需通过网络搜索即可轻松修复。但有些错误可能需要您进行一些挖掘。在本指南中,我将分享一些 Linux 命令,它们将帮助您诊断和解决此类 Linux 错误。

1 dmesg

dmesg 命令是打印 Linux 内核环形缓冲区消息的强大工具。这些消息通常包括系统启动消息和硬件错误。使用 sudo 运行命令,如下所示:

sudo dmesg

您还可以使用人类可读的时间戳来显示它们。

sudo dmesg -T

从 dmesg 获得的输出可以通过管道传输到其他命令(例如 grep)以进行进一步处理。

2 systemctl

systemctl 命令用于使用 systemd 管理系统上的服务。您可以使用该命令打开/关闭服务、检查日志条目并列出所有服务的详细信息。

要检查服务的状态,请运行:

systemctl status service_name

如果需要启动或停止服务,请运行:

systemctl start service_name

systemctl stop service_name

如果需要重新启动服务,请运行:

systemctl restart service_name

例如,我的 Apache Web 服务器没有响应。我可以检查该服务是否处于活动状态。

systemctl status apache2

如果它没有运行,我可以启动或重新启动它。

3 ps

ps 命令允许您显示有关 Linux 进程的信息并对其进行监视。要获得所有进程的详细概述,请运行:

ps aux

如果您想以分层格式列出进程,请运行:

ps -He

您可以使用 ps 命令列出进程的资源使用情况或了解某个进程 ID。

4 杀死

Kill 命令对于强制终止正在运行的进程非常有用。有时,多个进程可能会相互冲突。因此,一个进程无法执行。这时您可以终止导致问题的进程。要终止进程,您必须知道其进程 ID (PID)。您可以使用 ps 命令获取 PID。通过将 PID 传递给 Kill 命令来终止进程,

kill <PID>

例如,要终止 Apache 进程,我将运行:

kill 7052

您可能还需要 sudo 来执行命令

5 ping

ping 是一种网络工具,用于检查网络上主机的可用性。它可以帮助您确定网络连接是否有效以及 DNS 解析是否正确。

您可以通过传递主机名(最好是 URL 或 IP 地址)来使用 ping 命令,如下所示:

ping www.google.com

丢包信息还可以让您了解网络性能。您还可以在 Windows 上使用 ping。

6 lsof

lsof 命令用于列出打开的文件。它可以在很多场合使用,例如网络调试、按进程、用户和端口列出文件。

如果您想查看打开的与网络相关的文件,请运行:

lsof -i

如果您想查看特定目录中打开的文件,请使用:

lsof +D /path/to/directory

lsof 命令可以帮助您找到哪些进程正在使用哪些文件,以便您可以正确地处理它们。

7 grep

grep 命令对于通过文件和整个目录搜索字符串和模式非常有用。要进行简单的搜索,请将模式和文件名或目录传递给 grep 命令。

grep -i pattern file_name

grep -r pattern dir_name

假设您有包含数千个条目的日志文件。 grep 命令将帮助您搜索与您的问题相关的行。您还可以搜索“错误”或“失败”等常用词来快速找到线路。您还可以将另一个命令的输出通过管道传输到 grep。

8 尾部

tail命令通常用于显示文件的最后几行。如果您的日志文件太长并且您只对文件的最新添加内容感兴趣,则 tail 会很方便。您还可以使用 tail 主动监视日志文件,使用以下命令:

tail -f file_name

该命令的另一个有用的功能是显示一定数量的行。假设您要显示文件的最后 20 行。然后运行:

tail -n 20 file_name

tail 命令还可以用于通过管道传输另一个命令的输出。

9 journalctl

Journalctl 命令对于查询和显示 systemd 日志中的日志非常有用。您可以简单地运行不带任何参数的命令(添加 sudo 可以更好地获取更多详细信息。)

sudo journalctl

您还可以显示带有额外信息的最新日志。

如果您想检查每个服务的日志,请运行:

journalctl -u service_name

假设您发生了系统崩溃。 Journalctl 命令将帮助您调查并确定根本原因。

10 strace

strace 命令跟踪系统调用和信号。它提供了流程正在执行的操作的详细信息。 strace 的一个简单用途是使用 PID 来跟踪正在运行的进程。

strace -p PID

你也可以通过系统调用得到上面的输出。

strace -p PID -e system_call,system_call2

它还允许您将跟踪输出保存到文件中。

strace -o output.txt command_name

如果某个程序恰好挂起,而您找不到原因,则可以跟踪该程序正在进行的系统调用并揭示其卡住的原因。

11 htop

htop 命令行工具就像一个交互式进程查看器,提供系统进程的实时动态概览。您需要先安装它,然后运行:

htop

它的底部有许多选项。按 F6 可让您按不同的指标(例如 CPU 或内存使用情况)对进程进行排序。如果您的系统负载较重,htop 可通过直观的界面帮助您快速识别资源占用情况。

12 df

df命令用于分析磁盘空间使用情况。它为您提供总磁盘空间和可用磁盘空间的概览。您可以按原样运行该命令。

df

但运行该命令的更好方法是使用 -h 标志,它以更易于理解的格式显示磁盘使用情况。

df -h

如果系统空间不足,可以使用 df 命令来分析哪些文件占用的空间最多,并相应地分析可用空间。

13 免费

free 命令用于检查系统的 RAM 使用情况。这还包括交换内存。只需运行这样的命令:

free

与 df 一样,free 命令可以选择以人类可读的格式显示信息。

free -h

如果内存不足,free 命令将为您提供帮助,并让您知道是否正在发生交换。

14 lscpu

lscpu 命令显示有关系统体系结构的信息。有一次我尝试安装一个软件但失败了,才发现我正在尝试安装针对ARM CPU的软件,而我的系统是x86_64。要显示 CPU 信息,请运行:

lscpu

您还可以获得其他信息,例如 CPU 功能、虚拟化功能和漏洞。


学习这些重要的Linux命令不仅帮助我成为更好的故障排除者,而且加深了我对Linux系统操作的理解。这些命令本质上是多种多样的,因此无论您可能面临什么样的问题,这些命令都会派上用场。

©2015-2025 Norria support@norria.com