Tag: BASH

如何使用 NVM 清理除了保留版本以外的所有 Node.Js 版本

如何删除除一个版本外的所有 NVM Node.js 版本 NVM是Node Version Manager,是NodeJS版本管理器。用NVM可以很容易的在一个服务器上同时管理多个版本的Node/NPM。NVM可以在github上安装: 使用场景 你正在使用 nvm(Node 版本管理器)来管理多个 Node.js 版本 你想清理系统,只保留一个版本:v22.16.0 步骤 1:列出所有已安装的 Node 版本 nvm ls 步骤 2:使用 Bash 脚本卸载除指定版本以外的所有版本 以下BASH脚本将删掉除了KEEP_VERSION以外的所有Node/NPM版本,所以使用前请确认需要保持的版本。 KEEP_VERSION="v22.16.0" for version in …

废物利用: 树莓派4b藏在鞋柜里当个小型服务器

TLDR; 我现在有 27 台服务器,其中一些价格低廉甚至免费。例如,Oracle 会提供 2 台免费虚拟机,我家用的是一台 4b 的树莓派。我在小型虚拟机上运行微服务。我把树莓派放在鞋柜里,连接到路由器。我把 CPU 从 1.4 GHz 超频到 2.2 GHz,开了两个风扇,温度保持在 30 到 40 度之间。 树莓派4b:架设小型服务器用于跑微服务 我家里有三四台树莓派,大多都积灰吃灰了。其中有一台是那种键盘一体式的型号,类似小时候的小霸王学习机,几年前曾拿来给孩子做启蒙教育用。它的配置也是几台中最强的。其次是一台 Raspberry Pi 4B,配有四核 CPU 和 4GB 内存。 …

为什么 Linux Shell 命令前加空格会有影响?

理解 Linux Shell 中前导空格的行为 概述 在像 bash 这样的 Linux shell 环境中,命令前加一个空格可能会影响该命令是否被保存到命令历史中。 这个小技巧在处理敏感数据时非常有用,或者当你不希望某个命令被记录下来时也能派上用场。 关键变量:HISTCONTROL 这种行为是由一个叫做 HISTCONTROL 的 shell 环境变量控制的。 查看当前设置的方法如下: echo $HISTCONTROL 例如,你可能会看到: ignoredups:ignorespace 值的含义解释 选项 描述 ignoredups 防止连续重复的命令被保存到历史中。 ignorespace …

BASH: 如何使用 cURL 命令获取 HTTP 响应代码?

检查运行 curl命令 后的HTTP响应代码,您可以使用 curl 的 -w` 选项,这样可以指定自定义输出格式。以下是命令: curl -o /dev/null -s -w "%{http_code}\n" <URL> 您可以将HTTP响应代码保存到BASH变量中,如下所示: resp=$(curl -o /dev/null -s -w "%{http_code}\n" <URL>) 解释: -o /dev/null: 丢弃响应体的输出。 -s: 以静默模式运行curl(不显示进度或错误信息)。 -w …

MySQL参数一键配置脚本: 有效提升数据库性能

我一直是自己租用VPS服务器,然后搭建各种服务,比如博客就是Apache2+MySQL数据库。一般来说就是默认参数,没有去管,不过最近发现MySQL的性能参数都很保守,不能发挥整个服务器的性能。 然后我就网上搜索了一下,根据参数配置建议,用ChatGPT写了以下Python和BASH脚本。只需要在需要优化的服务器上,跑一下该脚本,然后就会显示参数配置,然后直接把参数添加到MySQL数据库配置参数文件上: /etc/mysql/mysql.conf.d/mysqld.cnf 然后运行: service mysql restart 重启MySQL服务器。 运行了几周,发现效果很好,博客反应速度也快了很多,这很大原因是根据了内存增加了MySQL缓存大小。 Python脚本优化MySQL数据库参数 把下面的Python脚本存成 mysql_config.py 然后运行 python3 mysql_config.py def get_total_ram(): with open('/proc/meminfo', 'r') as f: for line in f: if line.startswith("MemTotal:"): total_ram_kb …

BASH: 通过dd命令测试硬盘读写速度/性能

要使用 dd 命令测试磁盘速度,可以写入一个临时文件并测量写入和读取速度。以下是一些示例: 测试写入速度 此命令将 1GB 文件写入磁盘,并提供写入速度: dd if=/dev/zero of=testfile bs=1G count=1 oflag=dsync if=/dev/zero 使用空字节源。 of=testfile 指定输出文件。 bs=1G 设置块大小为 1 GB。 count=1 指定只写入一个块。 oflag=dsync 确保数据实际写入磁盘,从而提供更准确的速度测量。 示例输出: 1+0 records in …