1. 这份清单是怎么圈出来的不是背命令是搭工作流很多刚接触Linux开发的朋友第一次面对终端时的感受都是命令太多了根本记不住。网上随便一搜就是“Linux命令大全”“上千条命令整理”翻完反而更慌不知道哪些该优先掌握哪些其实可以以后再学。我自己带过不少新人也帮同事排查过不少环境问题这些年下来最大的体会是真正在开发中高频使用、离了它寸步难行的指令两只手数得过来。与其收藏一堆用不上的大全不如先把30个核心指令练成肌肉记忆。这篇速查不想做成字典我更愿意把它当成一条“工作流主线”来讲。从进入服务器/容器后的第一个动作到定位日志、查看进程、调试接口、传输文件每一步都对应几条指令。你不需要背参数只需要理解每个指令解决什么问题然后按需翻回来查。等这些指令都自然成为你下意识的选择你就已经跨过了Linux开发最陡的那道坎。我做了一个取舍凡是能用组合指令替代、但实际开发中不常用的冷门参数不会占用篇幅凡是初学者容易踩坑的细节我会单独标注。比如rm -rf为什么危险、ln -s的路径解析规则、grep -r和find的分工这些都属于“看起来会了、用起来总出错”的知识点。希望这篇内容能帮你省下一些不必要的踩坑时间。2. 文件与目录操作九个指令撑起一个项目2.1 先搞清楚自己在哪pwd、cd、lspwd、cd、ls是进入任何Linux环境后最先敲的三条命令。pwd打印当前工作目录的绝对路径别觉得它简单在容器环境、Jenkins构建脚本、或者一层层嵌套的目录里人很容易迷路。我见过不少线上事故的定位起点都是从一句pwd开始确认执行环境的。cd不需要多解释但有几个细节值得提cd -可以快速回到上一次所在目录这个在两条路径之间来回切换文件时非常实用cd ~回到当前用户家目录cd ..回到上级目录。如果你经常要跳转到固定项目路径建议把cd /home/user/work/project/src这类长命令写成alias后文我会统一讲。ls是查看目录内容的主力。日常我基本只用两个组合ls -l看权限、属主、大小和时间ls -a看隐藏文件。两者合并成ls -la是最高频的写法。另外ls -lh里的-h参数会把文件大小显示成人类可读的K、M、G排查日志增长时特别好用。如果你想按时间排序ls -lt会把最新修改的排前面调试时找刚变更的文件很方便。2.2 创建、复制与移动mkdir、touch、cp、mvmkdir用来创建目录注意mkdir -p可以一次性创建多级目录比如mkdir -p a/b/c如果中间某一级已经存在也不会报错。这个参数在写部署脚本时需要频繁使用。不过要记住别养成到处mkdir的习惯能用版本管理工具管理项目结构就尽量保持目录整洁。touch有两个作用创建空文件、更新时间戳。开发中常用它快速生成临时文件比如touch /tmp/test.txt。但更实际的应用场景是配合make这类构建工具当你想强制执行某次编译时先touch修改源文件时间再触发构建。cp和mv是开发中绕不开的指令。cp -r递归复制目录几乎每次拷贝项目都要用cp -i会在覆盖前询问防止误操作。mv不仅仅是移动也常用作重命名移动文件时不需要加参数跨文件系统时会自动完成复制和删除。这里最想强调的还是rm -rf。rm -rf .、rm -rf /*这种命令一旦执行轻则删掉配置重则直接干废系统和项目文件。我见过新手在服务器上执行rm -rf ./ build因为多打了一个空格变成了先删当前目录再删build好在目录还不是根目录做完只能从备份恢复。我的建议是能用mv把文件挪到临时目录“软删除”就先用挪移代替直接删除真要执行删除先ls看清楚目标再敲命令并且尽量在路径中使用“相对路径明确文件名”而不是一堆通配符。2.3 链接的艺术lnln用于创建链接文件分为硬链接和符号链接软链接。开发中最常用的是符号链接ln -s /data/www /www这样可以把分散在磁盘各处的目录统一映射到固定路径下也能解决“新版本文件需要无缝切换”的问题。比如升级程序时通过切换软链接指向新版本目录再重启服务就能实现蓝绿发布的效果。符号链接的坑主要在路径解析上。给ln -s的第二个参数如果写相对路径那链接指向的就是相对于链接文件所在位置的路径而不是执行命令时所在的路径这一点特别容易让人迷惑。更安全的做法是源路径和目标路径都写绝对路径比如ln -s /data/app/current /opt/app。另外删除软链接要用rm /opt/app注意不要写成rm -rf /opt/app/后面多一个斜杠有时会让人误以为删的是链接指向的目标内容。3. 文本处理七个指令让你看日志不用愁3.1 按需读取别一次塞进终端cat、less、head、tailcat是查看小文件最直接的指令但我不建议在大文件上直接cat几百MB的日志会把终端直接刷爆甚至把你之前输出内容都冲掉。看较长文件时less才是正确姿势。less支持上下翻页、/关键字搜索、n跳转到下一个匹配退出时按q。它不会把整个文件一次性读进内存所以几十GB的大日志也能流畅打开这点比很多图形编辑器还好用。调试时我经常先less打开日志再按ShiftG跳到文件末尾看最新记录。head和tail分别读取文件开头和结尾。tail -f是开发排查问题时的神器它会持续跟随文件末尾输出每次有新的日志写入立即显示看服务启动日志、接口访问日志几乎是必备动作。如果想同时跟踪多个文件可以用tail -f file1 file2。tail -n 100和tail -100都表示显示最后100行我个人习惯写tail -100但脚本里建议用-n 100更清晰方便别人阅读。3.2 过滤信息的第一直觉grepgrep应该算得上Linux上使用频率最高的指令之一它的核心作用是在文件或标准输出中检索满足指定模式的行。最基础的用法是grep 关键字 file。开发中我常用的几个变体grep -i error file忽略大小写因为日志里可能是ERROR也可能是错误描述里的error。grep -n exception file显示匹配行所在的行号定位问题特别关键。grep -v ^#反向匹配过滤掉以#开头的注释行查看配置文件有效内容时非常好用。grep -r TODO src/递归搜索整个目录快速找到项目里遗留的待办事项。grep -E error|exception|failed file使用扩展正则同时匹配多个关键词比写多条grep再合并效率高得多。真正排查问题时很少单用grep而是把它和tail、awk、sort组合成管道。举个例子tail -n 5000 app.log | grep 订单接口 | grep 耗时可以先看最近5000行日志里订单接口相关的耗时记录再做进一步统计。这个思路比打开日志文件一遍遍翻要快很多。3.3 流式编辑与切列sed、awksed和awk是很多新手一听就头疼的命令因为语法灵活、参数抽象。但它们其实没那么可怕你只需要掌握几个常用场景。sed最基本的作用是文本替换sed -i s/old/new/g file。-i代表直接修改原文件s/old/new/g表示把每行所有old替换成new。写脚本批量修改配置时这一条命令能省下大量手动编辑时间。注意生产环境慎用-i建议先去掉-i先执行一遍查看输出确认无误再实际操作。sed还可以按地址范围操作sed -n 20,30p file打印文件的20到30行。这在定位日志中间段内容时很好用比如你精确知道异常发生在某段时间先用grep找出开始行号再用sed截取范围。awk的强项是按列解析。默认以空白字符作为分隔符$1、$2分别表示第一列、第二列$0表示整行。我用得最多的三个场景查看文件各列信息、统计总和、结合条件过滤。举一个实际例子日志格式类似“2025-01-01 10:00:00 ERROR 500 耗时120ms”想统计今天有多少个500错误grep 2025-01-01 app.log | awk $3ERROR $4500 {count} END{print count}这里的$3是ERROR列$4是500列。只要掌握了字段位置awk就是个很灵活的统计工具。另一个高频命令是awk -F: {print $1} /etc/passwd-F可以指定分隔符为冒号得到所有用户名。理解了这个原理很多配置文件的分析都能顺手完成。4. 系统与进程七个指令保住一天的开发状态4.1 摸清进程状态ps、top、kill开发过程中经常要确认某个服务有没有起来、端口有没有监听、进程占了多资源这时ps和top就派上用场。ps -ef是查看进程列表的经典组合-e显示所有进程-f显示完整格式包含PID、父进程PID、CPU、内存、执行命令等信息。如果要查特定程序配合grep使用ps -ef | grep java能快速定位Java服务是否在运行。不过ps -ef | grep经常会把grep命令本身也带出来你会看到一条“grep java”的进程这是正常现象不需要担心。top是一个实时刷新的进程监控工具进入后按ShiftP按CPU排序按ShiftM按内存排序按q退出。排查CPU持续飙高、内存泄漏等问题时top是第一站。如果服务器上安装了htop交互体验更好但基础top已经覆盖90%场景。还有一个偏门小技巧top -p PID可以单独监控某个进程。kill用于给进程发送信号最常用的是kill PID和kill -9 PID。普通kill默认发送TERM信号让进程有机会做清理工作后退出。但很多异常进程不会响应TERM只能kill -9强制结束。区别在于-9是直接从内核层面杀掉进程不给任何善后机会副作用是可能残留临时文件、破坏数据完整性。所以能用kill PID就不会优先用kill -9。还有pkill -f 关键字可以按命令行关键字批量结束进程调试时很好用但也要小心匹配过宽误杀。稳妥做法是先用pgrep -f查询匹配的PID列表确认后再加上pkill执行。4.2 服务、内核与磁盘systemctl、uname、df、du现代Linux发行版基本都使用systemd管理服务systemctl就是日常控制服务的入口。常用命令包括systemctl start/stop/restart 服务名启动、停止、重启服务systemctl status 服务名查看服务运行状态和最近日志systemctl enable 服务名设置开机自启systemctl disable 服务名取消开机自启排查服务故障时先systemctl status看基本状态如果显示failed再用journalctl -u 服务名查看完整日志。这条日志链路比很多图形化面板更直观也更快。uname用于查看内核信息最常用的是uname -a可以一次性看到内核版本、主机名、架构等信息。在交叉编译、安装内核模块、确认操作系统是32位还是64位时经常用。有时候进了一个别人打包的容器环境第一件事就是uname -m确认架构是x86_64还是aarch64否则后面的软件包可能装错版本。df和du是磁盘排查的黄金搭档。df -h以人类可读格式显示文件系统的总容量、已用、可用和挂载点。磁盘告警时先df -h看哪个分区满了再du -sh /path/*一级一级定位哪个目录占空间。du -sh *可以列出当前目录下所有子目录和文件的大小总和du -h --max-depth1可以控制显示层级。曾经遇到某服务日志把磁盘写满最终靠du -sh /var/log/*定位到具体日志文件再结合后续的日志轮转配置才解决。5. 网络与远程四个指令覆盖日常联调5.1 ssh、scp远程登录与文件搬运开发环境越来越复杂本地开发远程运行、多台服务器协作是常态。ssh是远程登录的核心工具基本用法就是ssh userhost。很多人只把它当登录工具但我建议至少掌握三个进阶场景第一是配置免密登录。在本地执行ssh-keygen -t rsa -b 4096生成密钥对然后把~/.ssh/id_rsa.pub内容追加到远程服务器的~/.ssh/authorized_keys里。之后登录就不用输密码了自动化脚本也方便。第二是跳板机场景本地无法直接访问目标服务器只能通过跳板机中转时可以在~/.ssh/config里配置ProxyJump让ssh自动完成跳转。第三是端口转发比如ssh -L 8080:localhost:80 userhost可以把远程机器的80端口映射到本地8080调试后台服务特别有用。scp基于ssh协议传输文件最常用的是scp -r local_dir userhost:/remote/path。如果文件很大也可以考虑用rsync它支持断点续传和增量同步但不在30个核心指令名单里属于进阶扩展。5.2 接口自测与端口定位curl、sscurl是命令行下的HTTP客户端也是接口调试的利器。最简单的用法是curl http://example.com/api但实际开发中我会频繁使用这几个参数curl -i显示响应头查看Content-Type、Cache-Control等信息curl -I只显示响应头不下载正文检查接口是否存在、是否重定向curl -X POST -H Content-Type: application/json -d {key:value} http://host/api发送POST请求curl -v显示完整的HTTP交互过程包括TLS握手、请求头、响应头排查连不上时非常有效curl -o /dev/null -w %{http_code}只输出HTTP状态码脚本探活常用我用curl查过很多“明明本地没问题线上连不上”的情况。执行curl -v后经常能看到TLS证书错误、连接超时、被防火墙拦截等线索。对于排查REST接口、健康检查这是最快的方法。ss是查看网络连接和套接字状态的命令现在几乎取代了老的netstat。最常用的是ss -tlnp-t显示TCP连接-l只看监听端口-n用数字端口替代服务名-p显示对应进程。这条命令能快速回答“端口是否被占用”“哪个进程在监听这个端口”。有时候服务启动失败系统提示端口被占用执行ss -tlnp | grep 8080就能看到占用进程再决定是否结束它或换端口。6. 查找与辅助三个指令帮你养成自学习习惯6.1 find精准定位文件项目代码规模一大靠记忆找文件完全不可靠。find就是Linux上的文件查找工具。最常用的写法是find 路径 -name 文件名find /code -name *.conf可以找出这个目录下所有.conf文件。如果只记得某个文件里包含特定内容用grep -rl 关键字 /code其中-r递归目录-l只列出文件名效率高于先find再grep。这里我想强调一个分工find负责按文件名、时间、类型等元数据找文件grep负责在文件内容里找文字。两者经常组合find /code -name *.py | xargs grep -l TODO先筛出Python文件再找其中包含TODO的文件。不过xargs不在核心清单里实际用的时候记住这个组合思路就好。6.2 which与man别靠猜让系统告诉你答案which用来查看某个命令的可执行文件路径比如which python3会输出/usr/bin/python3或/usr/local/bin/python3。在排查“明明装了软件却提示找不到命令”时which是第一步。它会告诉你当前PATH中搜索到的那个程序到底在哪进而判断是没安装、还是PATH配置有误、还是和其他版本冲突。man是Linux自带的手册页也是我一直建议新人尽早熟悉的东西。man ls、man grep会显示完整的手册内容包含所有参数和示例。虽然英文阅读对一些人来说是门槛但连参数名都是英文查英文文档反而更准确。每次想不起某个参数的含义直接man或者命令 --help速查比打开搜索引擎快得多也更少被过时垃圾信息干扰。7. 写在最后关于30个指令的进阶路线细心的读者可能注意到这份清单里没有chmod、chown、tar、rsync、vim这些同样高频的指令。不是它们不重要而是我在圈定30个指令时刻意以“开发工作流主链”为准定位环境、操作文件、处理文本、排查进程、调试接口、远程协作。权限管理、打包解压、文件编辑属于每个方向上的衍生技能等主链路顺手了再逐个补全更适合。我自己的学习路径是先死磕cd、ls、grep、ps、tail这套“生存指令”保证在容器、虚拟机、服务器里不迷路然后用sed、awk、curl解决数据加工和接口调试最后再逐步接触systemctl、uname这些偏运维向的指令。每当遇到一个新指令我不会立刻记参数而是先想清楚“这个指令解决什么问题”等真正遇到那个场景再打开man手册查阅细节。经过几轮反复用它就变成肌肉记忆了。还有个小经验不要害怕命令行命令行最反直觉的地方在于没有撤销键。所以我的建议是尽量在虚拟机、容器或者临时目录里练习把破坏性操作留在安全环境里体验一遍比如故意用rm删一个没用文件然后寻找恢复方法。踩过一次坑比看十遍警告都管用。希望这份速查能成为你进入Linux世界的第一张实用地图后面再慢慢把地图的边界扩大。
企业数字化 ERP 产品动态
相关推荐
百兆宽带够用吗?从单位换算到路由器排查的完整指南 上周有个朋友发消息问我:“家里刚升了千兆宽带,Steam下载怎么才11MB/s,是不是运营商骗我?”我一看这个数字,第一反应不是替他骂运营商,而是恭喜他:11MB/s,恰好就是百兆宽带跑满的理论… · 2026/9/24 19:00:15
华为云存储实战:EVS/OBS/SFS/CBR挂载、快照与备份恢复全攻略 买了一台华为云服务器,结果数据盘没挂载,白花花的存储空间看不到摸不着;手一抖把数据库表删了,差点当场把工位掀了;备份倒是做了,可恢复的时候傻了眼,备份里啥也没有。这几个场景,我… · 2026/9/24 19:00:15
BGP联邦原理与配置实战:从Next-Hop修正到AS_PATH折叠 HCIP数通方向里最绕的,一个是OSPF特殊区域,另一个就是BGP联邦。这个综合实验我前前后后重做过三遍:第一遍照着题库敲,邻居全established了,结果路由黑洞;第二遍搞明白了Next-Hop才是联邦的命门;… · 2026/9/24 19:00:09
终端Agent实战地图:Skills与MCP的深度集成指南 1. 这不是又一个“AI编程工具测评”,而是一张能让你少踩三年坑的终端Agent作战地图你有没有过这种体验:花一整天配置好某个号称“开箱即用”的AI编程Agent,结果发现它连本地VS Code里正在编辑的文件路径都读不到;或者兴冲冲装上最… · 2026/9/24 20:12:16
CC Switch实战:本地代理统一管理AI编程工具与模型切换 上个月我同时维护着四个 AI 编程入口:Codex CLI、OpenCode、Claude Desktop 里挂的 Codex 插件,还有一个临时试水的开源终端工具。每个工具都要单独填 API Key,每个厂商的 Base URL 长得还不一样,DeepSeek 的、智谱的、百炼的&… · 2026/9/24 20:12:16
从无类型到全栈类型安全:TypeScript + Zod + tRPC 实践指南 1. 先说结论:无类型开发为什么让我踩坑踩到怀疑人生1.1 所谓 Typeless,其实是在赌“运行时不报错就是没毛病”先交代一下背景。我接手的是一个跑了两年多的 Web 项目,技术栈很“主流”:Express React JavaScript,没有… · 2026/9/24 20:12:16
面向生产级 AI Agent 开发:必备技术栈与核心能力模型 90% 的 Agent 项目死在从 Demo 到生产的路上。不是模型不够聪明,而是工程没跟上。这篇文章拆解生产级 Agent 开发真正需要的能力和工具链。
一、先认清一个现实:为什么 80% 的 Agent 项目上不了生产
你大概见过这样的场景:用 LangChain 花了三… · 2026/9/24 20:12:16
矿区视频监控与调度5G专网 矿区作业场景面积广、地形复杂、设备移动性强,安全监管与生产调度对通信网络的依赖程度远高于一般行业。传统矿区网络普遍存在带宽不足、时延波动大、覆盖盲区多等问题,难以支撑高清视频监控、语音调度、车辆定位、远程控制等多业务并发需求。建设面向矿… · 2026/9/24 20:12:10
终端Agent:AI编程落地的物理接口与工程化分水岭 1. 为什么“终端 Agent”正在成为 AI 编程落地的真正分水岭你有没有过这种体验:在 VS Code 里敲下CtrlShiftP,输入“生成测试用例”,AI 确实返回了一段代码——但紧接着你要手动复制、粘贴、改路径、补 import、删掉它多生成的注释、再跑一遍… · 2026/9/24 20:12:10
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44