1. Linux命令概述与基础认知作为从Windows转向Linux的老用户我清楚地记得第一次面对黑色终端窗口时的茫然无措。与图形界面操作完全不同Linux的精髓在于命令行操作的高效与精准。经过多年运维工作积累我整理出这套覆盖日常90%场景的实用命令手册特别适合刚接触Linux的朋友快速上手。Linux命令本质上是通过终端与系统内核交互的指令工具其核心优势在于批量处理能力一条命令可完成图形界面数十次点击的操作资源消耗极低特别适合服务器等资源受限环境可脚本化命令组合可实现复杂自动化任务远程管理通过SSH即可完成所有系统管理提示所有命令都区分大小写建议新手先在测试环境练习。生产环境操作前务必确认命令作用。2. 文件与目录操作命令精要2.1 基础导航命令pwd # 显示当前工作目录路径 ls # 列出目录内容常用参数-l详细列表 -a显示隐藏文件 -h人性化大小 cd # 切换目录cd ~返回家目录 cd -返回上次目录实际案例查看/var/log目录下的日志文件详情cd /var/log ls -lh *.log2.2 文件操作三剑客cp source.txt dest/ # 复制文件-r参数递归复制目录 mv old.txt new.txt # 移动/重命名文件 rm file.txt # 删除文件-rf强制递归删除慎用血泪教训rm -rf /这样的命令会毁灭性删除整个系统。建议设置alias rmrm -i让系统询问确认。2.3 文件查看与编辑cat file.txt # 显示完整文件内容 less file.log # 分页查看大文件支持搜索/翻页 head -n 10 access.log # 显示文件前10行 tail -f error.log # 实时追踪日志更新 vim config.conf # 使用vim编辑器修改文件日志分析实战快速定位最近错误grep -i error /var/log/syslog | tail -n 203. 系统管理与监控命令3.1 进程管理命令ps aux # 查看所有运行中的进程 top # 动态监控系统资源按q退出 htop # 增强版top需额外安装 kill -9 PID # 强制终止指定PID进程内存泄漏排查示例# 按内存占用排序进程 ps aux --sort-%mem | head -n 53.2 磁盘与资源监控df -h # 查看磁盘空间使用情况 du -sh * # 统计当前目录各文件/目录大小 free -m # 显示内存使用MB单位 iostat 2 # 每2秒刷新磁盘IO统计清理旧日志脚本# 删除/var/log下超过30天的日志 find /var/log -name *.log -mtime 30 -exec rm {} \;3.3 用户与权限管理sudo command # 以root权限执行命令 useradd newuser # 创建新用户 passwd username # 修改用户密码 chmod 755 script.sh # 修改文件权限 chown user:group file # 修改文件属主权限设置经验脚本文件通常设为755rwxr-xr-x配置文件通常设为644rw-r--r--敏感文件设为600rw-------4. 网络相关实用命令4.1 网络配置与诊断ifconfig # 查看网络接口信息新版用ip addr ping baidu.com # 测试网络连通性 traceroute google.com # 追踪网络路径 netstat -tulnp # 查看监听端口与对应进程 ss -plnt # 更现代的socket统计工具端口占用排查案例# 查找谁在占用80端口 sudo netstat -tulnp | grep :804.2 文件传输命令scp file.txt userremote:/path # 安全复制到远程 rsync -avz src/ userremote:dest/ # 增量同步 wget https://example.com/file.iso # 下载文件 curl -O https://example.com/file.txt # 另一种下载方式备份网站目录到远程rsync -avz --delete /var/www/ backup192.168.1.100:/backups/www/5. 软件包管理命令对比5.1 Debian/Ubuntu系APTsudo apt update # 更新软件源列表 sudo apt install nginx # 安装软件包 sudo apt remove --purge nginx # 彻底卸载 sudo apt upgrade # 升级所有已安装包5.2 RHEL/CentOS系YUM/DNFsudo yum check-update # 检查更新 sudo yum install httpd # 安装软件 sudo yum remove httpd # 移除软件 sudo dnf upgrade # 新版系统升级命令5.3 通用编译安装步骤tar -zxvf package.tar.gz cd package ./configure make sudo make install避坑指南编译安装前务必安装gcc、make等开发工具包。Ubuntu下是build-essentialCentOS是development tools。6. 文本处理与Shell技巧6.1 文本处理三巨头grep pattern file.txt # 文本搜索 sed -i s/old/new/g file.txt # 流编辑器替换 awk {print $1} access.log # 按列处理文本统计Nginx日志IP访问量awk {print $1} /var/log/nginx/access.log | sort | uniq -c | sort -nr6.2 实用Shell特性command1 | command2 # 管道传递输出 command file.txt # 重定向输出到文件 command file.log # 追加输出 command # 后台运行 ctrlz / bg / fg # 作业控制高效使用历史命令!! # 重复上条命令 !$ # 上条命令的最后一个参数 !ssh # 执行最近以ssh开头的命令 ctrlr # 反向搜索历史命令7. 系统服务管理命令7.1 systemd服务管理sudo systemctl start nginx # 启动服务 sudo systemctl stop nginx # 停止服务 sudo systemctl restart nginx # 重启服务 sudo systemctl enable nginx # 设置开机启动 journalctl -u nginx -f # 查看服务日志7.2 定时任务管理crontab -e # 编辑当前用户定时任务 # 示例每天3点备份 0 3 * * * /home/user/backup.sh注意事项cron环境变量与交互式shell不同脚本中建议使用绝对路径。8. 安全相关命令8.1 基础安全审计last # 查看登录历史 who # 显示当前登录用户 sudo lsof -i :22 # 查看SSH端口连接情况 sudo fail2ban-client status # 检查暴力破解防护8.2 SSH安全配置ssh-keygen -t rsa # 生成密钥对 ssh-copy-id userhost # 上传公钥 vim /etc/ssh/sshd_config # 修改SSH配置安全加固建议禁用root直接登录修改默认22端口启用密钥认证限制IP访问范围9. 性能调优命令9.1 系统瓶颈诊断vmstat 1 # 监控系统整体状态 mpstat -P ALL 1 # CPU使用详情 iostat -xz 1 # 磁盘IO统计 dmesg | tail # 查看内核日志9.2 内存优化技巧free -h # 查看内存使用 cat /proc/meminfo # 详细内存信息 sudo sysctl vm.swappiness10 # 调整交换分区使用倾向10. 容器化相关命令10.1 Docker基础操作docker ps -a # 查看容器 docker images # 列出镜像 docker exec -it container_name bash # 进入容器 docker-compose up -d # 启动编排服务10.2 容器排错技巧docker logs container_id # 查看容器日志 docker stats # 实时监控容器资源 docker inspect container_id # 查看容器详情经过多年实践验证掌握这些核心命令后配合man手册man command查阅具体参数已经能应对绝大多数Linux系统管理场景。建议新手每天重点练习3-5个命令逐步建立自己的命令知识库。