插件窝 干货文章 linux常用命令用过哪些

linux常用命令用过哪些

命令 bash 文件 log 513    来源:    2025-04-05

作为IT工程师,Linux命令是日常必备技能。以下分类整理常用命令及场景说明,并附上实用技巧:

一、文件与目录操作 1. 核心命令: - ls -alh (显示隐藏文件+详细信息+人性化大小) - cd - (快速返回上一个目录) - pwd -P (显示真实物理路径) - mkdir -p project/{src,log,bak} (递归创建多级目录结构) - cp -av source dest (保留属性递归复制) - rm -rf !(important) (删除除important外的所有文件)

  1. 高阶技巧:

    # 快速备份文件(带时间戳)
    cp config.conf{,.bak_$(date +%F)}
    
    # 按大小排序文件
    du -sh * | sort -h
    

二、文本处理三剑客 1. grep进阶: bash grep -P '\d{3}-\d{4}' access.log # 正则匹配电话号码 grep --color=auto -n 'error' *.log # 高亮显示行号

  1. sed实战:

    # 批量替换文本
    sed -i 's/old_domain/new_domain/g' *.conf
    
    # 删除空行和注释
    sed -i '/^$/d; /^#/d' config.ini
    
  2. awk数据分析:

    # 统计Nginx日志状态码
    awk '{count[$9]++} END {for(code in count) print code, count[code]}' access.log
    
    # 提取特定列并计算
    df | awk '$1!="tmpfs"{sum+=$3}END{print "Used:",sum/1024,"GB"}'
    

三、系统监控与性能 1. 实时监控组合: ```bash watch -n 1 'df -h; free -m; top -bn1 | head -10'

# 网络流量监控 nload -u M eth0 ```

  1. 进程管理技巧:

    # 查找并杀死僵尸进程
    ps -A -ostat,ppid | grep -e '[zZ]' | awk '{print $2}' | xargs kill -9
    
    # 查看进程树
    pstree -apnh
    

四、网络诊断工具链 1. 连通性测试: bash mtr -w 8.8.8.8 # 结合ping+traceroute tcpping -p 443 example.com # TCP端口测试

  1. 抓包分析: bash tcpdump -i eth0 -nn 'port 80 and host 192.168.1.100' -w http.pcap tshark -r http.pcap -Y "http.request" -T fields -e http.host

五、权限与安全 1. 特殊权限管理: ```bash # 查找SUID文件 find / -perm -4000 -exec ls -ld {} \;

# 批量修改权限 find /var/www -type d -exec chmod 750 {} \; ```

  1. SSH安全技巧: bash # 免密登录+超时设置 ssh-keygen -t ed25519 ssh -o ServerAliveInterval=60 user@host

六、实用组合技 1. 日志分析: ```bash # 统计每小时请求量 awk -F: '{count[$2]++}END{for(h in count)print h,count[h]}' access.log

# 实时监控错误日志 tail -f /var/log/nginx/error.log | grep -E '500|503' ```

  1. 系统信息速查:

    # 硬件信息汇总
    lscpu && lsblk && lspci | grep -i vga
    
    # 查看系统启动时间线
    systemd-analyze blame
    

七、开发相关命令 1. 编译调试: ```bash # 编译并行加速 make -j$(nproc)

# 调试运行 strace -ff -o trace.log ./server ```

  1. 版本控制:

    # 查找代码变更历史
    git log -p -S'function_name' -- path/to/file
    
    # 批量重置修改
    git status -s | awk '{print $2}' | xargs git checkout --
    

高频使用技巧: 1. 历史命令优化: bash !$ # 上条命令的最后一个参数 !ssh # 执行最近ssh开头的命令 ^old^new # 替换上条命令中的字符串

  1. 终端生产力:

    ctrl+r   # 反向搜索历史命令
    ctrl+x+e # 用默认编辑器编辑当前命令
    
  2. 数据备份:

    # 快速差异备份
    rsync -avz --delete /data/ user@backup:/backup/
    
    # 打包时排除特定目录
    tar --exclude='*.log' -czvf backup.tar.gz /path/
    

掌握这些命令组合能应对90%的Linux运维场景。建议通过man -k <keyword>tldr <command>快速查阅命令文档,关键是要理解每个参数的含义而非死记硬背。