分类: Linux

Linux下快速生成大量文件的若干小技巧

最近参与了一款类Haystack存储引擎的开发,在开发的后期需要进行性能测试,即需要大量小文件作为测试素材。考虑到文件数量以千万/亿记,因此如何快速生成这些文件十分重要。这篇文章为大家分享一下我的探索过程,以及多种生成大量文件的方案。

继续阅读 Linux下快速生成大量文件的若干小技巧

[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题

在维护实习单位服务器的过程中,偶然发现一个有350万文件的文件夹需要清理,于是我习惯性执行了rm -rf ./*,却在数秒后被告知“参数列表过长”。在一番折腾过后,我终于通过取巧的办法完成了这一任务,也随着相关内核源码的阅读,了解到了关于Linux Shell的一些有趣特性。

继续阅读 [源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题

Linux下使用Shell Script输出CPU、内存、磁盘占用百分比

监控在日常运维中非常重要,有助于提前发现问题,并及时进行系统优化。通常我们会使用第三方工具来对系统进行监控,但在个别场景下(例如Gravitational Teleport等工具所提供的动态label,可以自动执行Shell命令)使用Shell会更加灵活,只可惜相关资料太少,且大量谬误。本文将整理使用Shell Script输出CPU、内存、磁盘占用百分比的命令,方便读者查阅与使用。

继续阅读 Linux下使用Shell Script输出CPU、内存、磁盘占用百分比

使用yum安装旧版本软件的方法

由于最近要做关于Kubernetes的一系列漏洞分析,需要安装大量旧版本的Kubernetes,通常安装旧版本软件的方法是直接找到旧版本源码,然后从源码进行构建,但该方案过于复杂,恰好测试环境是CentOS操作系统,那么能不能直接通过CentOS的包管理器yum来安装旧版本软件呢?方法其实很简单。

继续阅读 使用yum安装旧版本软件的方法

在Linux中建立后台任务的若干种姿势

由于Linux中SIGHUP信号的存在,导致了当终端Detach(退出终端或网络断开)时,从属于终端的进程也被销毁,导致当前所执行任务停止的问题。而且在日常的使用中,也会遇到需要在一个任务执行的过程中,使用同一个Shell来执行其他任务的情况。这篇文章即来盘点在Linux中建立后台任务的若干种姿势。

继续阅读 在Linux中建立后台任务的若干种姿势