常用 Linux 命令速查手册

📚 目录

  1. certbot 配置 HTTPS
  2. 查看端口使用情况
  3. 查看文件或端口占用
  4. 查看系统运行状态
  5. 查看系统配置(CPU / 硬盘 / 内存)
  6. 下载工具 curl
  7. 下载工具 wget
  8. 文件查找 find
  9. 内容搜索 grep
  10. 系统清理命令(释放空间)

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:指定网络端口或协议(如 :80tcp
  • -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