每位系统管理员都应掌握的 50 个必备 Linux 命令

本页内容

  • 用于系统信息和监控的 Linux 命令
  • 用于文件和目录管理的基础 Linux 命令
  • Linux 网络命令
  • Linux 安全命令
  • EventLog Analyzer 如何帮助进行 Linux 监控

Linux 是最广泛使用的操作系统之一,尤其是在 服务器 环境中。对于系统管理员来说,掌握 Linux 命令对日常任务至关重要。无论是故障排除、文件管理还是系统安全,深入理解 Linux 命令都能节省时间并提高效率。本文提供了一份 Linux 备忘单,列出了每位系统管理员应掌握的 50 个顶级 Linux 命令。

基础 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 命令

文件管理 对于维护系统的组织性以及确保数据的可访问性和安全性至关重要。这些 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 中的唯一行。
find、locate、chmod、cd、ls 和 cat 命令在 linux 中的使用

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 安全与监控命令

对于系统安全、用户管理以及关键系统资源的持续监控,这些 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 命令行的专业知识。

ps、top、lsof 和 sudo 命令在 linux 中的使用

EventLog Analyzer 如何帮助进行 Linux 监控

ManageEngine EventLog Analyzer 是一款全面的 日志管理合规工具,通过集中来自所有 Linux 发行版的 Linux 监控 syslog ,简化了监控流程。虽然 Linux 命令赋予了系统操作的能力,EventLog Analyzer 确保每个操作都被记录并分析以发现安全事件。

以下是 EventLog Analyzer 如何增强 Linux 监控的方式:

通过集中 syslog 实现 Linux 监控
 
 

跟踪 Unix 系统上的所有事件,如 cron 任务、会话连接与断开、停用服务等。

 
 

选择时间范围以筛选事件。

 
 

选择导出数据的所需格式(例如 CSV、PDF 或 Excel)。

失败的 sudo 命令执行
 
 

失败的 sudo 命令执行随时间的可视化表示。

 
 

列出用户尝试执行的具体失败 sudo 命令,有助于跟踪未授权或错误的特权命令执行。

 
 

每个失败命令执行占总失败尝试的比例,提供对最常尝试命令的洞察。

接下来是什么?

通过 30 天免费试用,探索 EventLog Analyzer 的 Linux 监控功能。