news 2026/9/20 16:56:20

Linux运维基础命令实战指南:从文件操作到故障排查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux运维基础命令实战指南:从文件操作到故障排查

简介:面向新手运维工程师的Linux基础命令完全速成指南,以PDF格式打包,共1个文件,大小821KB。内容紧扣日常运维核心场景,系统划分文件与目录操作、文本内容处理、系统监控与进程管理、权限与用户管理、网络与通信、压缩与打包六大模块,整理20余个高频命令的常见用法、关键参数和典型示例,覆盖pwd、ls、cd、cp、mv、rm、find、grep、awk、sed、top、ps、netstat、chmod、tar等具体工具的操作技巧,每个命令均配有功能说明、参数解读和操作示例,便于对照练习,既包含基础文件管理,也涵盖日志分析、服务管理、网络调试等实用场景。同时提供日志分析实战(如统计Nginx访问IP排名)、故障排查流程和权限数字含义等经验性技巧,并附有从基础操作到Shell脚本自动化的四阶段学习路线图,以及针对误删、权限滥用等常见风险的避坑提醒,便于新手在虚拟环境中边学边练,逐步建立运维思维。目前已有737人学习下载,适合具备一定计算机基础、志在运维岗位的技术人员作为入门速查手册。

1. 别急着背命令,先搞清楚运维到底在干什么

我带了几年运维新人,发现一个普遍问题:大家一上来就捧着命令大全猛背,结果进了生产环境还是不知道从哪下手。其实Linux命令本身不难,难的是搞清楚每条命令在真实运维场景里解决什么问题

先说结论:运维工程师的核心工作,可以浓缩成三件事——保证服务活着、出了问题能快速定位、系统性能扛得住。你学的每一条命令,最终都要落到这三个目标上。所以这篇指南不会像字典一样平铺直叙,而是按运维日常的真实操作路径来拆解,让新手知道"这个命令什么时候用、为什么用、用的时候要注意什么"。

为什么运维离不开Linux?道理很简单:互联网公司生产环境里,Linux系统占比超过九成。从云主机到容器镜像,从数据库服务器到负载均衡,底层全是Linux。哪怕你以后走云计算、容器化、AI运维方向,底层操作还是那几百条命令的变体。https://www.cnblogs.com/along21/p/7608131.html 这篇文章总结过Linux目录结构的精髓,新手值得细读——你知道了哪些目录是干嘛的,命令行为才有据可循,而不是死记硬背。

我自己带人的习惯是:第一周不让他们碰任何自动化工具,就用纯命令行处理日常巡检、日志查看、服务启停、用户管理这些基础任务。等命令手感出来了,再上脚本、上Ansible、上K8s。基础打不牢,后面全是空中楼阁。

下面我按运维真实工作流,把新手最该掌握的Linux基础命令分成五个模块,每个模块都配场景、配示例、配避坑提醒。建议你跟着操作一遍,光看的话效果至少打五折。

2. 文件与目录操作:你每天都在跟这些命令打交道

2.1 目录切换与查看:ls、cd、pwd

这三个命令可以说是Linux的"开门三件套"。新手最容易忽略的是ls的输出细节,但恰恰是这些细节在生产环境里能救命。

# 进入站点的日志目录 cd /var/log/nginx/ # 查看当前工作目录 pwd # 列出所有文件,包括隐藏文件,并带详细信息 ls -lah

关于ls的输出,我遇到过太多新人看不懂第一列的权限位就开始瞎操作了,这是个危险习惯。drwxr-xr-x这串字符从左到右分别是:文件类型(d是目录,-是普通文件)、所有者权限、所属组权限、其他人权限。r是读(4)、w是写(2)、x是执行(1),后面的数字就是权限的八进制表达。你以后用chmod改权限,理解不了这串字母会寸步难行。

pwd看着简单,但配合cd在多层目录里穿梭时,经常有人迷失方向。我自己的习惯是:每次切换到一个新目录,先跑一遍pwd确认位置再干活,尤其是操作rm、mv这类有破坏性的命令之前。

2.2 文件复制、移动与删除:cp、mv、rm

这三个命令是Linux运维里"手滑事故"的高发区。先说cp,最常用的是递归复制目录:

# 备份配置文件(强烈建议养成备份习惯) cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak_$(date +%F) # 递归复制整个目录 cp -r /data/app /data/app_backup

$(date +%F)拼出带日期的备份名,是我从老运维那里学来的习惯,现在也成了我要求新人必须养成的操作规范。没有日期标记的备份,三天之后就不知道哪份是新哪份是旧了。

mv的坑在于跨文件系统移动时,它实际上是"复制+删除",大文件会慢得让你怀疑机器卡死了。rm则是事故重灾区,rm -rf一执行,哭都来不及。所以我对新人的要求是:rm之前先ls确认路径,重要数据绝对不用rm,一律先mv到/tmp再定期清理。这就是运维圈常说的"先mv后rm"安全策略,多一道保险,少一次事故。

  • 多练几遍通配符用法,比如rm -rf /data/logs/*.log,但务必先ls /data/logs/*.log看清楚匹配到了什么,再动手删
  • 绝对不要在不确定路径时使用rm -rf / xxx这种写法,一个空格就能让你删库跑路

3. 查看与检索:排障时最锋利的武器

3.1 日志查看:tail、head、cat、less

生产环境出问题,第一件事永远是看日志。日志查看命令的熟练度,直接决定你排障的速度。tail是我个人使用频率最高的命令,没有之一。

# 实时跟踪最新的日志输出(-F能处理日志轮转,比-f更稳) tail -F /var/log/nginx/access.log # 查看最后200行日志 tail -n 200 /var/log/messages # 从头看日志,但配合grep用 cat /var/log/nginx/error.log | grep "500"

关于tail的-F参数,我特别强调下。很多日志系统会按天轮转,如果文件被重命名了,-f参数跟的还是旧文件inode,你就什么都看不到了。用-F,它会在文件被轮转后自动重新打开新文件,这是运维老兵都在用的参数,新手可能不知道这个小差异。

cat适合小文件,log文件动辄几百MB甚至几个GB,cat会直接把终端刷爆。这时候用less最舒服:

# 用less打开大日志,按G跳到最后,按/搜索关键词 less /var/log/nginx/error.log

less里按Shift+G到文件末尾,按/关键词搜索并高亮,按q退出。操作熟悉了你就会发现,查看大文件并定位关键报错,效率比cat高一个量级。

3.2 关键词检索:grep与管道

grep是运维排障的"探针"。单独用的场景很少,基本都是配合管道符号|,把前面命令的输出喂给grep去过滤。这个组合拳你天天都会用。

# 在Nginx错误日志里找出所有500报错的记录 grep " 500 " /var/log/nginx/access.log # 实时跟踪日志,并只过滤出包含关键字"error"的行 tail -F /var/log/app/application.log | grep "error" # 递归搜索某个目录下所有包含特定关键词的文件 grep -r "timeout" /etc/redis/

grep配合正则表达式是进阶玩法,比如grep -E "ERROR|FATAL" app.log匹配多种级别。新手先把-i(忽略大小写)、-r(递归)、-n(显示行号)这三个参数用熟,日常够了。

3.3 文件定位:find、which、whereis

当你忘了某个配置文件或脚本放在哪,find就是你的救星:

# 按名称查找文件 find /etc -name "nginx.conf" # 按名称模糊查找 find /data -name "*.log" # 按修改时间查找,mtime -1表示一天内修改过的(排障神器) find /tmp -mtime -1

find / -name "xxx"全盘搜索很慢,尽量缩小搜索范围到具体目录。which和whereis则用于定位可执行命令的路径,比如which nginxwhereis mysql,排查环境变量问题时它们特别好使。

4. 系统状态监控:服务器爽不爽,一看便知

4.1 实时监控三件套:top、free、df

运维巡检的核心就是这三条命令,我每天上班第一件事就是跑一遍:

# 查看CPU和内存占用TOP10的进程 top # 按大写P按CPU排序,按大写M按内存排序 # 查看内存总量与使用量 free -h # 查看磁盘分区占用情况 df -h

top这个工具值得新手多花时间研究,按P键按CPU使用率排序、按M键按内存使用率排序、按c显示完整命令行,这三招能帮你快速锁定"哪个进程在吃资源"。

free的-h参数把数字变成人类易读的G/M格式,避免你对着以KB为单位的数字发懵。看内存时不要只盯free那一列,要看available,它才是系统实际可用的内存。df -h同理,重点关注使用率,超过80%就该考虑清理或扩容了,我见过磁盘写满导致服务挂掉的严重事故,都是从小习惯上养成的警惕性救回来的。

4.2 磁盘占用排查:du与df的配合

df看的是磁盘整体,du看的是目录细节。出问题的时候,你需要用du去定位到底是哪个目录把磁盘塞满了:

# 查看当前目录下各个子目录的大小(-h人类可读,-s不要逐层展开) du -sh /var/*
# 找出 /data 下占用空间最大的前10个目录 du -h --max-depth=1 /data | sort -rh | head -10

这里我踩过一个典型的坑:df显示磁盘满了,但du统计各个目录加起来却对不上。后来才明白,是某个进程删了文件但没释放占用,文件还被进程的句柄握着。这种情况,光用du是找不出来的,得靠lsof:

# 找出已经被删除但仍被进程占用的文件 lsof | grep deleted

找到对应的进程后重启或重载,磁盘空间才真正释放。这种"眼睛看到的不一定是全部"的场景,Linux运维里太常见了,用这条命令能解决一大半磁盘诡异告警。

5. 用户与权限管理:多人共用的底线规矩

5.1 用户操作:useradd、userdel、passwd

生产环境的服务器不是一个人在用,数据库账号、应用账号、运维账号,各司其职。useradd是运维的高频操作,尤其是配合-m -s参数来创建带家目录和指定shell的用户:

# 创建新用户并指定家目录和登录shell useradd -m -s /bin/bash zhangsan # 设置/修改密码(交互式输入) passwd zhangsan # 删除用户,同时删除其家目录和邮件池 userdel -r zhangsan

userdel后面不加-r,用户家目录会残留在/home下面。等哪天磁盘满了你排查一圈,发现一堆已删除用户的垃圾文件,那滋味可不好受。另外,给用户设置密码时,一定要养成用强密码的习惯,生产服务器被爆破往往就是从弱口令开始的。

5.2 组与权限:groupadd、chmod、chown

权限管理是运维的重点和难点,特别是多人在一台机器上协作的时候。你创建了用户,接下来就要把用户放进对应的组,并设置文件和目录权限:

# 创建部署组,并将用户添加进去 groupadd deploy usermod -aG deploy zhangsan # 修改目录所有者与所属组 chown -R zhangsan:deploy /data/app # 设置权限:所有者rwx,组rx,其他人无权限 chmod 750 /data/app

-R参数是递归生效,操作目录时必须带上,否则只改了目录本身,里面文件还是老权限。chmod 750的数字是怎么来的?r=4、w=2、x=1,三者相加:7=4+2+1(rwx),5=4+1(r-x),0=---。这套换算新手必须背熟,后面写脚本、配服务全是这个逻辑。

关于权限设计的思路,我还想多说两句:一般来说,应用文件的所有者设为应用专用账号,组设为运维组,其他用户一律不给权限,这是最低限度的安全基线。有些公司图省事全用root跑应用,出事儿就是大事故,这个习惯一定要从一开始就改掉。

6. 网络排查命令:线上故障的破案工具

6.1 连通性检查:ping与ss

网络不通是运维最常见的工单,排查链路永远是从底往上走:先ping(通不通)、再查端口(服务有没有监听)、最后看抓包(数据有没有正确到达)。

# 测网络连通性 ping -c 4 baidu.com # 查看所有监听端口(-t TCP,-l listening,-n 数字端口显示) ss -tlnp

新版Linux系统里,netstat逐渐被ss取代了,因为ss更快,信息也更全。ss -tlnp能看到哪个进程在监听哪个端口,排障查端口占用就靠它了。新手如果机器上执行netstat提示没有这个命令,不要慌,用ss是现在的趋势。

6.2 接口请求测试:curl

curl是运维测试HTTP接口的神器,支持各种协议,调试接口参数的时候我基本离不开它:

# 查看HTTP响应头(排查nginx配置、重定向是否生效) curl -I http://localhost # 带请求体发起POST请求(Content-Type指定为JSON) curl -X POST -H "Content-Type: application/json" \ -d '{"name":"test","age":18}' \ http://localhost/api/user # 跟随重定向并输出详细过程(-v调试排障利器) curl -vL http://example.com

-v我强烈推荐新手多用,它会打出完整的请求和响应过程,包括DNS解析、TCP握手、TLS握手、HTTP状态码、响应头。接口不通的时候,curl -v能帮你一眼看出卡在哪一步,比如是DNS解析失败还是连接被拒还是TLS证书报错。

7. 运维面试官真正想让你掌握的命令与实操心法

这一节专门为准备运维面试的新手写。我参加过不少面试,也当过面试官,Linux命令是必考环节,但面试官基本不会出"xx命令的xx参数是什么"这种背诵题,而是会问你一个场景:"服务器负载过高你怎么排查?",考察的是命令的综合运用能力。

以这个经典问题是:"一台线上服务器CPU突然飙到100%,你怎么处理?"完整的命令链路是:

# 第一步:确认现状,找到吃CPU的进程 top # 第二步:定位到具体进程PID后,查看线程级别状态 top -H -p <PID> # 第三步:用strace跟踪系统调用,确认它在干什么 strace -p <PID> # 第四步:配合jstack/pstack等工具输出线程堆栈分析

这套链路体现的是"定位问题→缩小范围→找到根因"的排障思路。命令本身不难,难的是你有清晰的逻辑链。

另外几个面试高频点,新人备考时务必掌握:

  • 软链接与硬链接的区别:ln -s创建软链接相当于Windows的快捷方式,删掉原文件链接就失效;硬链接则共享同一个inode,删除原文件不影响其他硬链接访问。
  • Linux启动流程:BIOS→引导加载器→内核→init/systemd→启动服务,这条链路能讲清楚说明你有系统级认知。
  • systemctl常用操作systemctl start/stop/restart/reload/enable nginx,尤其是reload和restart的区别——reload只重载配置不中断服务,restart会重启进程,生产环境能用reload就别轻易restart。

对初学者我的建议是:不要试图一次背完"Linux常用100个命令",那样效率极低。先把这篇指南里二十来个核心命令练熟,然后每天在真实任务里自然扩展新命令,比如哪天要压缩日志就去学tar,要定时跑脚本就去学crontab。命令是工具,解决问题才是目的,用着用着自然就记住了。

我个人带新人的经验是:找一台不重要的虚拟机,把服务搞坏再修好,这套流程走几遍,比看十篇教程都管用。Linux命令的学习曲线没有捷径,但绝对有高效路径——以场景驱动学习,在解决问题中形成肌肉记忆,上手速度至少快一倍。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 16:53:01

DNV-CG-0036船用齿轮承载能力计算指南深度解析

简介&#xff1a;DNV-CG-0036是挪威船级社2021年8月发布的海洋传动齿轮评级计算指南&#xff0c;面向船舶设计、轮机工程与设备认证人员&#xff0c;用于规范齿轮材料选择、几何参数、载荷与热力学分析、寿命预测、噪声控制及验证测试等全流程评估。资源包仅1个PDF文件&#xf…

作者头像 李华
网站建设 2026/9/20 16:50:29

车联网轻量级认证:绕过PKI的哈希链+VRN激励方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 16:49:32

ESP32音频abort延迟问题深度解析与实战优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 16:46:52

微信Windows版历史版本归档:安全下载、便携化与多版本并存指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 16:46:36

轻量级WITSML客户端开发实战:协议机制、架构设计与踩坑指南

简介&#xff1a;这是一款基于C#开发的轻量级WITSML客户端工具&#xff0c;面向钻井数据服务商或需要对接WITSML接口的工程师。工具能够列出服务端所有可用的井、井眼及其关联的测井对象&#xff0c;便于验证客户端是否正确接收数据&#xff0c;同时可借助它快速定位连接度量标…

作者头像 李华