Linux命令大全:从基础到高级的系统管理指南

📅 发布时间:2026/7/4 20:03:41 👁️ 浏览次数:
Linux命令大全:从基础到高级的系统管理指南
1. Linux 命令概述与使用场景作为一名Linux系统管理员和开发者我深知命令行工具在日常工作中的重要性。Linux命令是操作系统与用户交互的核心接口掌握这些命令能极大提升工作效率。本文将系统性地介绍从A到Z的常用Linux命令帮助读者构建完整的命令知识体系。Linux命令通常分为以下几类文件操作类ls, cp, mv, rm等系统管理类ps, top, kill等网络工具类ping, netstat, ssh等文本处理类grep, sed, awk等开发工具类gcc, gdb, make等提示学习Linux命令时建议先掌握基础命令再逐步深入复杂命令。每个命令都支持--help参数可以快速查看用法说明。2. 核心命令详解与使用技巧2.1 文件与目录操作命令2.1.1 基础文件操作ls列出目录内容ls -lht # 以长格式显示按修改时间排序人类可读大小 ls -a # 显示隐藏文件cp/mv/rm文件复制/移动/删除cp -r dir1 dir2 # 递归复制目录 mv file1 file2 # 重命名文件 rm -i *.log # 交互式删除避免误操作find强大的文件查找find /var/log -name *.log -mtime 30 -exec rm {} \; # 删除30天前的日志2.1.2 文件内容查看与处理cat/tac正向/反向显示文件内容cat -n file.txt # 显示行号head/tail查看文件首尾tail -f /var/log/syslog # 实时跟踪日志变化less/more分页查看less F file.log # 进入实时跟踪模式(类似tail -f)2.2 系统监控与管理命令2.2.1 进程管理ps查看进程状态ps aux --sort-%mem | head # 按内存使用排序top/htop实时系统监控top -b -n 1 top.log # 批处理模式输出到文件kill/pkill终止进程pkill -9 -f python script.py # 强制终止匹配进程2.2.2 系统资源监控free内存使用情况free -h # 人类可读格式df/du磁盘空间检查df -hT # 显示文件系统类型 du -sh * | sort -h # 排序显示目录大小iostat/vmstatI/O和内存统计iostat -x 2 # 每2秒显示扩展统计2.3 网络相关命令2.3.1 网络配置与诊断ifconfig/ip网络接口配置ip addr show # 显示IP地址信息netstat/ss网络连接查看netstat -tulnp # 查看监听端口 ss -s # 显示统计摘要ping/traceroute网络连通性测试ping -c 4 example.com # 发送4个包2.3.2 远程连接工具ssh/scp安全远程连接与文件传输ssh -i key.pem userhost scp -r dir userhost:/pathrsync高效文件同步rsync -avz --progress src/ userhost:dst/2.4 文本处理三剑客2.4.1 grep文本搜索grep -rin error /var/log/ # 递归忽略大小写搜索 grep -v ^# config.conf # 排除注释行2.4.2 sed流编辑器sed -i s/old/new/g file.txt # 替换文本 sed -n 10,20p file.txt # 打印10-20行2.4.3 awk文本处理语言awk {sum$3} END {print sum} data.txt # 计算第三列总和 awk -F: {print $1} /etc/passwd # 打印用户名3. 高级命令组合与实用技巧3.1 命令管道与重定向Linux的强大之处在于命令的组合使用# 统计访问量最高的10个IP cat access.log | awk {print $1} | sort | uniq -c | sort -nr | head -10 # 监控目录变化 watch -n 1 ls -l | grep Dec 153.2 实用脚本片段3.2.1 系统监控脚本#!/bin/bash # 监控CPU温度 temp$(cat /sys/class/thermal/thermal_zone*/temp) echo CPU Temp: $((temp/1000))°C # 监控内存使用 free -h | awk /Mem/{print Mem:, $3/$2}3.2.2 日志分析脚本#!/bin/bash # 分析Nginx错误日志 grep ERROR /var/log/nginx/error.log | \ awk {print $1,$2} | \ sort | uniq -c | \ sort -nr error_report.txt3.3 环境配置优化3.3.1 命令别名设置在~/.bashrc中添加alias llls -alF alias grepgrep --colorauto alias dfdf -h alias dudu -h3.3.2 历史命令优化export HISTSIZE10000 export HISTFILESIZE20000 export HISTTIMEFORMAT%F %T shopt -s histappend4. 常见问题排查与解决方案4.1 磁盘空间不足处理查找大文件find / -type f -size 100M -exec ls -lh {} \;清理日志文件journalctl --vacuum-size200M # 限制系统日志大小4.2 进程异常处理查找占用CPU高的进程ps -eo pid,ppid,cmd,%mem,%cpu --sort-%cpu | head分析进程资源使用strace -p pid # 跟踪系统调用 lsof -p pid # 查看打开文件4.3 网络连接问题检查端口监听netstat -tulnp | grep port测试网络连通性tcping example.com 80路由跟踪mtr example.com # 结合ping和traceroute4.4 性能优化建议I/O调度器调整echo deadline /sys/block/sda/queue/scheduler内核参数优化# 在/etc/sysctl.conf中添加 vm.swappiness 10 net.ipv4.tcp_fin_timeout 30文件系统检查fsck -y /dev/sda1掌握这些Linux命令和技巧后你将能够高效管理系统、快速排查问题。建议在日常工作中多实践、多总结逐步形成自己的命令行工作流。对于更复杂的需求可以结合Shell脚本实现自动化管理。