简介这是一份面向Linux初学者与日常运维人员的常用命令速查手册以PDF形式系统梳理目录操作、文件管理、内容查看、软链接、压缩解压、权限管理、Docker容器、yum与内核优化等十余个模块帮助读者摆脱零散搜索快速建立命令体系并定位到具体用法。压缩包内仅有1个PDF文件约796KB篇幅紧凑围绕mkdir、cd、find、rm、cp、mv、tar、chmod、netstat、top、sysctl等高频命令给出语法说明与典型示例并补充系统日志位置、文件权限查看、内核参数调整等实际运维场景。资源已有6171人浏览学习在入门与查漏补缺人群中接受度较高。读者可将其作为桌面速查表或轻量系统读本按模块检索具体写法也可顺着目录通读把目录与文件操作、内容查看与编辑、压缩备份、用户与权限、容器及服务管理等环节串联起来减少试错成本与重复搜索时间。1. 知识地图五层分类命令按操作对象归类不少人收藏 Linux 常用命令清单的方式是存一张长图三天后只剩下ls和cd还记得。系统梳理下来会发现这些命令其实按「操作对象」分成五层目录与文件是骨架层解决东西放在哪、叫什么名字内容与状态是观测层解决文件里写了什么、服务现在跑得怎么样权限与账户是边界层解决谁能动、能动到什么程度打包与安装是搬运层解决东西怎么进来、怎么搬走进程与端口是排障层解决卡住了该从哪个数字查起。五层里最容易混的是文件操作和内容操作——前者动的是路径和 inode后者动的是字节流混着记就会在mv和cat之间反复翻车。这份笔记按这五层往下拆每层只留真正高频的那部分命令。2. 目录与文件路径、查找、命名与拆分的四个抓手这一层是所有操作的地基命令本身都很短真正的难点在路径语义相对路径、绝对路径、目标目录存在与否三件事排列组合出十几种结果。把路径想清楚了cp、mv、rm、find基本不会出错想不清楚就只能靠ls反复确认靠回收站后悔——而 Linux 偏偏没有回收站。2.1 目录操作的六个锚点pwd、cd、ls、mkdir -p、clear目录操作只需要记住六个锚点能覆盖九成场景。pwd告诉你现在在哪个绝对路径上做任何删除动作前先敲一次是最便宜的安全检查。cd的四个变体各有用途cd ~回家目录、cd /到根目录、cd ..回上一级而cd -是回到上一次待过的目录在两个深目录之间来回跳时比敲绝对路径省很多事。clear只是清屏历史输出还在缓冲区里用less读大文件时不需要它。pwd # 打印当前工作目录的绝对路径删除前先确认位置 clear # 清屏不改变任何文件状态 cd ~ # 切到当前用户的家目录等价于直接敲 cd cd / # 切到根目录 cd - # 回到上一次访问过的目录可反复横跳 cd .. # 回到上一级目录 ls -l # 列出目录内容的长格式权限、属主、大小一次看全cd后面不加参数等于cd ~很多人不知道这一点于是每次都老老实实敲家目录路径。ls -l和常见的ll是同一件事ll只是某些发行版预置的别名换一台机器可能没有脚本里一律写ls -l更稳。mkdir的关键参数是-p。不带-p时父目录不存在会直接报错带上之后会自上而下把缺的目录一起建出来mkdir -p temp/nginx就是一次建两层。三种写法的差别在路径本身mkdir aaa和mkdir ./bbb都是相对当前目录mkdir /ccc是绝对路径会往根目录写普通用户通常没有权限。梳理下来会发现报错信息里十有八九是 Permission denied 或 No such file or directory前者是权限问题后者是父目录问题-p解决的正是后者。2.2 文件的增删移动touch、cp、mv、rm 的四组语义对照touch testFile创建空文件如果文件已存在则只更新时间戳这个副作用在排查「为什么改了时间」时会被忽略。真正需要背熟的是cp和mv在「目标是否已存在」下的不同表现这是这一节的重点难点。cp -r /aaa /bbb在/bbb已存在时结果是在/bbb下生成一个/bbb/aaa写成cp -r /aaa /bbb/aaa才是复制过去并改名。mv同理mv /aaa /bbb把目录移进/bbb且保持原名mv bbbb usr/bbb移动到usr下并改名为bbbmv tomcat001 tomcat则是同目录内纯重命名。区别在于mv永远不会「复制一份」移动完成后源路径就空了。场景命令结果复制到已存在目录cp -r /aaa /bbb/bbb/aaa名字不变复制并改名cp -r /aaa /bbb/aaa内容进/bbb名字由命令决定移动并改名mv bbbb usr/bbb位置和名字同时改变同目录重命名mv tomcat001 tomcat仅改名路径不变强制递归删除rm -rf /bbb子目录一起删不询问交互式递归删除rm -r /bbb每个文件问一次适合手抖的人删除侧的分层是rm最容易被低估的地方。rm -r会逐个询问但要删几十个文件就变成体力活rm -rf是强制递归不问也不进回收站rm -rf ./*更狠当前目录下的所有东西一次清空。所以这套命令的正确用法不是记住更多变体而是养成一个习惯执行前用pwd和ls确认通配符先换成ls ./*跑一遍看列表确认无误再把ls换成rm -rf。这个「先打印再删除」的套路同样适用于find。2.3 find 精准定位与 split 拆分按名字、大小、类型三把筛子find的语法是「搜索起点 筛选条件 动作」三个部分都能省略省略后行为完全不同。find / -name b只在根目录树里找名字精确等于b的文件或目录find / -name b*加了通配符才是前缀匹配。全盘搜索慢是正常的因为它在遍历目录树任何「为什么 find 卡住了」的疑问答案基本都是搜索起点给得太宽。find / -name b* # 从根目录开始找名字以 b 开头的文件和目录 find . -name *.pyc -print # 先只打印确认影响范围不执行任何删除 find . -name *.pyc -exec rm -rf {} \; # 确认后再删{} 代表前面查到的每个结果 find . -type f -size 145800c -print # 只找普通文件大小正好 145800 字节-type f把范围限定为普通文件能排除掉同名目录-size 145800c里的c表示字节不带单位默认按块算这是最容易搞错的地方-print放在-exec前面作用是先打印再执行用于核对-exec ... {} \;里的{}是结果占位符末尾的\;是命令结束符少写一个反斜杠就会报语法错误。把-print和-exec串在一条命令里本质上就是「边打印边删除」比删完再后悔强得多。split解决的是另一个方向的问题把一个大文件切成多个小文件典型场景是日志太大不方便传输或阅读。默认按字节切-b 10k表示每个输出文件 10KB-l 10改成按行数切每 10 行一个文件-d让后缀从字母变成数字-a 3把后缀长度从默认 2 位改成 3 位最后一个位置参数是前缀不写就用默认的x。split -b 10k date.file # 每 10KB 一个后缀为 xaa、xab、xac split -b 10k date.file -d -a 3 # 数字后缀、3 位长度x000、x001 split -b 10k date.file -d -a 3 split_file # 指定前缀split_file000 split -l 10 date.file # 按行拆每 10 行一个文件这里有个容易忽略的取舍按字节切会在一行中间断开如果切的是日志或 CSV每个分片的头尾都是残缺记录后续grep会漏结果按行切虽然每个文件大小不齐但每一行都完整。所以处理结构化文本时用-l只有切二进制或纯传输场景才用-b。这一点在检索资料里没写但它在实际排障中比参数本身更重要。3. 内容与状态查看、过滤、日志与端口定位骨架层解决「东西在哪」这一层解决「里面是什么、现在什么样」。它由两块拼成一块是文件内容的读取与过滤另一块是系统运行状态的观测。两块用的命令完全不同但共同点是都只读不写——除非你用重定向把输出写回去那才是这一层最大的坑。3.1 查看器四件套cat、more、less、head 与 tailcat一次性把整个文件输出到终端适合短配置和小脚本遇到几百兆的日志就是刷屏灾难。more能一页页往下看回车翻一行、空格翻一页但它不能后退退出后终端还会残留刚显示的内容。less是加强版支持上下方向键、PageUp/PageDown 翻页不必读完整个文件所以加载更快退出后终端干净。这四个差异决定了默认选择——大文件一律less只有管道里做一次性处理才用cat。cat app.java # 一次输出全部内容适合几十行的小文件 less app.log # 大文件首选方向键上下翻PageUp/PageDown 翻页q 退出 head -n 7 app.log # 只看前 7 行确认文件头部的字段格式 tail -n 7 app.log # 只看后 7 行快速确认最后一条记录 tail -f app.log # 持续跟踪新写入的内容看实时日志的核心命令tail -f的-f是 follow文件被追加内容时终端会持续刷新是观察服务启动、复现故障的常用手段head和tail不加-n时默认都是 10 行。有一个细节值得记住tail -f跟踪的是文件句柄如果日志做了切割轮转它可能跟丢此时需要重新打开命令或者换支持重开的参数。vim是编辑侧的主力模式切换是唯一需要背的东西进入时是一般模式按i进入插入模式才能打字按Esc回到一般模式再按Shift :调起命令行执行:wq保存退出、:q!不保存强退、:q在没改动时退出。这三个退出命令的区别在于「有没有改」和「要不要留」改错了用:q!是唯一不给系统留垃圾的方式。3.2 grep、管道与重定向把输出串成流水线grep是内容层的筛子参数组合决定了输出的详略。grep under 123.txt只输出匹配行加-n带行号方便回到文件里定位加-v反向输出只看不匹配的行排查「为什么这条没进来」时特别有用加-i忽略大小写。把-n和-i合起来写成-ni是最常用的形态之一因为日志里的错误关键字大小写往往不统一。grep -n ERROR app.log # 显示匹配行并带行号 grep -v DEBUG app.log # 反向过滤只看非调试日志 grep -ni timeout app.log # 忽略大小写并显示行号 ps -ef | grep java # 管道把进程列表交给 grep 过滤 echo Hello World test.txt # 覆盖写入原内容直接没了 echo Hello World test.txt # 追加写入保留原内容管道|的作用是把前一个命令的标准输出接到后一个命令的标准输入像水管一样把命令串起来所以ps -ef | grep java才能从全量进程里捞出目标。重定向则是把输出改道到文件会清空原文件再写才追加。这两个符号写混是高频事故本来想追加一行配置结果把整个配置文件冲成一行。血泪经验是凡是对已有文件用先想三秒。3.3 日志位置地图/var/log 下每个文件该看什么排障时最耗时间的不是分析而是不知道去哪儿看。系统日志集中在/var/log每个文件职责清晰日志文件记录内容典型用途/var/log/messages系统启动后的通用信息与错误服务起不来时第一个看的地方/var/log/secure与安全相关的日志登录失败、提权、认证异常/var/log/maillog与邮件相关的日志邮件投递队列问题/var/log/cron定时任务执行记录判断计划任务到底跑没跑/var/log/boot.log守护进程启动与停止消息开机阶段的服务异常~/.bash_history当前用户执行过的命令回溯「谁在什么时候动了什么」其中最容易忽略的是~/.bash_history它不是系统日志而是用户自己的命令历史排查操作痕迹时比任何服务日志都直接。另外cat /etc/redhat-release可以确认系统版本很多命令参数在不同大版本之间行为不一致先确认版本再查参数能少走很多弯路。3.4 进程与端口ps、top、netstat、lsof 的四层定位定位一个服务的问题顺序通常是「先看整体负载再看具体进程再看它占了哪个端口最后看是谁占着」。top是整体视图输出分两大区统计信息区里load average后面三个数字是最近 1、5、15 分钟的平均负载要和核数对比才有意义单看绝对值没概念%CPU行里us是用户空间占用sy是内核空间占用wa是等待 IO 的时间占比wa长期偏高基本可以断定是磁盘瓶颈KiB Mem和KiB Swap两块要连起来看交换分区被大量使用说明内存已经吃紧。进程信息区里重点看四列PID、%CPU、%MEM、S进程状态。状态里的R是运行、S是睡眠、D是不可中断的睡眠通常卡在 IO、Z是僵尸进程。RES是实际占用的物理内存VIRT是虚拟内存总量后者远大于前者是正常的别被吓到。ps -ef # 查看所有进程含父进程 PID ps aux | grep java # 过滤出 java 相关进程 top # 实时刷新看负载与内存的第一现场 netstat -lt # 列出所有处于监听状态的 TCP 端口 netstat -tunlp | grep 8080 # 按端口反查 PID 和进程名 lsof -i:8080 # 直接看谁占用了 8080 kill -9 2630 # 按 PID 强杀进程不给收尾机会 df -h # 看磁盘整体使用率 du -sh /usr/local # 看指定目录占了多少空间 du --max-depth1 # 只看当前目录下第一层子目录的占用netstat -tunlp这一串参数各有分工t是 TCP、u是 UDP、n显示数字不解析域名、l只看监听、p显示进程。lsof -i:8080更直接缺点是部分精简系统没装。kill -9是强杀进程没有机会保存状态或释放资源能正常停就先正常停df -h看的是文件系统层面du -sh看的是目录累加两者对不上通常意味着有文件被删除但句柄还被占用。连接状态也能统计TIME_WAIT数量异常多通常说明短连接过于频繁# 统计各 TCP 状态的连接数量 netstat -n | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}awk这里按行读入$NF取每行最后一个字段也就是连接状态用数组累加计数最后统一打印。这段命令的价值不在于语法而在于它能一眼看出CLOSE_WAIT是否堆积——堆积通常意味着应用侧没有正确关闭连接属于代码问题而不是网络问题。4. 权限、账户与打包安装九位权限背后的边界前三层解决「能不能操作」这一层解决「该不该让你操作」。权限是 Linux 里最容易被敷衍过去的部分很多人的做法是遇到 Permission denied 就chmod 777短期通了长期把边界全拆了。真要把这一层弄明白只需要搞清楚三件事九位权限怎么读、数字怎么写、归属怎么改。4.1 九位权限与 chmodrwx 与数字的对应关系-rw-r--r-- 1 root root 34942 Jan 19 2018 bootstrap.jar这一行的开头十位信息量很大。第一位是文件类型-表示普通文件d表示目录l表示软链接。后面九位按三位一组切开前三位是属主权限中间三位是属组权限后三位是其他人权限。每组内部固定是读、写、执行三个位置有该权限就显示字母没有就显示-。权限字母数字对文件的意义对目录的意义读r4可以读取内容可以列出目录内文件写w2可以修改内容可以在目录内创建删除文件执行x1可以作为程序运行可以进入该目录数字写法就是把每组的三位相加rwx是 4217r-x是 415r--是 4。所以755是属主全权限、属组和其他人可读可执行644是属主可读写、其他人只读。这两种组合覆盖了绝大多数场景目录和可执行脚本用 755普通配置和数据文件用 644。chmod ux web.xml # 只给属主user加执行权限 chmod gx web.xml # 只给属组group加执行权限 chmod 111 web.xml # 三组都只加执行权限---x--x--x chmod 444 web.xml # 三组都只读属主自己也不能写了 chmod 755 start.sh # 属主 rwx属组和其他人 r-x脚本最常用 chmod 644 app.conf # 属主可读写其他人只读配置文件最常用这里最容易误解的是444和777。444不是「只读给自己」而是三组全只读连属主都失去了写权限改配置时会发现保存不了777是所有人可读可写可执行等于放弃边界。真正的做法是按最小够用原则给能跑就行用 755能被读就行用 644。还有一个细节常被忽略目录上的x权限和文件上的x权限含义不同。目录没有x即使有r也进不去只能看到名字列表目录没有w就删不掉里面的文件哪怕文件本身权限全开。判断「为什么删不掉」时要先看父目录的权限而不是盯着文件本身。4.2 用户、组与 sudouseradd、groupadd、visudo 的边界用户管理的命令不多但参数选错会导致家目录、归属、登录方式一连串问题。useradd -d /usr/sum -m sum里的-d指定家目录路径-m表示目录不存在就创建少了-m会得到一个没有家目录的用户登录后落在/上很多工具会因此报错。其他常用参数-u指定 UID-g指定主组-G指定附加组-c写注释信息。useradd -d /usr/sum -m sum # 建用户并创建家目录 passwd sum # 给新用户设置密码不设密码无法登录 groupadd devops # 新建用户组 cat /etc/passwd # 每行第三段是 UID0 代表 root usermod -aG devops sum # 追加到附加组-a 必须写 su sum # 切换用户exit 返回原用户/etc/passwd里那一行的结构值得记一遍sum:x:1000:1000::/usr/sum:/bin/bash依次是用户名、密码占位、UID、GID、注释、家目录、登录 shell。UID 为 0 就是 root所以「把某个用户的 UID 改成 0」等于给了它 root 权限这是最粗暴也最危险的做法。正规做法是visudo编辑 sudo 配置在文件里加一行eses ALL(ALL) ALL让指定用户通过sudo临时提权而不是把 UID 改成 0。visudo的好处是保存时会校验语法配置写错不会把系统锁死。另外usermod -aG里的-a千万别省省掉会直接覆盖用户原有的附加组等于把人从其他组里踢了出来这种问题在权限报错时很难第一时间想到。删除用户分两步userdel sum只删账户家目录和文件还在要连目录一起清掉得再执行rm -rf /usr/sum。这个「两段式」设计是有意的防止误删数据但也意味着只删账户会留下无主文件长期累积会占空间。4.3 软链接、打包压缩与安装ln -s、tar、zip、yum、lrzsz软链接相当于快捷方式源文件删了链接就失效。创建时源路径在前、链接名在后ln -s /usr/local/app /data会在根目录下建一个指向/usr/local/app的data链接。最容易踩的坑是源路径后面多写一个斜杠带斜杠时系统会理解为「链接到该目录下的内容」结果显示和行为都不对。ln -s /usr/local/app /data # 建软链接源路径末尾不要加斜杠 rm -rf /data # 删除链接本身不影响源目录 rm -rf /data/ # 带斜杠删的是链接目标里的内容危险删除软链接时带不带尾部斜杠结果完全不同这是本节的重点。带斜杠的rm -rf会顺着链接进去删真实目录里的文件而且没有提示。习惯做法是删链接前先ls -l看一眼确认那个箭头指向哪。打包压缩分两类.tar系列用tar.zip用zip/unzip。tar的参数可以拆成四组来记动作是-c打包、-x解包、-t只列内容压缩方式是-z走 gzip、-J走 xz、不加则不压缩-v显示过程-f指定文件名必须放在最后紧跟文件名。tar -cvf start.tar a.java b.java # 只打包不压缩 tar -zcvf start.tar.gz ./* # 打包并 gzip 压缩当前目录所有内容 tar -xvf start.tar # 解包到当前目录 tar -zxvf start.tar.gz -C /usr/local # 解压到指定目录-C 必须大写 tar xf node.tar.xz # 新版 tar 能自动识别压缩格式-C是大写字母且中间不能有空格写错就会解压到当前目录把工作目录弄乱。zip侧则用zip lib.zip tomcat.jar压单个文件zip -r lib.zip lib/压整个目录unzip -d /usr/app pack.zip解压到指定目录。系统级安装走yumyum install安装、yum list列出已装包、yum search在仓库里搜索、yum update更新、yum remove卸载、yum clean all清缓存。装完源里的包之后文件上传下载靠lrzsz先yum install -y lrzsz之后rz上传、sz下载在没有图形界面的服务器上比开额外通道省事得多。容器侧的常用命令只有七条记住生命周期顺序就不会乱docker images # 看本地已有镜像 docker run -di --namefirst -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql docker ps # 只看运行中的容器 docker ps -a # 连已停止的也一起看 docker stop first docker rm first # 先停再删运行中的删不掉-d是后台运行、-i保持标准输入、--name指定容器名、-p是宿主机端口对容器端口的映射、-e传环境变量。端口映射写反是最常见的错误3306:3306前者是宿主机、后者是容器两边不一致时外面的客户端就连不上。内核参数改动则走sysctl编辑/etc/sysctl.conf后执行sysctl -p重新加载-p是让改动立即生效的关键一步只改文件不执行等于没改。5. 易错点五个最容易翻车的地方前面四层的命令都摆出来了但真正让人栽跟头的往往不是不会用而是「以为会用」。下面五条是从实际操作里筛出来的高频错误每条都按「错在哪、为什么会漏、怎么补」说清楚。5.1 斜杠敏感三个和路径末尾有关的隐患易漏点一软链接的源路径带上尾斜杠。写ln -s /usr/local/app/ /data时多出的斜杠会让系统按「目录内容」而不是「目录本身」去解析链接指向偏移后续访问报找不到文件。为什么漏斜杠在别的地方几乎无影响cd /usr/local/app/和cd /usr/local/app完全等价于是形成惯性以为路径末尾加不加斜杠都一样。怎么补把「建链接时源路径不带尾斜杠」当成硬规则建完立刻ls -l看一眼箭头指向。易漏点二删除软链接时带上尾斜杠。rm -rf /data删的是链接rm -rf /data/删的是它指向的真实目录内部。为什么漏两条命令只差一个字符而删除动作没有二次确认出事后才发现。怎么补删任何链接前先ls -l确认箭头方向或者干脆用unlink /data这种只针对链接本身的命令。易漏点三rm -rf后多敲一个空格再接通配符。rm -rf ./*与rm -rf / *的差别不只是多一个空格前者删当前目录内容后者从根目录开始全盘清空。为什么漏手速快的时候空格和斜杠都是下意识的而且终端不提示。怎么补通配符命令先用ls跑一遍看列表确认后把ls换成rm -rf对重要目录删除前先cd进去并pwd确认位置。5.2 权限与运行数字误解和后台运行的两个错觉易漏点一把chmod 444当成「给自己读写」。444 是三组全只读属主同样失去写权限改配置时会卡在保存不了。同理遇到权限问题就chmod -R 777是最差解递归改权限会把整个目录树的边界一起拆掉。为什么漏数字权限是三位一组的累加但很多人只记了「4 是读」忘了三组是同时生效的。怎么补按对象选值脚本和目录用 755普通文件用 644改之前先ls -l看清楚当前九位到底是什么。易漏点二把Ctrl Z当成结束进程。Ctrl Z只是把任务挂起进程还在端口还占着Ctrl C才是强制中断。两者看起来都是「按完就回到提示符」实际上挂起的进程会一直躺在后台下次启动服务时就会撞上端口被占用。为什么漏两个快捷键的视觉反馈一样而jobs、fg、bg这一组命令平时用不到就没有机会建立正确认知。怎么补回到提示符后如果端口仍被占用先ps -ef | grep找 PID再决定是fg唤回还是kill掉。易漏点三nohup后面漏掉。nohup sh test.sh 才是后台运行并把日志写到nohup.out少了终端照样被占住关掉窗口任务就没了。要把输出重定向到自定义文件写nohup sh test.sh test.out 注意用而不是否则重启一次就把上次的日志覆盖。为什么漏nohup这个名字自带「后台」的暗示让人觉得写了就够了。怎么补把这条命令当成一个整体记nohup加命令加输出重定向加四个部分缺一不可。6. 复习清单一张自查表和三个补漏动作把这套内容复习一遍最有效的方式不是重读而是先做一遍自测把不会的挑出来单独补。下面这张表按五层组织左列是模块右列是「能不能不看笔记说清楚」的自测问题。哪一行的答案卡住了就回到对应章节重看那一段效率比重头翻高得多。模块自测问题对应章节目录与文件mv到已存在目录和带新名字结果差在哪2.2查找与拆分-size 145800c的c和-exec {} \;各是什么2.3内容查看more和less的四个差异能说出几个3.1过滤与重定向和用错会有什么后果3.2日志定位查登录异常和查定时任务分别看哪个文件3.3进程端口netstat里t、u、n、l、p各管什么3.4权限755和644分别适合什么对象4.1账户usermod -aG少了-a会怎样4.2打包安装tar的-C写错位置会解压到哪4.3易错点rm -rf /data与rm -rf /data/的差别5.1补漏动作有三个。第一个是把命令「从记忆里调出来」而不是「从笔记里读出来」拿一张白纸按五层各写五个命令写不出的就是没记住的重点看那一层。第二个是给每条危险命令配一个只读的预演删除前用ls或-print打印改权限前用ls -l看原值涉及通配符的一律先打印列表。第三个是建立自己的命令小抄只记「参数组合 一句话场景」比如「tail -f看实时日志」「netstat -tunlp | grep 端口反查 PID」因为参数脱离场景记不住场景脱离命令又用不上。我自己的习惯是每次要动rm -rf、chmod -R、ln -s这三类命令之前都强制先跑一遍pwd加ls -l把「我到底在哪个目录、要动的东西长什么样」确认一遍然后再执行。这个动作看起来多余但它替我挡掉过一次删错目录的事故——那次手滑把./打成了/是pwd的输出让我停了半秒。从那以后这套确认流程就没断过希望你也能养成这个习惯。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
Rollup打包TypeScript库:双格式输出与类型声明生成实战 1. 为什么一个TS库的打包值得单独拎出来说如果你写过几个工具函数,或者维护过一个内部组件库,大概率经历过这样的阶段:代码在项目里跑得好好的,一旦要发布成独立的包给别人用,问题就全冒出来了。要么是产出的js文件在别… · 2026/11/3 3:42:36
向量数据库在AI Agent架构中的核心应用与实践 1. 向量数据库如何重塑AI Agent工程架构在开发智能客服系统时,我们曾遇到一个典型场景:当用户询问"上周三与张经理的会议纪要"时,传统数据库只能返回关键词匹配的结果,而引入向量数据库后,系统可以自动关联&… · 2026/11/3 3:42:36
Rollup打包TypeScript库:输出JS与类型声明文件全攻略 1. 为什么一个TS库的打包值得单独拿出来说如果你写过一段时间TypeScript,大概率经历过这个阶段:本地开发爽得不行,类型提示、自动补全、重构跳转全都到位,结果一到“要给别人用”的时候就开始犯难。代码是TS写的,但用的… · 2026/11/3 3:42:36
代码注释规范:避免多语言陷阱的技术实践 1. 项目背景与核心问题那天下午的代码评审会,整个技术部门都记得清清楚楚。新来的技术总监王总正对着投影屏幕皱眉,突然整个人僵在了那里——他面前的IDE里,密密麻麻全是西夏文注释的Java代码。会议室里鸦雀无声,只听见空调出风口… · 2026/11/3 4:10:43
测试文档编写指南:从目标定义到最佳实践 1. 项目概述"测试文章标题01"这个看似简单的标题背后,其实蕴含着丰富的可能性。作为从业多年的技术博主,我深知每个项目标题都可能是一个技术宝藏的入口。今天我们就来深度挖掘这个标题背后的技术内涵和应用场景。在实际工作中,我们… · 2026/11/3 4:10:43
HarmonyOS音频焦点管理:音乐播放器开发实战 1. 项目概述作为一名在HarmonyOS音频开发领域深耕多年的开发者,今天我想和大家深入探讨一个在音乐播放器开发中至关重要却常被忽视的技术点——音频焦点管理。在HarmonyOS 6环境下,AudioSession机制作为音频焦点管理的核心实现,其设计理念和实… · 2026/11/3 4:10:43
Excel跨工作簿搬运工作表:移动复制、外部链接与批量处理 日常做报表的人几乎都碰过这个场景:手里有一个明细表,想让它在另一个工作簿里变成一张独立的 sheet,方便和总表的其他数据放一起看。听起来是三秒钟的事,实际操作起来,有人复制粘贴搞到格式全崩,有人搬完之… · 2026/11/3 4:10:43
高德地图API 2.0点聚合与点标记事件实战:参数调优与性能优化 做过地图类页面的朋友大概都有这个体会:一张地图上撒几十个点,随便怎么玩都没事;一旦点位数量上了千、上了万,问题就全冒出来了。浏览器开始掉帧,图标叠成一团糊,用户点半天点不到自己想要的那个位置。这时… · 2026/11/3 4:10:43
hindsight复盘法:把事后视角变成可执行的决策能力 1. hindsight到底在说什么:把“回看”变成一种可执行的能力先说结论:hindsight不是让你整天沉浸在“早知道当初就怎样”的懊悔里,而是一套把事后视角变成决策养料的完整方法体系。很多人一听到“后见之明”就把它当成马后炮,觉得复… · 2026/11/3 4:09:43
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18