怎样用Node.js执行一个shell命令并获取命令结果

例子:

1
2
3
4
5
6
7
8
9
10
11
// 从 coscmd info <fileId> 命令的结果中抽取 Last-Modified 时间
const { spawn } = require('child_process');

const info = spawn('coscmd', ['info', cosId]);
info.stdout.on('data', (data) => {
data = data.toString();
let i = data.indexOf("Last")
let j = data.indexOf("GMT")
let s = data.substring(i + 22, j) + "GMT"
console.log(new Date(s))
})

阅读全文

怎样关闭Windows上Chrome下载文件病毒扫描

如果下载的文件比较大,Chrome下载完成后会经过很长时间等待Windows病毒扫描。可以通过添加例外目录,不让Windows安全中心对下载目录进行扫描。

设置地方:

Windows安全中心 - 病毒与威胁防护 - 病毒与威胁防护设置 - 管理设置 - 排除项 - 添加或删除排除项 - 添加排除项 - 选定Chrome使用的默认下载目录

阅读全文

nc

nc: NetCat

最基础C/S例子:

1
2
3
# server

nc -l 9999

阅读全文

TCP BBR

很早之前使用ss的时候就看到有提到bbr加速,之后也看过YouTube上bbr的作者们的演示视频,因为这几天在弄VPN,看到用speedtest网站测下来的结果表明,ss的带宽不但比wireguard高个1~2MBps,而且稳,全程都在20~21Mbps,相比之下WireGuard是缓慢上升到19Mbps的样子,同样上传带宽ss也要比wg高上2~3Mbps的样子。然后想到wg用udp没办法,是不是可以再对ss进行bbr优化,查了下bbr,现在18.04的ubuntu默认tcp拥塞控制算法还是cubic,据说19.04默认为bbr了,也就没折腾,又看了看Wikipedia上相关词条,英文的质量比中文的高太多,其中TCP congestion control里面介绍了很多种算法,还有2019年有人提出的Elastic-TCP,虽然没细看,但觉得以后可以花点时间了解一下各种拥塞控制算法

阅读全文

WireGuard使用时遇到的问题

问题似乎都在Windows上出现的。

Windows上无法连通

尝试关闭公共网络的防火墙就解决了

阅读全文

iptables

先解释WireGuard使用的iptables配置

1
2
3
iptables -A FORWARD -i %i -j ACCEPT
iptables -A FORWARD -o %i -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

阅读全文

systemctl VS sysctl VS service VS init.d

不了解这些东西,平时用到就瞎试。这次了解记录一下。

systemctl

说是systemd的管理工具,systemd复制管理系统和进程,systemd是pid=1的进程。

阅读全文

apt vs apt-get

看了下网上的介绍,apt是把apt-get、apt-cache、apt-config的一些常用命令集成在一起,原有这些apt-*命令太过分散。另外apt命令可以显示进度条。

附注:
不过很奇怪,刚才的gcp上安装mysql-server,使用apt install mysql-server,报了几行错,使用apt-get install mysql-server就没问题。

阅读全文

如何在Ubuntu上停止MySQL服务

sudo service mysql stop

阅读全文

docker-containerd-shim executable file not found in $PATH unknown

在NAS上启动一个新容器的时候出现了标题的错误,搜了一下,重启docker daemon解决,原因未知

1
systemctl restart docker

阅读全文