一、目录操作核心命令
1.1 目录导航
cd ~ # 返回用户家目录
cd /tmp # 切换到系统临时目录
cd .. # 返回上级目录(注意空格)
cd - # 返回上一个工作目录
1.2 目录查看
ls # 基础列表显示
ls -lth # 组合参数:按修改时间倒序+人性化文件大小
ls -d */ # 仅显示子目录
1.3 路径定位
pwd # 显示当前绝对路径(文件操作前建议确认)
realpath file.txt # 显示文件的绝对路径
二、文件搜索与过滤
2.1 快速定位文件
# 按名称搜索(区分大小写)
find /var/log -name "error.log"
# 按类型搜索(20天内修改的文件)
find . -type f -mtime -20
# 按大小搜索(100MB以上文件)
find /home -size +100M
2.2 内容过滤技巧
# 基础过滤(显示包含关键词的行)
grep "Connection refused" /var/log/auth.log
# 上下文查看(显示匹配行前后3行)
grep -C 3 "Timeout" debug.log
# 正则表达式匹配(IP地址提取)
grep -Eo "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" access.log
三、操作符实战宝典
3.1 常用符号速查
| 符号 | 功能说明 | 典型应用场景 |
|---|---|---|
> | 覆盖写入文件 | 日志文件初始化 |
>> | 追加写入文件 | 持续记录运行状态 |
| | 管道传递数据流 | 多命令协作处理 |
&& | 顺序执行(成功才继续) | 编译安装流程 |
& | 后台运行程序 | 启动长期运行的服务 |
3.2 文件操作演示
# 创建配置文件模板
echo "MAX_RETRY=3" > config.cfg
echo "TIMEOUT=60" >> config.cfg
# 实时监控新增日志
tail -f /var/log/nginx/access.log | grep " 500 "
四、组合技实战案例
4.1 日志分析三板斧
# 统计不同状态码出现次数
cat access.log | awk '{print $9}' | sort | uniq -c
# 查找最近1小时的错误日志
grep "ERROR" $(find /var/log/app -mmin -60 -name "*.log")
# 自动压缩7天前的日志
find /var/log -name "*.log" -mtime +7 -exec gzip {} \;
4.2 系统维护技巧
# 批量修改文件权限
find ./scripts -name "*.sh" -exec chmod 755 {} \;
# 快速定位大文件
du -ah / | sort -rh | head -10
# 内存占用Top5进程
ps aux --sort=-%mem | head -6
五、安全操作规范 ⚠️
-
删除操作三确认
- 使用
rm -i交互式删除 - 先执行
ls确认文件列表,再替换为rm
- 使用
-
ls *.tmp # 先查看 rm *.tmp # 再删除 -
权限管理原则
- 避免使用
chmod 777 - 敏感文件设置专属权限
- 避免使用
-
chmod 600 .ssh/id_rsa # 密钥文件权限设置 -
危险命令黑名单
-
rm -rf / # 毁灭性操作 :(){ :|:& };: # Fork炸弹
六、效率提升秘籍
6.1 历史命令复用
!grep # 执行最近一条grep开头的命令
!! # 重复上一条命令(常用搭配)
sudo !! # 快速用sudo权限重跑上条命令
6.2 快速定位配置
# 查看命令位置
which python3
# 定位配置文件
updatedb # 先更新索引
locate nginx.conf
💡 经验分享:复杂操作建议先在小范围测试,例如在
/tmp目录创建测试文件验证正则表达式准确性
七、实用脚本片段
7.1 自动备份脚本
#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
rsync -av /var/www $BACKUP_DIR
echo "备份完成于 $(date)" >> $BACKUP_DIR/backup.log
7.2 服务监控脚本
#!/bin/bash
if ! pgrep "nginx" > /dev/null
then
echo "检测到Nginx服务停止,尝试重启..."
systemctl restart nginx
fi

318

被折叠的 条评论
为什么被折叠?



