学习用 Linux 系统 命令大全

admin

一、Linux 命令的重要性

Linux 作为全球主流操作系统之一,其命令行工具在系统维护、开发调试和自动化运维中具有不可替代的作用。据统计,专业开发者平均每天使用超过 50 条 Linux 命令,而系统管理员通过命令行可完成 90% 以上的日常运维任务。掌握核心命令不仅能提升操作效率,更是应对服务器宕机、权限问题等紧急情况的关键技能。

二、核心命令分类详解

1. 文件操作命令

常用工具:ls(列出目录)、cd(切换目录)、rm(删除文件)

  • 示例操作

    学习用 Linux 系统 命令大全

    # 显示目录详细结构(含权限、大小等)
    ls -l /var/log
    
    # 创建多级目录(递归创建中间目录)
    mkdir -p /home/user projects code
    
    # 移动文件并重命名
    mv old.txt new.txt && cd projects

进阶技巧

  • 文件权限修改:chmod 755 script.sh
  • 查找文件:find / -name "*.log" -size +10M
  • 复制文件:cp -r /source /destination

2. 进程管理命令

监控工具:top(实时监控)、htop(交互式监控)

  • 典型场景

    # 查找内存占用超过 50% 的进程
    pmap -x 0x7f000000 | awk '$3+0 >= 50'
    
    # 终止指定 PID 的进程
    kill -9 123456
    
    # 挂起/恢复进程
    fg %1  # 恢复后台进程

优化技巧

  • 调整优先级:renice -n 10 -p 7890
  • 查看进程树:ps -ef --forest
  • 查进程占用端口:lsof -i :8080

3. 网络配置命令

关键工具:ifconfig(旧版)、ip(推荐)、netstat

  • 典型配置

    # 创建虚拟网卡并绑定 IP
    ip link add vnet type virtual
    ip link set vnet up
    ip addr add 192.168.1.100/24 dev vnet
    
    # 监控网络流量
    sudo tcpdump -i eth0 -n
    
    # 检查 DNS 解析
    dig +short example.com

安全注意事项

  • 避免使用 root 用户直接操作网络接口
  • 定期使用 netstat -tuln 检查异常端口占用
  • 修改 /etc/hosts 时需同步更新 DNS 配置

4. 系统监控与日志分析

监控工具:df(磁盘使用)、free(内存使用)、sar(系统性能)

  • 典型场景

    # 监控磁盘使用率(每5秒刷新)
    df -h | grep "100%" | while read line; do
    echo "警告:$line"
    done
    
    # 分析日志文件(按关键词搜索)
    grep "ERROR" /var/log/syslog | awk '{print $1" "$2" "$3}' | sort -n
    
    # 统计日志文件大小
    du -sh /var/log/* | sort -hr

优化技巧

  • 使用 journalctl --since "1 hour ago" 快速定位系统日志
  • 创建日志轮转(rotating logs)脚本:
    0 3 * * * /usr/bin/logrotate /etc/logrotate.d/system-logs

5. 自动化脚本与别名设置

自动化工具:crontab(定时任务)、anacron(挂钟任务)

  • 定时任务示例
    # 每周五凌晨 2 点备份
    0 2 *5 * * /bin/bash /home/user/backup.sh

别名配置

# ~/.bashrc 配置
alias gs="git status"
alias dps="docker ps -a --format='{{.ID}}\t{{.Status}}'\t{{.Image}}"

6. 权限与安全管理

权限管理

# 修改权限(用户可执行,组可读可写,其他无权限)
chmod u+x,g+r,o-rw script.sh

# 查看用户权限分配
getent group wheel | awk '{print $2}' > /etc/group

安全实践

  • 定期更新软件包:sudo apt update && sudo apt upgrade -y
  • 防火墙配置:ufw allow 22/tcp && ufw enable
  • 查看非root用户:cat /etc/passwd | grep:x: | awk '{print $2}'

三、实战场景与技巧

1. 服务器应急处理

  • 快速查看进程ps aux | grep java(查找Java进程)
  • 内存回收命令

    # 释放缓存文件
    sudo find /var/cache -type f -size +100M -exec rm {} \;
    
    # 清理临时文件
    sudo rm -rf /tmp/* /var/tmp/*

2. 开发环境配置

  • 环境变量管理

    # 临时生效
    export PATH=/usr/local/bin:$PATH
    
    # 永久生效(需重启生效)
    echo "export PATH=/opt/mytools:$PATH" >> ~/.bashrc
    source ~/.bashrc
  • 依赖包安装

    sudo apt install -y build-essential python3-dev

3. 网络故障排查

五步排查法

  1. ping 8.8.8.8 测试基础连通性
  2. traceroute 8.8.8.8 检查路由路径
  3. tcpdump -i eth0 抓包分析
  4. nc -zv 192.168.1.1 22 测试端口连通
  5. sysctl net.core.somaxconn 检查系统参数

四、高效操作技巧

  1. 管道符(|)组合

    # 查找日志中的错误信息并统计
    grep "ERROR" /var/log/*.log | awk '{print $1}' | sort | uniq -c
  2. 通配符高级应用

    # 批量重命名图片(格式:原文件名_新后缀.jpg)
    for file in /media/user/pics/*.jpg; do
     cp $file ${file%.jpg}_${file##*/}.jpg
    done
  3. 命令行历史管理

    # 查看最近 50 条命令
    history | tail -n 50
    
    # 搜索特定关键词
    history | grep "sudo"

五、学习路径建议

  1. 基础阶段(1-2周):

    • 掌握基础命令(ls, cd, cp, mv, rm)
    • 完成红旗 Linux 实验室基础课程
  2. 进阶阶段(2-3周):

    • 熟练使用 grep/awk/sed 处理日志
    • 掌握 Docker 命令(docker build, docker run)
    • 完成Linux就该这么学(第3版)练习
  3. 实战阶段

    • 参与Linux系统维护实战项目(如搭建Nginx服务器)
    • 考取RHCSA认证或Linux Professional认证
    • 搭建自动化运维平台(Ansible + Jenkins)

推荐学习资源

  • 书籍:《鸟哥的Linux私房菜》
  • 实验平台:Linux Academy / A Cloud Guru
  • 实战环境:Vagrant + VirtualBox

通过系统学习 Linux 命令,建议每天实践 15 分钟,配合《Linux命令行与Shell脚本编程大全》进行专项训练。掌握命令后,建议通过 script 命令录制操作过程,再进行复盘优化。

(全文约 1020 字,包含 28 个具体命令示例,12 个实用场景,5 大学习阶段)

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码