当前位置:首页>Linux>11条装机后必须运行的Linux命令

11条装机后必须运行的Linux命令

  • 2026-10-21 12:33:51
11条装机后必须运行的Linux命令

每一次 Linux 安装,几乎都以同样的方式开始。

你安装操作系统。

配置一些基础设置。

安装自己常用的工具。

然后告诉自己,系统设置以后再检查。

问题在于,“以后”往往会变成系统出问题的那一刻。

某个服务无法启动。

磁盘空间意外被占满。

网络出现故障。

防火墙规则的行为与预期不符。

随着时间推移,我养成了一个习惯。

每当我接触一台全新的 Linux 系统,无论是云服务器、虚拟机、工作站还是测试环境,在开始做任何事情之前,我都会运行一组简单的命令。

目的不是排查故障。

而是在真正需要排查故障之前,先充分了解这个系统。

这些年来,这十一条命令为我节省了数不清的排错时间。

1. uname -a

首先,我想准确知道自己面对的是怎样的系统。

uname -a

这条命令可以立即告诉我:

  • 内核版本

  • 系统架构

  • 主机名

  • 构建信息

很多故障排查都依赖内核版本和系统架构。

这是建立系统背景信息最快的方法之一。

2. hostnamectl

令人意外的是,不少系统都有令人困惑的主机名,或者主机配置并不完整。

hostnamectl

它可以提供:

  • 主机名

  • 操作系统版本

  • 内核信息

  • 系统架构

  • 虚拟化信息

只需几秒钟,我就能判断当前运行的是虚拟机、云实例还是物理服务器。

3. lsblk

在接触存储之前,我希望先了解整个磁盘布局。

lsblk

这条命令能够清晰展示:

  • 磁盘

  • 分区

  • 挂载点

  • 存储层级结构

相比逐个检查设备,它直观得多。

存储方面的意外,很少会是令人愉快的意外。

4. ip addr

网络通常是我最先检查的内容之一。

ip addr

它会显示:

  • 网络接口

  • 已分配的 IP 地址

  • 接口状态

  • 虚拟网络接口

很多问题,只要看看网络接口配置,就会一目了然。

错误的子网。

意外出现的 IP 地址。

被禁用的网络接口。

配置错误的虚拟网卡。

很多线索,其实一直摆在那里。

5. ip route

仅仅知道 IP 地址还不够。

我还想弄清楚网络流量是如何转发的。

ip route

它可以显示:

  • 默认网关

  • 静态路由

  • 路由优先级

  • 网络路径

这样,当以后出现网络连通问题时,我知道系统“正常状态”是什么样子。

6. systemctl list-units --type=service --state=running

想快速了解一台服务器,最有效的方法之一,就是看它当前运行着哪些服务。

systemctl list-units --type=service --state=running

短短几秒钟内,我就能识别出:

  • Web 服务器

  • 数据库

  • 监控代理

  • 安全工具

  • 定时运行的服务

与其猜测服务器用途,不如直接看它正在运行什么。

7. df -h

磁盘问题很少是突然发生的。

它们往往是日积月累形成的。

因此,我总会第一时间检查磁盘使用情况。

df -h

它可以快速显示:

  • 可用容量

  • 已挂载的文件系统

  • 分区使用率

这是简单的基准信息,却会在之后发挥巨大作用。

尤其是当有人说:

“服务器昨天还好好的。”

8. free -h

内存压力是无数性能问题的根源。

在安装软件或执行扫描之前,我希望先了解当前系统可用的资源。

free -h

它会提供:

  • 总内存

  • 已使用内存

  • 可用内存

  • Swap 使用情况

尽早了解内存状况,可以避免后续做出错误判断。

9. pstree

大多数管理员都会查看进程列表。

但真正观察进程之间关系的人却少得多。

pstree

这条命令能够展示:

  • 父子进程关系

  • 服务层级结构

  • 后台进程

  • 正在运行的应用程序

当你真正看到各个进程是如何连接起来时,整个系统的架构会变得容易理解得多。

10. getenforce

如果系统启用了 SELinux,我希望第一时间知道。

getenforce

它可能返回以下结果:

EnforcingPermissiveDisabled

许多部署问题,最终都可以追溯到 SELinux 策略。

提前确认这一点,可以避免后续大量不必要的困惑。

11. crontab -l

最后,我会检查系统中的计划任务。

crontab -l

通常还会再执行:

ls /etc/cron*

自动化任务往往能够解释很多现象,例如:

  • 意外的文件变更

  • 自动生成的报告

  • 清理操作

  • 备份任务

  • 日志轮转

如果系统有任何事情自动发生,我希望在我措手不及之前就已经知道。

为什么我总是先运行这些命令

这些命令本身算不上令人兴奋。

它们不会让你的终端看起来很炫。

不会自动化你的工作流程。

也不会生成吸引眼球的截图。

但它们提供了更加宝贵的东西:系统上下文。

当问题真正出现时,最糟糕的处境,就是一边试图修复系统,一边才开始了解它是如何工作的。

这些命令帮我建立系统的基准认知。

它们告诉我:

  • 这是一台什么样的系统;

  • 它是如何连接到网络的;

  • 它正在运行哪些服务;

  • 它如何使用系统资源;

  • 已经有哪些自动化任务在运行。

这些知识会随着时间不断积累,持续发挥价值。

如果第一天花几分钟收集这些信息,能在几周后的故障排查中节省数小时。

这也是为什么这十一条命令成为我接手新 Linux 系统时必不可少的第一步。

最好的故障排查,开始于系统出现问题之前。

参考

https://systemweakness.com/11-linux-commands-i-run-on-every-fresh-installation-344269910dd6

最新文章

随机文章