Linux命令行实用大全

一、目录操作核心命令

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

五、安全操作规范 ⚠️

  1. 删除操作三确认

    • 使用rm -i交互式删除
    • 先执行ls确认文件列表,再替换为rm
  • ls *.tmp      # 先查看
    rm *.tmp      # 再删除
  • 权限管理原则

    • 避免使用chmod 777
    • 敏感文件设置专属权限
  • chmod 600 .ssh/id_rsa  # 密钥文件权限设置
  • 危险命令黑名单

  1. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值