1. Linux命令基础概述作为一名Linux系统管理员我每天的工作都离不开命令行操作。很多人觉得Linux命令晦涩难懂但实际上只要掌握基础核心命令就能完成80%的日常运维工作。Linux命令就像一把瑞士军刀虽然看起来简单但组合使用能发挥巨大威力。根据我的经验新手常犯的错误是死记硬背命令参数。其实Linux命令设计有很强的逻辑性大多数命令都遵循命令 [选项] [参数]的统一格式。比如ls -l /home这个命令ls是列出目录内容-l表示长格式显示/home则是要查看的目录路径。提示Linux命令区分大小写输入命令时要注意字母大小写。比如LS和ls是完全不同的。2. Linux命令分类解析2.1 文件操作命令文件操作是Linux中最基础也最常用的命令类型。掌握这些命令你就能自如地管理文件系统ls列出目录内容-l长格式显示包含权限、所有者、大小等信息-a显示隐藏文件以.开头的文件-h人类可读的文件大小如1K、234Mcd切换目录cd ~返回用户主目录cd -返回上一个工作目录cd ..返回上级目录cp复制文件-r递归复制目录-i覆盖前提示确认mv移动或重命名文件重命名示例mv oldname newname移动示例mv file /target/directoryrm删除文件-r递归删除目录-f强制删除不提示警告rm -rf /会删除系统所有文件切勿尝试2.2 文本处理命令处理文本文件是Linux的强项这些命令能帮你高效处理日志、配置文件等cat显示文件内容-n显示行号合并文件cat file1 file2 combinedgrep文本搜索-i忽略大小写-v反向匹配显示不包含模式的行-r递归搜索目录示例grep error /var/log/syslogsed流编辑器替换文本sed s/old/new/g file删除行sed 5d file删除第5行awk强大的文本分析工具打印特定列awk {print $1} file条件过滤awk $3 100 {print $0} file2.3 系统管理命令这些命令帮助你监控和管理Linux系统ps查看进程-aux显示所有用户的所有进程-ef完整格式显示进程信息top动态查看系统资源使用情况按M按内存排序按P按CPU排序按q退出df磁盘空间检查-h人类可读格式示例df -h /homefree内存使用情况-m以MB为单位显示-g以GB为单位显示netstat网络连接信息-tulnp查看监听端口替代命令ss -tulnp更现代的工具3. 实用命令组合技巧3.1 管道与重定向Linux最强大的特性之一是命令的组合使用|管道将一个命令的输出作为另一个命令的输入示例ps aux | grep nginx查找nginx进程重定向输出到文件覆盖示例ls -l filelist.txt重定向输出到文件追加示例echo new line file.txt从文件读取输入示例sort unsorted.txt sorted.txt3.2 常用命令组合这些组合命令能显著提高工作效率统计当前目录文件数ls | wc -l查找并删除7天前的日志文件find /var/log -name *.log -mtime 7 -exec rm {} \;查看占用CPU最高的进程ps aux --sort-%cpu | head -n 5实时监控日志文件tail -f /var/log/syslog批量重命名文件for file in *.txt; do mv $file prefix_$file; done4. 环境变量与命令别名4.1 环境变量配置环境变量是Linux中的重要概念可以自定义系统行为查看所有环境变量env查看特定变量echo $PATH添加PATH变量export PATH$PATH:/new/path永久生效将export命令添加到~/.bashrc或~/.bash_profile4.2 命令别名设置别名可以简化常用命令查看当前别名alias设置别名alias llls -alF永久保存将alias命令添加到~/.bashrc常用别名建议alias grepgrep --colorauto alias egrepegrep --colorauto alias fgrepfgrep --colorauto alias hhistory alias jjobs -l5. 实用工具与技巧5.1 终端复用工具screen终端复用器新建会话screen -S session_name分离会话Ctrla d恢复会话screen -r session_nametmux更现代的终端复用器新建窗口Ctrlb c切换窗口Ctrlb n下一个Ctrlb p上一个垂直分割Ctrlb %水平分割Ctrlb 5.2 历史命令操作查看历史命令history执行历史命令!n # 执行第n条历史命令 !! # 执行上一条命令 !string # 执行最近以string开头的命令搜索历史命令Ctrlr # 反向搜索历史命令5.3 其他实用技巧快速返回家目录cd清空文件内容 filename创建多层目录mkdir -p dir1/dir2/dir3查看命令帮助man command command --help解压各种压缩包tar -xzvf file.tar.gz # .tar.gz tar -xjvf file.tar.bz2 # .tar.bz2 unzip file.zip # .zip6. 常见问题排查6.1 命令找不到当出现command not found错误时检查命令拼写是否正确检查命令是否安装which command检查PATH变量是否包含命令所在目录可能需要安装软件包sudo apt install package_name # Debian/Ubuntu sudo yum install package_name # CentOS/RHEL6.2 权限问题遇到Permission denied错误检查文件权限ls -l filename使用sudo执行需要root权限的命令修改文件权限chmod ux script.sh # 给所有者添加执行权限修改文件所有者sudo chown user:group filename6.3 磁盘空间不足当磁盘空间不足时检查磁盘使用情况df -h查找大文件du -sh * | sort -h清理日志文件sudo journalctl --vacuum-size100M # 限制日志大小为100M查找并删除core dump文件find / -name core.* -exec rm {} \;7. 学习资源推荐7.1 在线文档man手册Linux自带的命令文档man lsGNU Coreutils文档核心命令的官方文档TLDPThe Linux Documentation Project丰富的Linux文档资源7.2 练习平台OverTheWire通过游戏学习Linux命令Linux Journey交互式Linux学习网站本地虚拟机安装VirtualBox和任意Linux发行版进行实践7.3 进阶学习Shell脚本编程将命令组合成自动化脚本正则表达式提升文本处理能力Vim编辑器高效的文本编辑工具学习Linux命令最重要的是多实践。我建议新手每天花15分钟在终端中练习一个月后你会惊讶于自己的进步。记住每个Linux专家都是从ls和cd开始的