常用 Linux 命令速查手册
📚 目录
- certbot 配置 HTTPS
- 查看端口使用情况
- 查看文件或端口占用
- 查看系统运行状态
- 查看系统配置(CPU / 硬盘 / 内存)
- 下载工具 curl
- 下载工具 wget
- 文件查找 find
- 内容搜索 grep
- 系统清理命令(释放空间)
1. certbot 配置 HTTPS(以 Nginx 为例)
命令:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d nice.yichengcode.com
命令说明:
- 安装 certbot 和 nginx 插件
- 自动申请并配置 SSL 证书
2. 查看端口使用情况
命令:
ss -tulnp
命令说明:
-t
:显示 TCP 端口-u
:显示 UDP 端口-l
:仅列出监听端口-n
:不解析服务名,显示数字端口-p
:显示使用端口的进程信息
示例:
ss -tulnp | grep 80
3. 查看文件或端口占用
命令:
lsof -i :端口号
命令说明:
-i
:指定网络端口或协议(如:80
、tcp
)-n
:不解析主机名,显示 IP-P
:不解析端口名,显示端口号-u 用户
:查看某用户的打开文件+D 路径
:查看某目录下被打开的文件
示例:
lsof -i :443
lsof -iTCP -sTCP:LISTEN -n -P
4. 查看系统运行状态
命令:
top
命令说明(运行中使用快捷键):
P
:按 CPU 占用排序M
:按内存占用排序k
:输入 PID 杀死进程1
:显示所有 CPU 核心信息q
:退出 top
5. 查看系统配置(CPU / 硬盘 / 内存)
查看 CPU 信息:
lscpu
查看内存信息:
free -h
查看硬盘使用情况:
df -h
查看所有块设备(含挂载点):
lsblk
查看物理磁盘详细信息:
sudo fdisk -l
查看内存和交换空间使用情况:
vmstat -s
查看硬件信息(需安装 lshw):
sudo lshw -short
6. 下载工具 curl
命令:
curl [参数] [URL]
命令说明:
-O
:使用 URL 中的文件名保存文件-o 文件名
:指定保存为某个文件-L
:跟随重定向-I
:仅获取响应头-X
:指定请求方法(如 GET、POST)-d
:POST 数据(如-d "name=value"
)-H
:添加请求头-fsSL
:常用于脚本中下载并隐藏错误(-f
出错时退出,-s
静默,-S
显示错误,-L
跟重定向)-x [协议]://[IP]:[端口]
:设置代理,例如-x socks5h://127.0.0.1:1080
示例:
curl -O https://example.com/file.zip
curl -L -o final.html http://example.com/redirect
curl -X POST -d "user=abc&pass=123" https://example.com/login
curl -H "Authorization: Bearer token123" https://api.example.com/data
curl -fsSL https://get.docker.com | sh
curl -x socks5h://127.0.0.1:1080 https://api.ipify.org
7. 下载工具 wget
命令:
wget [参数] [URL]
命令说明:
-O 文件名
:保存为指定文件名-c
:断点续传-b
:后台下载--limit-rate=200k
:限制下载速度--no-check-certificate
:忽略证书验证
示例:
wget https://example.com/file.zip
wget -c -O latest.zip https://example.com/file.zip
wget --limit-rate=100k https://example.com/bigfile.iso
wget -b https://example.com/large.zip
8. 文件查找 find
命令:
find [路径] [匹配条件] [动作]
命令说明:
-name "关键词"
:匹配文件名(支持通配符)-iname
:忽略大小写的文件名匹配-type f
:查找文件(d
表示目录)-size +100M
:文件大于 100MB(可换单位 K/G)-mtime -7
:修改时间在 7 天以内-exec CMD {} \;
:对每个匹配文件执行命令
示例:
# 查找 /var 目录下所有 .log 文件
find /var -name "*.log"
# 查找当前目录下最近 3 天修改的 .sh 脚本
find . -name "*.sh" -mtime -3
# 查找超过 100MB 的视频文件
find ~/Videos -type f -size +100M
# 查找并删除超过 30 天未修改的 .log 文件
find /var/log -name "*.log" -mtime +30 -exec rm -f {} \;
9. 内容搜索 grep
命令:
grep [选项] "关键词" [文件]
命令说明:
-i
:忽略大小写-n
:显示行号-r
:递归搜索目录-v
:反向匹配(不包含关键词)-E
:支持正则表达式--color=auto
:高亮匹配词
示例:
# 在文件中搜索 error(区分大小写)
grep "error" logfile.txt
# 忽略大小写 + 显示行号
grep -in "error" logfile.txt
# 搜索当前目录及子目录中所有包含 api 的内容
grep -r "api" .
# 使用正则表达式匹配多个关键词(如 error 或 fail)
grep -E "error|fail" logfile.txt
# 排除包含 success 的行
grep -v "success" logfile.txt
10. 系统清理命令(释放空间)
清理 apt 缓存和无用依赖
sudo apt clean
sudo apt autoremove -y
清理日志文件(以 systemd 为例)
sudo journalctl --vacuum-time=7d
命令说明:
--vacuum-time=7d
:删除早于 7 天的日志--vacuum-size=1G
:仅保留最新日志,总体积不超过 1GB--vacuum-files=5
:仅保留最近 5 个日志文件
示例:
# 保留最近 3 天日志
sudo journalctl --vacuum-time=3d
# 限制日志总大小不超过 500MB
sudo journalctl --vacuum-size=500M
# 仅保留最近 10 个日志文件
sudo journalctl --vacuum-files=10
查找大文件(占用空间最多)
sudo du -ahx / | sort -rh | head -20
删除 core dump 文件
sudo find / -name "core" -type f -exec rm -f {} \;
查看磁盘空间占用前 10 的目录
sudo du -h --max-depth=1 / | sort -hr | head -n 10