
1. Linux命令基础从终端操作到系统掌控刚接触Linux时那个黑乎乎的终端窗口总是让人望而生畏。但当我真正开始使用这些看似简单的命令后才发现它们就像瑞士军刀一样强大。Linux命令不仅仅是输入几个字母那么简单它们是整个操作系统的基础交互方式也是系统管理员和开发者的必备技能。提示所有Linux命令都区分大小写并且大多数命令都遵循命令 [选项] [参数]的基本格式我至今记得第一次用ls命令看到目录内容时的兴奋感也记得因为误用rm -rf而痛失重要文件的惨痛教训。这些经历让我明白掌握Linux命令不仅需要记忆更需要理解其背后的逻辑和潜在风险。2. 文件与目录操作Linux的基石2.1 导航与查看ls、pwd、cdls命令可能是使用频率最高的命令之一。但很多人不知道通过不同的选项可以获取完全不同的信息展示ls -l # 长格式显示包含权限、所有者、大小等信息 ls -a # 显示所有文件包括隐藏文件(以.开头) ls -lh # 人类可读的文件大小显示(如K、M、G)pwd(Print Working Directory)显示当前所在路径而cd(Change Directory)用于切换目录。几个实用技巧cd ~ # 返回用户主目录 cd - # 返回上一个工作目录 cd .. # 进入上级目录2.2 文件操作cp、mv、rm文件操作三剑客需要特别注意cp source.txt dest/ # 复制文件 cp -r dir1/ dir2/ # 递归复制目录 mv old.txt new.txt # 重命名文件 mv file.txt ~/backup/ # 移动文件 rm file.txt # 删除文件 rm -r directory/ # 递归删除目录警告rm命令删除的文件通常无法恢复特别是使用-rf选项时要格外小心。建议先使用ls查看确认要删除的内容。2.3 文件查看与编辑cat、less、nano/vim查看文件内容有多种方式cat file.txt # 显示整个文件内容 less file.txt # 分页查看支持搜索(/关键词) head -n 5 file.txt # 显示前5行 tail -f log.txt # 实时追踪日志文件变化对于编辑新手可以从nano开始它有简单的底部菜单提示。而vim虽然学习曲线陡峭但效率更高nano file.txt # 使用nano编辑器 vim file.txt # 使用vim编辑器3. 系统信息与进程管理3.1 系统状态监控top、htop、free了解系统状态是管理Linux的基础top # 动态显示进程和系统资源使用情况 htop # top的增强版(需安装) free -h # 查看内存使用情况(-h人类可读格式) df -h # 查看磁盘空间使用情况 uptime # 显示系统运行时间和负载3.2 进程管理ps、kill、pgrep进程管理是系统运维的核心技能ps aux # 显示所有运行中的进程 ps -ef | grep nginx # 查找特定进程 kill -9 PID # 强制终止进程(PID通过ps获取) pkill process_name # 通过进程名终止 nice -n 10 command # 以低优先级运行命令4. 网络相关命令4.1 网络配置与测试ifconfig、ip、ping网络问题排查常用命令ifconfig # 查看网络接口信息(较老) ip addr # 更现代的替代方案 ping example.com # 测试网络连通性 traceroute example.com # 追踪网络路径 netstat -tulnp # 查看网络连接和监听端口 ss -tulnp # netstat的现代替代4.2 远程连接ssh、scp远程管理是Linux运维的日常ssh userhostname # 远程登录 scp file.txt userhostname:/path/ # 安全复制文件 rsync -avz dir/ userhostname:backup/ # 高效同步5. 权限与用户管理5.1 文件权限chmod、chownLinux的权限系统是其安全基础chmod 755 script.sh # 设置权限(rwxr-xr-x) chmod x script.sh # 添加执行权限 chown user:group file # 改变文件所有者和组权限数字表示法4 读(r)2 写(w)1 执行(x)0 无权限三个数字分别代表所有者、组和其他用户的权限组合。5.2 用户管理useradd、passwd、sudosudo useradd -m newuser # 创建新用户(-m创建家目录) sudo passwd newuser # 设置密码 sudo usermod -aG group user # 将用户添加到附加组 sudo visudo # 安全编辑sudoers文件6. 文本处理与管道6.1 强大的文本处理工具grep、awk、sedgrep error log.txt # 查找包含error的行 grep -r function /path/ # 递归搜索目录 awk {print $1} file.txt # 打印每行第一个字段 sed s/old/new/g file.txt # 替换文本6.2 管道与重定向Linux最强大的特性之一是将命令组合使用cat access.log | grep 404 | awk {print $7} | sort | uniq -c | sort -nr这个管道组合读取日志文件过滤出404错误提取URL路径(第7列)排序统计唯一值出现次数按计数反向排序重定向也很常用command output.txt # 标准输出重定向到文件 command 2 error.log # 标准错误重定向 command log.txt # 追加而不是覆盖 command input.txt # 从文件读取输入7. 实用技巧与高级用法7.1 命令组合与别名提高效率的小技巧# 后台运行命令 long_running_command # 命令序列 command1 command2 # command1成功才运行command2 command1 || command2 # command1失败才运行command2 # 创建别名 alias llls -alF alias updatesudo apt update sudo apt upgrade7.2 历史命令与补全history # 查看命令历史 !number # 执行历史中第number条命令 !! # 重复上一条命令 !string # 执行最近以string开头的命令 CtrlR # 反向搜索命令历史7.3 定时任务cron设置定时任务crontab -e # 编辑当前用户的cron表常见格式* * * * * command ┬ ┬ ┬ ┬ ┬ │ │ │ │ └─ 星期几 (0 - 6) (0是周日) │ │ │ └─── 月份 (1 - 12) │ │ └───── 日 (1 - 31) │ └─────── 小时 (0 - 23) └───────── 分钟 (0 - 59)8. 常见问题排查8.1 命令找不到如果遇到command not found检查拼写错误确认命令是否安装(which command)检查PATH环境变量(echo $PATH)8.2 权限被拒绝Permission denied通常意味着文件不可读/写/执行需要sudo权限SELinux策略限制8.3 磁盘空间不足排查步骤df -h # 查看磁盘使用情况 du -sh /path/* # 查看目录大小 find / -size 100M # 查找大文件9. 学习资源与进阶建议掌握基础命令后可以进一步学习编写Shell脚本自动化任务学习正则表达式提升文本处理能力理解Linux文件系统层次结构标准(FHS)探索更多高级命令lsof, strace, tcpdump等我个人习惯将常用命令保存在一个cheatsheet文件中并定期复习和更新。对于复杂操作建议先在小范围测试特别是涉及文件删除或系统修改的命令。