WebShell SSH登陆OpenCloudOS 9会直接断开。仔细调查后明白了问题点,这里总结下。

WebShell SSH登陆流程

这里WebShell使用的nodejs-ssh2实现终端登录

  1. ssh connect开启登陆交互Shell
  2. 登陆成功后,SSH底层连接复用,开启exec命令执行Channel,这里并发执行了4个命令。

报错信息

阅读全文 »

在Mac下执行tar压缩文件后在Linux CentOS下执行发现异常输出tar: Ignoring unknown extended header keyword LIBARCHIVE.xattr.com.apple.metadata:kMDItemTextContentLanguage,查询后发现是Mac下的tar不一样导致,这里总结下问题。

问题

Mac下执行如下命令进行tar打包

1
tar -czvf  ../xxxx.tar.gz --exclude='.DS_Store' xxxx/*

目标机器CentOS下执行tar解压缩

阅读全文 »

开发时遇到需求是Shell里需要执行下载安装CodeServer,因此就需要识别机器的CPU架构从而下载对应的程序包了。

CodeServer程序包

不同CPU架构需要安装不同程序

脚本

阅读全文 »

终端中输入命令时,光标后面会给出一个推荐命令,如果OK,按➡️就可以快速选择输入,这种功能业界叫autosuggestion.

autosuggestion!=autocompletion

首先搞清楚相关概念的不同。

  1. autosuggestion是基于历史或其它逻辑自动给出推荐的命令输入,这个命令是完整的,推荐位置在光标后面

  2. autocompletion是基于命令规范或其它逻辑给出当前输入命令的选项值,需要按键触发,一般是Tab键,补全的并不是完整的命令,而是当前命令的选项值,同时补全推荐会是多个,需要用户自行去选择。

由上可以知道两者不同,且并无冲突。

阅读全文 »

网页实现文件下载可以使用成熟的类库FileSaver.js,其压缩后的大小也就2KB,引入的话也并不会对站点有多大的体积负担。同时我们也需要了解下该pkg的实现,这里梳理下实现逻辑。

saveAs API

先看下API方法的参数情况,可以看到直接传入文件数据或者URL都可。

1
FileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })

处理流程

阅读全文 »
0%