一、系统管理与监控
1. 资源监控
-
top
/htop
- 基础:实时查看 CPU、内存、进程状态。
- 高级:
- 按内存排序:
top
中按M
,按 CPU 排序按P
。 - 监控特定进程:
top -p $(pgrep nginx)
。
- 按内存排序:
-
ps
- 基础:列出进程快照。
- 高级:
- 显示进程树:
ps aux --forest
。 - 结合管道过滤:
ps -ef | grep java
。
- 显示进程树:
2. 服务管理
systemctl
- 基础:启动/停止服务(
start
/stop
)。 - 高级:
- 查看服务日志:
journalctl -u nginx.service
。 - 设置开机启动:
systemctl enable nginx
。
- 查看服务日志:
- 基础:启动/停止服务(
二、文件操作
1. 基础文件操作
-
复制 (
cp
)cp file.txt /backup/ # 复制文件 cp -r dir1/ dir2/ # 递归复制目录 cp -a source/ dest/ # 保留所有属性(权限、时间戳)
-
移动/重命名 (
mv
)mv file.txt /new/path/ # 移动文件 mv old.txt new.txt # 重命名 mv --backup=numbered src.txt dest.txt # 覆盖前备份旧文件
-
删除 (
rm
)rm file.txt # 删除文件 rm -r dir/ # 递归删除目录 rm -i *.tmp # 交互式确认删除
2. 高级文件操作
-
dd
- 磁盘备份:
dd if=/dev/sda of=/backup/sda.img bs=4M
。 - 创建测试文件:
dd if=/dev/zero of=test.bin bs=1G count=1
。
- 磁盘备份:
-
grep
- 递归搜索并排除目录:
grep -rn --exclude-dir=logs "error" /path
。 - 多关键词匹配:
grep -E "error|warning" syslog
。
- 递归搜索并排除目录:
-
split
- 分割文件:
split -b 100M large.tar.gz part_
。 - 合并文件:
cat part_* > merged.tar.gz
。
- 分割文件:
-
shred
(安全删除)shred -n 5 -z -u secret.txt # 覆盖5次后彻底删除
-
truncate
(调整文件大小)truncate -s 0 app.log # 清空日志文件(保留 inode)
三、网络与安全
1. 网络工具
-
netstat
/ss
- 查看端口占用:
netstat -tulnp | grep :80
。 - 显示进程关联连接:
ss -tp
。
- 查看端口占用:
-
iptables
- 限制 SSH 访问:
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
。 - 记录被拒流量:
iptables -A INPUT -j LOG --log-prefix "DROPPED: "
。
- 限制 SSH 访问:
-
ssh
/scp
- 端口转发:
ssh -L 8080:localhost:80 user@remote
。 - 密钥免密登录:
ssh-keygen -t rsa
+ssh-copy-id user@remote
。
- 端口转发:
四、权限与用户管理
-
chmod
/chown
- 递归修改权限:
chmod -R 755 /var/www
。 - 设置 SUID:
chmod u+s /usr/bin/script
(谨慎使用)。
- 递归修改权限:
-
sudo
- 免密授权:在
/etc/sudoers
添加username ALL=(ALL) NOPASSWD:ALL
。
- 免密授权:在
五、自动化与脚本
-
cron
- 定时任务:
0 2 * * * /path/to/backup.sh
(每天凌晨2点执行)。
- 定时任务:
-
awk
/sed
- 统计日志 IP 访问量:
awk '{print $1}' access.log | sort | uniq -c | sort -nr
。 - 批量替换文本:
sed -i 's/old/new/g' *.conf
。
- 统计日志 IP 访问量:
六、性能调优
-
vmstat
/iostat
- 监控系统 I/O:
iostat -dx 1
(每秒采样一次)。
- 监控系统 I/O:
-
dmesg
- 过滤硬件错误:
dmesg | grep -i error
。
- 过滤硬件错误:
七、扩展工具推荐
工具 | 功能 | 示例命令 |
---|---|---|
htop | 增强版资源监控 | htop |
ncdu | 可视化磁盘分析 | ncdu /path/to/dir |
jq | JSON 数据处理 | cat data.json |
trash-cli | 安全删除(回收站) | trash-put file.txt |
八、安全操作与最佳实践
-
危险命令规避
- 禁止执行:
rm -rf /
或rm -rf /*
(会导致系统崩溃!)。 - 替代方案:使用
trash-cli
或mv
临时移动文件。
- 禁止执行:
-
数据备份与恢复
- 备份工具:
rsync
,tar
,borgbackup
。 - 误删恢复:
- 立即卸载磁盘:
umount /dev/sdb1
。 - 使用
testdisk
或extundelete
恢复文件。
- 立即卸载磁盘:
- 备份工具:
-
脚本安全
- 使用
set -e
使脚本在错误时终止:#!/bin/bash set -e # 任何命令失败则退出
- 使用
九、完整命令速查表
场景 | 命令示例 |
---|---|
查看进程树 | ps aux --forest |
增量备份 | tar -g snapshot -czvf backup.tar.gz /data |
安全删除目录 | shred -n 3 -zu -r dir/ |
批量重命名 | rename 's/.log/.bak/' *.log |
端口转发 | ssh -L 8080:localhost:80 user@remote |