Shell、管道与重定向:为什么 Linux 命令行能把工具串成流水线
Linux 命令行强大的地方,不只是命令多,而是这些命令可以像积木一样被串起来。一个命令负责列数据,一个命令负责过滤,一个命令负责统计,再用重定向把结果落到文件里,这就是很多排障动作的基本套路。 Sh...
Linux 命令行强大的地方,不只是命令多,而是这些命令可以像积木一样被串起来。一个命令负责列数据,一个命令负责过滤,一个命令负责统计,再用重定向把结果落到文件里,这就是很多排障动作的基本套路。 Sh...
很多人刚接触 Linux 时,会把目录看成一堆约定俗成的路径:配置去 /etc,日志去 /var/log,临时文件去 /tmp。但如果不理解这些目录背后的职责边界,后面排障时就很容易找错地方。 尤其是...
日志、配置、命令输出,本质上大量都是文本。线上排障时,真正消耗时间的往往不是“没有信息”,而是“信息太多,看不出重点”。这时候,grep、awk、sed 这类文本工具就会变成极高频的基本功。 它们并不...
Linux 从来不是默认所有人都能做所有事。用户、用户组、权限和 sudo 这套机制,本质上是在回答一个问题:谁可以访问什么,谁可以修改什么,谁可以临时获得更高权限。 很多线上问题看起来像“文件没了”...
程序写在磁盘上时只是文件,运行起来之后才会变成进程。很多线上问题之所以麻烦,就是因为“代码文件”和“运行中的进程”是两回事:你改了代码,不代表老进程就消失了;你停了一个线程,也不代表整个进程就退出了。...
对后端工程师来说,Linux 不是一门可选课,而是一层迟早要回去补的底层能力。因为你的服务、数据库、中间件、容器、日志和监控,最后几乎都跑在 Linux 之上。 很多线上问题表面上像是 Go、Java...
当你说“机器现在很忙”时,真正需要回答的是:到底谁在忙,忙在哪,忙了多久,是一阵子的抖动还是持续性的占用。ps、top、htop 这些工具,做的就是把抽象的“忙”拆成可观察的进程和指标。 它们不是互相...
很多人会把 CPU 使用率高、load 高、上下文切换多混成一件事,但它们并不完全等价。CPU 使用率反映的是执行忙不忙,load 反映的是可运行和不可中断任务积压多不多,而上下文切换反映的是调度切换...
线上看到内存高,很多人第一反应就是“是不是程序泄漏了”。但 Linux 的内存远不只是进程堆内存这么简单:页缓存、匿名页、共享内存、文件映射、Swap 都会影响你对“内存使用情况”的判断。 Linux...
很多人第一次看到“Linux 一切皆文件”这句话时,会觉得有点抽象。但只要你开始看线上服务的日志文件、监听端口、网络连接和管道,就会发现这些对象最后真的都能通过文件描述符这条线索串起来。 文件描述符并...