Linux 服务器管理是运维工作的核心,熟练掌握常用命令能高效提升服务器运维效率,以下从系统监控、文件管理、进程管理、网络配置及用户权限五大维度,详细介绍常用命令及其使用场景。

系统监控类命令用于实时掌握服务器运行状态。top 命令动态展示进程资源占用,按 P 键按 CPU 使用率排序、按 M 键按内存使用率排序,是排查性能瓶颈的首选工具。htop 是 top 的增强版,支持彩色显示和鼠标操作,更直观易用。df -h 用于查看磁盘空间使用情况,-h 参数以 GB、MB 等人类可读格式显示;free -h 则展示内存及交换分区的使用量,帮助判断内存是否充足。uptime 命令可快速查看服务器运行时长及负载平均值,三个数值分别代表 1 分钟、5 分钟、15 分钟的平均负载。
文件管理类命令是日常运维的基础。ls -l 以长格式列出文件,包含权限、所有者、大小等详细信息;cd - 可快速返回上一次所在目录。cp -r 用于递归复制目录,mv 命令既可移动文件也可重命名。tar -czvf archive.tar.gz /path/to/dir 命令可将目录打包并压缩为 .tar.gz 文件,c 表示创建、z 表示 gzip 压缩、v 显示过程、f 指定文件名。find /path -name "*.log" -mtime +7 可查找指定路径下 7 天前修改过的 .log 文件,结合 xargs rm -f 可批量删除。grep "error" /var/log/syslog 能在日志文件中搜索包含 "error" 的行,是排查问题的重要手段。
进程管理命令用于控制程序运行。ps -ef 显示所有进程的详细信息,grep 过滤特定进程(如 ps -ef | grep nginx)。kill -9 PID 强制终止进程,-9 参数表示无条件结束;killall nginx 则通过进程名批量终止进程。nohup command & 可让命令在后台持续运行,即使终端关闭也不受影响,输出默认保存到 nohup.out 文件。systemctl start/stop/restart nginx 用于管理 systemd 服务,实现服务的启动、停止和重启,systemctl enable nginx 可设置服务开机自启。
网络配置类命令用于排查网络问题。ifconfig 或 ip addr 查看网卡 IP 地址信息,ip route show 显示路由表。ping 8.8.8.8 测试网络连通性,traceroute www.baidu.com 追踪数据包路径,定位网络故障节点。netstat -tulnp 查看监听的端口及对应进程,-t 表示 TCP、-u 表示 UDP、-l 仅显示监听端口、-n 避免域名解析、-p 显示进程 ID。ss -tuln 是 netstat 的替代工具,速度更快,推荐优先使用。scp file.txt user@remote:/path/ 可通过 SSH 安全传输文件,支持跨服务器文件拷贝。

用户权限管理命令保障服务器安全。useradd -m username 创建新用户并自动创建家目录,passwd username 设置用户密码。chmod 755 file 修改文件权限,7 表示所有者可读可写可执行,5 表示组用户和其他用户可读可执行。chown -R user:group /path 递归修改目录所有者及所属组,-R 参数确保子目录也被修改。sudo visudo 编辑 sudo 配置文件,为普通用户分配管理员权限,增强操作安全性。last 命令查看用户登录历史记录,辅助排查异常登录行为。
| 命令类别 | 常用命令 | 功能描述 |
|---|---|---|
| 系统监控 | top/htop |
动态监控进程资源占用 |
df -h/free -h |
查看磁盘/内存使用情况 | |
| 文件管理 | tar -czvf |
打包压缩目录 |
find/grep |
文件查找与内容搜索 | |
| 进程管理 | ps -ef/kill -9 |
查看/强制终止进程 |
systemctl |
管理系统服务 | |
| 网络配置 | ping/traceroute |
测试网络连通性 |
ss -tuln |
查看监听端口 | |
| 用户权限 | useradd/chmod |
用户创建与权限设置 |
chown/sudo |
修改所有者/分配权限 |
相关问答FAQs
Q1:如何查看 Linux 服务器某个进程的 CPU 和内存占用详情?
A:可通过 ps -p <PID> -o pid,ppid,cmd,%cpu,%mem,etime 命令查看指定进程(PID)的详细信息,包括进程 ID、父进程 ID、命令行、CPU 占用率、内存占用率及运行时间,也可使用 top -p <PID> 或 htop -p <PID> 实时监控单个进程的资源使用情况。
Q2:如何批量删除指定目录下所有扩展名为 .tmp 的文件?
A:使用 find /path/to/directory -name "*.tmp" -type f -exec rm -f {} \; 命令,/path/to/directory 为目标目录,-name "*.tmp" 匹配所有 .tmp 文件,-type f 确保只删除文件(不包含目录),-exec rm -f {} \; 对查找到的文件执行强制删除操作,也可简化为 find /path -name "*.tmp" -delete,-delete 参数直接删除匹配文件。

