每位系统管理员都应掌握的 50 个必备 Linux 命令
本页内容
- 用于系统信息和监控的 Linux 命令
- 用于文件和目录管理的基础 Linux 命令
- Linux 网络命令
- Linux 安全命令
- EventLog Analyzer 如何帮助进行 Linux 监控
Linux 是最广泛使用的操作系统之一,尤其是在 服务器 环境中。对于系统管理员来说,掌握 Linux 命令对日常任务至关重要。无论是故障排除、文件管理还是系统安全,深入理解 Linux 命令都能节省时间并提高效率。本文提供了一份 Linux 备忘单,列出了每位系统管理员应掌握的 50 个顶级 Linux 命令。
50 个顶级 Linux 命令备忘单
以下是所有 Linux 命令的完整列表:
系统信息与监控
- uname: 显示系统信息(内核、操作系统等)。
- uptime: 提供系统运行时间和负载平均值信息。
- top: 显示实时系统进程及其资源消耗。
- htop: top 命令的交互式版本,提供增强的进程查看器。
- df: 显示磁盘空间使用统计。
- du: 显示文件和目录的磁盘使用详情。
- free: 显示内存使用情况(RAM 和交换空间)。
- vmstat: 报告系统性能指标(CPU、内存、IO)。
- iostat: 显示 CPU、设备和网络性能统计。
- who: 列出已登录用户。
- w: 显示谁已登录及其当前操作。
文件和目录管理
- ls: 列出当前目录中的所有文件和目录。
- pwd: 显示当前目录的路径。
- cd: 切换到指定目录。
- mkdir: 创建新目录。
- rmdir: 删除空目录。
- touch: 创建空文件或更新现有文件的访问和修改时间戳。
- chmod: 修改文件权限以控制访问。
- cp: 复制文件和目录到其他位置。
- mv: 移动或重命名文件和目录。
- rm: 删除文件或目录。
- find: 根据特定条件搜索文件。
- locate: 使用预建数据库快速定位文件。
- cat: 显示文件内容。
- less: 分页查看文件内容。
- more: 类似 less,但功能较少。
- head: 显示文件的前几行。
- tail: 显示文件的最后几行。
- sort: 以特定顺序整理文件内容。
- uniq: 删除文件中连续重复的行。
想了解更多关于Linux文件和目录管理的内容吗?请查看我们关于Linux文件完整性监控、在Linux中定位文件以及从Linux机器中删除或删除目录的操作指南。
用户管理
- whoami: 显示当前登录用户的用户名。
- id: 显示当前用户的用户和组ID。
- passwd: 更改指定用户的密码。
- adduser: 向系统添加新用户。
- deluser: 从系统中删除用户。
- usermod: 修改现有用户账户的属性。
- groups: 列出用户所属的所有组。
- sudo: 以提升的权限(超级用户)执行命令。
- su: 切换到另一个用户账户,通常是root。显示当前用户。
- last: 显示登录历史。
想了解更多关于Linux用户管理的内容?请查看我们关于在Linux系统中列出用户和在Linux机器中将用户添加到组的操作指南。
网络
- ping: 检查与主机的连通性。
- wget: 通过HTTP、HTTPS或FTP协议从互联网检索文件。
- curl: 使用包括HTTP、FTP等多种协议向服务器传输和接收数据。
- ifconfig: 显示和配置网络接口(已弃用,已被ip命令取代)。
- iftop: 监控网络接口的实时带宽使用情况。
- nmap: 扫描网络以检测开放端口、服务和网络设备。
- tcpdump: 捕获和分析网络数据包,用于故障排除和安全监控。
- nslookup: 查询DNS以将域名解析为IP地址。
- ip: 配置和管理网络接口及路由表。
- netstat: 显示网络连接和监听端口。
时间紧张?获取Linux命令速查表PDF,快速访问并作为您的常用参考!
用于系统信息和监控的 Linux 命令
这些Linux命令帮助系统管理员收集有关系统性能、硬件详情和资源使用的关键信息,实现主动管理和故障排除。
| 命令 | 描述 | 示例 | 示例输出 |
|---|---|---|---|
| uname | 显示系统详情,包括内核版本和系统架构。 | uname -a | 输出详细信息,如内核名称、版本和架构。 |
| df | 报告已挂载文件系统的磁盘空间使用情况。 | df -h | 以人类可读格式显示文件系统详情(大小、已用、可用空间和挂载点)。 |
| du | 显示文件和目录的磁盘使用情况。 | du -sh /path | 汇总指定目录的大小。 |
| free | 显示内存使用情况,包括总内存、已用内存和空闲内存。 | free -h | 以人类可读的格式输出内存详细信息。 |
| vmstat | 提供有关内存、CPU 和 I/O 活动的详细信息。 | vmstat 5 | 每 5 秒输出一次系统性能数据。 |
| last | 显示最近登录用户列表,有助于识别任何可疑的登录尝试。 | last | 列出最近的登录信息,包括用户名、登录时间和源 IP 地址。 |
| who | 显示当前登录的用户,包括他们的登录时间和来源 IP 地址。 | who | 列出已登录用户及其登录时间。(例如,“user tty7 2024-12-08 10:00”) |
| w | 类似于 who 命令,但还显示用户的活动情况。 | w | 显示系统运行时间、登录用户和每个用户的活动进程摘要。 |
| iostat | 跟踪 CPU 使用率和磁盘 I/O 统计信息。 | iostat -x | 显示设备的扩展 I/O 统计信息。 |
用于文件和目录管理的基础 Linux 命令
文件管理 对于维护系统的组织性以及确保数据的可访问性和安全性至关重要。这些 Linux 命令帮助管理文件、目录和存储,从创建和修改文件到搜索文件。
| 命令 | 描述 | 示例 | 示例输出 |
|---|---|---|---|
| ls | 显示当前目录中的文件和目录。 | ls -l | 以详细的长列表格式显示文件,包括权限、所有权和大小。 |
| pwd | 打印当前工作目录,显示从根目录开始的完整路径。 | pwd | 该命令显示用户当前工作的目录。(例如,“/home/user/documents”) |
| mkdir | 在指定位置创建新目录。 | mkdir new_folder | 在当前目录中创建名为 new_folder 的文件夹。 |
| rmdir | 删除空目录。 | rmdir old_folder | 如果目录为空,则删除名为 old_folder 的目录。 |
| cd | 更改当前目录。 | cd /home/user | 切换到 /home/user 目录。 |
| cp | 复制文件或目录。 | cp file1.txt file2.txt | 将 file1.txt复制到file2.txt。 |
| mv | 移动或重命名文件和目录。 | mv file1.txt newdir/ | 将 file1.txt 移动到newdir目录。 |
| rm | 删除文件或目录。 | rm file.txt | 删除 file.txt。 |
| find | 根据条件搜索文件和目录。 | find /path -name "*.txt" | 查找指定路径中所有 .txt文件。 |
| locate | 使用预构建数据库快速搜索文件。 | locate file.txt | 显示数据库中 file.txt的位置。 |
| touch | 创建空文件或更新文件时间戳。 | touch newfile.txt | 创建newfile.txt或更新其时间戳。 |
| chmod | 修改文件权限以控制访问。 | chmod 755 file.sh | 赋予所有者读、写和执行权限,赋予其他用户读和执行权限。 |
| cat | 显示文件的全部内容。 | cat file.txt | 将file.txt的全部内容打印到终端。 |
| less | 一页一页地显示文件内容。 | less file.txt | 打开file.txt以分页查看并支持导航。 |
| more | 类似于less命令,但仅支持向前导航。 | more file.txt | 一页一页地显示file.txt内容。 |
| head | 显示文件的前几行 | head -n 5 file.txt | 显示 file.txt 的前 5 行。 |
| tail | 显示文件的最后几行。 | tail -n 10 file.txt | 显示 file.txt 的最后 10 行。 |
| nano | 一个基本的命令行文本编辑器。 | nano file.txt | 在 Nano 编辑器中打开 file.txt 进行编辑。 |
| vim | 一个功能丰富的高级文本编辑器。 | vim file.txt | 在 Vim 中打开 file.txt 进行高级编辑。 |
| sort | 按字母或数字顺序排序文件中的行。 | sort file.txt | 显示按行排序后的 file.txt。 |
| uniq | 删除文件中的重复行。 | sort file.txt | uniq | 显示 file.txt 中的唯一行。 |
Linux 网络配置和管理命令
这些 Linux 网络命令对于配置网络接口、监控网络连接和诊断网络相关问题至关重要。
| 命令 | 描述 | 示例 | 示例输出 |
|---|---|---|---|
| ping | 通过 ICMP 数据包测试与远程主机的连接。 | ping google.com | 向 google.com 发送 ICMP 回显请求 并显示响应时间。 |
| ifconfig | 配置或显示网络接口(已被 ip 命令取代)。 | ifconfig eth0 | 显示 eth0 的 IP 地址、子网掩码及其他详细信息。 |
| ip | 配置网络接口和路由。 | ip addr show | 显示所有网络接口的 IP 地址信息。 |
| netstat | 显示网络连接、路由表和接口统计信息。 | netstat -tuln | 列出监听端口及其关联的服务。 |
| ss | 显示套接字统计信息,是 netstat 命令的更快替代方案。 | ss -tuln | 显示监听端口和活动连接列表。 |
| traceroute | 跟踪数据包到目标主机的路径。 | traceroute google.com | 显示到达 google.com 的路由和跳数。 |
| nslookup | 查询 DNS 以获取域名或 IP 地址信息。 | nslookup example.com | 显示与 example.com 关联的 IP 地址。 |
| curl | 使用多种协议在服务器之间传输数据。 | curl -O http://example.com/file.zip | 从 example.com 下载 file.zip。 |
| wget | 从互联网下载文件。 | wget http://example.com/file.zip | 将 file.zip 下载到当前目录。 |
| scp | 在系统之间安全复制文件。 | scp file.txt user@remote:/path | 将 file.txt 复制到远程服务器的 /path 目录。 |
| rsync | 在两个位置之间同步文件和目录,可以是本地或远程。 | rsync -av source/ dest/ | 从 source 复制文件到 dest,同时保留权限、时间戳和符号链接。 |
| iftop | 显示网络接口的实时带宽使用情况,帮助识别异常流量模式。 | Iftop | 按 IP 显示带宽使用情况。 |
| nmap | 扫描系统或网络上的开放端口,此命令有助于识别暴露的服务。 | nmap -sP 192.168.1.0/24 | 主机 192.168.1.1 在线。 |
| tcpdump | 捕获并分析网络数据包,用于故障排除和监控网络流量。 | tcpdump -i eth0 | 监控 eth0 接口上的数据包。 |
Linux 安全与监控命令
对于系统安全、用户管理以及关键系统资源的持续监控,这些 Linux 安全命令是必不可少的。
| 命令 | 描述 | 示例 | 示例输出 |
|---|---|---|---|
| sudo | 授予执行命令的超级用户权限。 | sudo apt update | 以超级用户身份运行更新。 |
| passwd | 更改用户密码以保护账户安全。 | passwd username | 提示为指定用户输入新密码。 |
| fail2ban-client | 管理 Fail2Ban,通过禁止 IP 防止暴力破解攻击。 | fail2ban-client status | 显示 Fail2Ban 服务状态及被禁止的 IP。 |
| iptables | 配置 Linux 防火墙规则。 | iptables -L | 列出当前防火墙规则。 |
| ufw | 管理和配置防火墙设置。 | ufw allow 80/tcp | 允许端口 80 上的 HTTP 流量。 |
| auditd | 记录与安全相关的事件,如登录尝试和访问违规,维护系统安全的审计轨迹。 | auditctl -l | 显示当前的审计规则。 |
| top | 显示实时系统资源使用情况。(使用 Shift + M 按内存使用排序) | top | 实时显示 CPU、内存和进程利用率。 |
| htop | top 命令的增强版本,提供更友好、交互式的系统进程视图。 | htop | 提供资源使用的可视化和交互式显示。 |
| ps | 列出当前运行的进程及其资源使用情况。 | ps aux | 显示所有活动进程及详细信息。 |
| uptime | 显示系统运行时间,有助于发现异常停机。 | uptime | 显示运行时间、登录用户和系统负载。(例如,“10:15:23 up 5 days, 4:32, 3 users, load average: 0.24, 0.20, 0.22”) |
| lsof | 列出与运行中的进程相关联的打开文件。对故障排除非常有用。 | lsof /path/to/file | 显示所有访问 /path/to/file 文件的进程。 |
通过掌握这些命令,系统管理员可以显著提高生产力和故障排除能力。但保障 Linux 环境的安全需要更深层次的监控和事件响应。这就是 EventLog Analyzer 的作用,它提供了先进的日志管理功能,补充了 Linux 命令行的专业知识。
EventLog Analyzer 如何帮助进行 Linux 监控
ManageEngine EventLog Analyzer 是一款全面的 日志管理 和 合规工具,通过集中来自所有 Linux 发行版的 Linux 监控 syslog ,简化了监控流程。虽然 Linux 命令赋予了系统操作的能力,EventLog Analyzer 确保每个操作都被记录并分析以发现安全事件。
以下是 EventLog Analyzer 如何增强 Linux 监控的方式:
- 集中式 syslog 收集与监控: 将多个 Linux 系统的 syslog 数据整合到单一界面,简化基础设施管理,提供统一视图以实现高效监控。
- 用户活动监控: 实时跟踪关键用户活动,如登录失败尝试、未授权访问事件和暴力破解攻击,确保对系统使用情况的全面可见性。
- SUDO 命令审计: 监控特权操作,包括 sudo 命令执行及失败尝试。执行最小权限策略,检测未授权的权限提升,防止潜在的安全漏洞。
- 实时审计与警报: 通过电子邮件或短信发送即时警报,支持快速响应可疑事件,最大限度降低潜在安全风险。
- 合规性全面报告: 提供 100 多份可定制报告以跟踪系统活动。这些报告帮助组织满足如 HIPAA、GDPR、FISMA、CCPA 和 PCI DSS 等法规要求。
- 基于预置关联规则的威胁检测: 提供 30 多条预置关联规则,用于识别如 暴力破解攻击 和 SQL 注入攻击 等威胁。工具的事件关联能力支持主动威胁检测和缓解。
- 自动化事件响应: 通过可定制工作流简化事件响应,减少人工干预,提高解决效率。
跟踪 Unix 系统上的所有事件,如 cron 任务、会话连接与断开、停用服务等。
选择时间范围以筛选事件。
选择导出数据的所需格式(例如 CSV、PDF 或 Excel)。
失败的 sudo 命令执行随时间的可视化表示。
列出用户尝试执行的具体失败 sudo 命令,有助于跟踪未授权或错误的特权命令执行。
每个失败命令执行占总失败尝试的比例,提供对最常尝试命令的洞察。










