七、系统监控与调试
7.1 df - 磁盘空间
df -h # 人类可读格式
df -i # 查看 inode 使用情况
df -T # 显示文件系统类型
7.2 du - 目录大小
du -sh folder/ # 总大小
du -sh * # 当前目录每个文件夹大小
du -h --max-depth=1 # 一层深度
du -ah | sort -rh | head -10 # 找出最大的10个文件
7.3 free - 内存使用
free -h # 人类可读
free -m # MB 单位
free -g # GB 单位
# 输出说明
total # 总内存
used # 已使用
free # 空闲
shared # 共享内存
buff/cache # 缓存
available # 可用内存
7.4 uptime - 系统运行时间
uptime
# 输出:10:30:01 up 15 days, 2:30, 2 users, load average: 0.05, 0.10, 0.15
# ↑ ↑
# 运行时间 负载(1min/5min/15min)
7.5 uname - 系统信息
uname -a # 所有系统信息
uname -r # 内核版本
uname -m # 硬件架构(x86_64、arm64)
八、打包与压缩
8.1 tar
# 打包
tar -cvf archive.tar folder/ # 打包(不压缩)
tar -czvf archive.tar.gz folder/ # 打包并 gzip 压缩
tar -cjvf archive.tar.bz2 folder/ # 打包并 bzip2 压缩
# 解包
tar -xvf archive.tar # 解包
tar -xzvf archive.tar.gz # 解压 gzip
tar -xjvf archive.tar.bz2 # 解压 bzip2
tar -xzvf archive.tar.gz -C /target/ # 解压到指定目录
# 查看内容
tar -tvf archive.tar.gz # 查看不解压
8.2 zip/unzip
# 压缩
zip -r archive.zip folder/ # 递归压缩目录
zip -e encrypted.zip file.txt # 加密压缩
# 解压
unzip archive.zip # 解压到当前目录
unzip archive.zip -d /target/ # 解压到指定目录
unzip -l archive.zip # 查看不解压
九、用户管理
# 用户管理
useradd username # 创建用户
useradd -m username # 同时创建家目录
passwd username # 设置密码
userdel username # 删除用户
userdel -r username # 删除用户及家目录
# 组管理
groupadd groupname # 创建组
usermod -aG groupname username # 将用户加入组
groups username # 查看用户所属组
# 切换用户
su - username # 切换用户(加载环境变量)
sudo -i # 切换到 root
十、日志查看
# 系统日志
/var/log/syslog # 系统日志
/var/log/auth.log # 认证日志
/var/log/nginx/access.log # Nginx 访问日志
/var/log/nginx/error.log # Nginx 错误日志
/var/log/mysql/error.log # MySQL 错误日志
# 常用命令组合
tail -f /var/log/nginx/error.log
grep "ERROR" /var/log/syslog | tail -20
journalctl -u nginx -f # systemd 日志
journalctl --since "2024-01-01" --until "2024-01-02"


