刚开始使用 Linux 服务器,面对黑色终端往往不知从何下手。其实日常运维用到的命令并不多,掌握几十个核心命令就能应对绝大多数场景。本文按功能分类整理最常用的 Linux 命令,每条命令配有简短说明与示例,适合新手收藏备查。
本文要点
- 文件与目录操作命令
- 进程与服务管理命令
- 网络查看与测试命令
- 权限、磁盘与系统信息命令
文件与目录操作
| 命令 | 说明 | 示例 |
|---|---|---|
| ls -lh | 列出目录内容(详细、易读大小) | ls -lh /var/log |
| cd | 切换目录 | cd /etc/nginx |
| pwd | 显示当前目录 | pwd |
| mkdir -p | 创建目录(含父目录) | mkdir -p /data/backup |
| rm -rf | 递归删除目录(危险!) | rm -rf /tmp/old |
| cp -r | 复制文件或目录 | cp -r /etc/nginx /tmp/nginx.bak |
| mv | 移动或重命名 | mv old.conf new.conf |
| find | 查找文件 | find /var -name '*.log' -mtime +7 |
| cat / less / tail | 查看文件内容 | tail -f /var/log/syslog |
# 查看目录下所有文件(包含隐藏文件)
ls -lha
# 实时追踪日志最后几行
tail -f /var/log/nginx/access.log
# 在文件中搜索关键字
grep 'error' /var/log/nginx/error.log
grep -r 'TODO' /var/www/进程与服务管理
| 命令 | 说明 |
|---|---|
| ps aux | 列出所有进程 |
| top / htop | 实时进程监控 |
| kill PID / kill -9 PID | 正常/强制终止进程 |
| systemctl start/stop/restart 服务 | 启动/停止/重启服务 |
| systemctl status 服务 | 查看服务运行状态 |
| systemctl enable/disable 服务 | 设置开机自启/取消 |
# 查找占用 CPU 最多的进程
ps aux --sort=-%cpu | head -10
# 查看 nginx 服务状态
systemctl status nginx
# 重启并确认成功
systemctl restart nginx && systemctl status nginx网络查看与测试
| 命令 | 说明 |
|---|---|
| ip addr | 查看 IP 地址 |
| ss -tlnp | 查看监听端口与对应进程 |
| ping 地址 | 测试网络连通性 |
| curl -I URL | 测试 HTTP 响应 |
| wget URL | 下载文件 |
| traceroute 地址 | 路由追踪 |
# 查看所有监听端口
ss -tlnp
# 测试 HTTP 服务是否正常响应
curl -I http://localhost
# 下载文件
wget https://example.com/file.tar.gz磁盘与内存
# 查看磁盘使用情况
df -h
# 查看当前目录各子目录大小
du -sh *
# 查找最大文件(前10)
find / -type f -printf '%s %p\n' 2>/dev/null | sort -rn | head -10
# 查看内存使用
free -m用户与权限
| 命令 | 说明 |
|---|---|
| whoami | 显示当前用户 |
| id | 显示用户 ID 与所属组 |
| su - 用户名 | 切换用户 |
| chmod 权限 文件 | 修改权限 |
| chown 用户:组 文件 | 修改所有者 |
| sudo 命令 | 以 root 权限执行 |
系统信息
# 查看系统版本
cat /etc/os-release
# 查看内核版本
uname -r
# 查看系统运行时长与负载
uptime
# 查看最近登录记录
last -n 20rm -rf 使用须谨慎
rm -rf 删除后无法恢复,执行前请再三确认路径正确。建议先用 ls 确认目标目录内容,再执行删除。小结
- 文件操作:ls/cd/cp/mv/find/cat/grep
- 进程服务:ps/top/systemctl/kill
- 网络测试:ip addr/ss/curl/ping
- 磁盘内存:df/du/free
- 权限用户:chmod/chown/su/sudo
常见问题
如何查看哪个进程占用了某个端口?
用 ss -tlnp | grep 端口号,输出会显示监听该端口的进程名称和 PID。
tail -f 和 cat 有什么区别?
cat 输出全部内容后退出;tail -f 持续监控文件末尾,有新内容会实时追加显示,适合实时查看日志。
如何搜索包含特定内容的文件?
用 grep -r 关键词 目录路径 递归搜索目录下所有文件,加 -l 只显示文件名,加 -n 显示行号。
df 和 du 有什么区别?
df 显示整个文件系统的挂载点使用情况;du 显示指定目录或文件的实际占用大小,两者互补。