← 返回首页
一、文件与目录
- 目录结构:
/(根)/ /home(用户)/ /etc(配置)/ /var(日志)/ /usr(程序)/ /tmp(临时)
- 文件操作:
ls -la / cp -r / mv / rm -rf / mkdir -p / touch
- 查找:
find /path -name "*.log" -mtime +7(按名称/时间)/ locate(索引快速查找)
- 权限:rwx(读4/写2/执行1),
chmod 755 / chown user:group / umask
- 特殊权限:SUID(以文件所有者身份执行)/ SGID / Sticky Bit(
/tmp 只能删自己的文件)
- 链接:硬链接(共享 inode)/ 软链接(快捷方式,
ln -s)
二、文本处理
- 查看:
cat / less(分页)/ head -n 20 / tail -f(实时跟踪日志)
- grep:
grep -rn "pattern" /path(递归+行号),-i 忽略大小写,-v 反向匹配
- awk:列处理,
awk '{print $1,$3}' file,-F: 指定分隔符
- sed:流编辑,
sed -i 's/old/new/g' file 全局替换
- 管道组合:
cat log | grep ERROR | awk '{print $1}' | sort | uniq -c | sort -rn
- xargs:将标准输入转为命令参数,
find . -name "*.tmp" | xargs rm
三、进程管理
- 查看进程:
ps aux / ps -ef / top(实时)/ htop(增强版)
- 信号:
kill -9 PID(强制终止)/ kill -15(优雅终止)/ kill -HUP(重载配置)
- 后台运行:
nohup command & / screen / tmux(终端复用器,推荐)
- 定时任务:
crontab -e,格式:分 时 日 月 周 命令,*/5 * * * *(每5分钟)
- systemd:
systemctl start/stop/restart/status/enable service,管理系统服务
四、网络命令
- 连通性:
ping / telnet host port / curl -v url
- 端口查看:
netstat -tlnp / ss -tlnp(更快)/ lsof -i:8080
- 抓包:
tcpdump -i eth0 port 80 -w capture.pcap
- DNS:
nslookup domain / dig domain
- 传输:
scp file user@host:/path / rsync -avz(增量同步)
- 防火墙:
iptables(传统)/ firewalld(CentOS 7+)/ ufw(Ubuntu)
五、性能监控
- CPU:
top(%us 用户态/%sy 内核态/%wa IO等待)/ vmstat 1 / mpstat -P ALL
- 内存:
free -h(available 才是真正可用)/ /proc/meminfo
- 磁盘:
df -h(使用率)/ du -sh *(目录大小)/ iostat -x 1(IO 性能)
- 网络:
iftop(流量)/ nethogs(按进程统计)
- 综合排查:
dmesg(内核日志)/ sar(历史性能数据)/ strace -p PID(系统调用跟踪)
六、Shell 脚本
- 变量:
name="value"(无空格),引用 $name 或 ${name}
- 条件判断:
if [ -f file ]; then ... fi,-d(目录)/ -z(空字符串)/ -eq(数字相等)
- 循环:
for i in {1..10}; do ... done / while read line; do ... done < file
- 函数:
function name() { ... },$1 $2 接收参数,$? 上条命令返回值
- 实用技巧:
set -e(出错即退出)/ set -x(调试模式)/ trap(信号捕获清理)