编译安装Redis记录
下载解压 编译编译需要 gcc 安装 启动 通过 systemd 管理vim /usr/lib/systemd/system/redis.service
Linux平台文本编辑器vim
常用快捷键 快捷键 说明 i 在当前光标之前插入 a 在当前光标之后插入 I 在当前行 最前面插入 o 在下方新建一行, 然后插入 O 在上方新建一行, 然后插入 G 跳到最后面 gg 跳到最前面 $ 跳到行尾 ^ 跳到行首 v 多选 ctrl v 块选 V 行选 yy 复制一行 p 在光标后粘贴 P 在光标前粘贴 dd 截切一行 e 多选模式下 向后一个单词 b 多选模式下 向前一个单词 d^ 删除到行首 d$ 删除到行尾 D 删除到行尾 替换文本 匹配删除删除包含特定字符的行 删除以#开头的注释 删除空行 删除#后面的行 删除不匹配的行 patton 里面可以是正则表达式,比如说 ^10.104 每一行最后添加一个字符 用 sudo 打开 命令模式 配置文件 全局配置文件 /etc/vim/vimrc当前用户配置文件 ~/.vimrc 鼠标模式 Vim7.1 使用鼠标时会默认进入虚拟选中模式 (visual mode),就好像通过 v 选中...
vagrant常见报错解决方案
vagrant 是一款虚拟机管理工具,可以通过代码来控制虚拟机的状态,帮助提升开发效率 提示 umount: /mnt: not mounted 出现这种情况一般是由于安装了 vagrant-vbguest 插件, 但是这个插件并不能自动帮助我们安装 vbguest这种情况可能是由于内核版本比较低导致的 方案 1: 升级内核 vagrantfile 增加一行 方案 2: 降级 vagrant-vbguest 报错网段不在 nat 网段里面vagrantfile 添加 virtualbox__intnet 参数 常见报错 Stderr: VBoxManage: error: Could not find the VirtualBox Remote Desktop Extension library需要安装 LibVNCServer-devel
使用expect来解决命令交互问题
linux 里面很多命令都是需要人为交互的,对于做成脚本来说,有点不合适了,比如通过密码连接 SSH 必须要在控制台输入密码(安全起见还是用 rsa key),expect 是预期的意思,它可以实现我们预期的结果。 安装 解释器使用 expect 这种方式由于解释器使用了 expect,所以只能使用有限的命令,不是很推荐 执行结果赋予变量 解释器使用 bash 假设 certbot 不支持非交互使用 直接使用 expect 命令 这种和切换解释器类似, 类比于 ./test.sh 和 bash test.sh 的关系。 vim test.sh 一些例子🌰自动登录带两步验证码的跳板机手动登录的方式: 使用脚本自动登录,效果如下图: 脚本做了: 自动输入密码 自动输入两步验证码(谷歌验证器 6 位数字动态密码) totp.py 获取验证码的脚本 这个脚本需要接收一个参数,参数为 TOTP Seed,也就是二维码解析出来的内容。 登录脚本:
搭建NFS服务
k8s 集群需要存储,本地测试环境懒得搞些复杂的,开始回忆回忆入门时学的 nfs 的搭建,记录下吧,方便查看 搭建服务器Ubuntu和DebianCentOS和Fedora 重启服务 Ubuntu和DebianCentOS 7CentOS 9 或 RHEL 9 搭建客户端Ubuntu和DebianCentOS和Fedora
Docker不支持中文解决方案
ubuntu 官方镜像默认的字符集支持 C, C.UTF-8, and POSIX 查看容器使用的字符集 要使容器内进程可以打开中文文件,需要将 locale 设置成 C.UTF-8 即可 修改 Dockerfile,添加 ENV 重新构建,运行,再次查看 locale 如果想让容器内可以正常显示中文(应该没人想这么干吧),需要先安装 locale 然后将 locale 设置成 zh_CN.UTF-8 修改 Dockerfile,添加 然后就可以完美显示中文了
使用python控制windows鼠标和键盘
python 在 windows 下操作键盘鼠标(有点类似于按键精灵),可以使用 PyUserInput 模块,PyUserInput 依赖 pywin32 和 pyHook 模块。pyautogui 感觉很不错,可以实现 PyUserInput 的所有功能,并且可以根据提供的截图来进行图像识别。 PyUserInput安装 PyUserInputPyUserInput 模块安装前需要安装 pywin32 和 pyHook 模块pip install pywin32 pyHook 模块可从这里下载,需要下载对应版本的 whl 文件http://www.lfd.uci.edu/~gohlke/pythonlibs/安装: pip install xxx.whl PyUserInput 模块官网: https://github.com/PyUserInput/PyUserInput 这个模块官方已经不维护了,目前来看 python3.7+win11 还可以用,后续有需要的同学可以看看 Pynput 使用 PyUserInput pyautogui官网文档:https://p...
快速上手vagrant
vagrant 是一个虚拟机管理工具 (虚拟机编排工具),使用方式有点类似于 docker-compose,这个工具的优势就是可以把手动安装虚拟机这个操作转换成通过代码来控制虚拟机有点类似于使用 dockerfile 来构建 docker 镜像的感觉。 常用命令 命令 作用 vagrant init 生成 vagrantfile 文件 vagrant up 启动虚拟机 vagent halt 关闭虚拟机 vagrant box list 查看安装的 box(虚拟机镜像) vagrant box add centos/7 安装 box(虚拟机镜像) vagrant ssh (hostname) 通过 ssh 连接 常用 vagrantfile批量创建虚拟机 循环创建虚拟机 多次定义安装虚拟机 常用插件自动管理 hosts 插件官网:https://github.com/devopsgroup-io/vagrant-hostmanager 安装插件 启用 挂载本机目录到虚拟机 这里可能会提示:mount: unkno...
hexo butterfly 主题使用记录
开始使用nodejs 使用 v20.17.0 版本包管理使用 npm 然后将 source/_posts/测试文章.md 移动到对应的分类目录下。 由于 hexo-abbrlink 和 hexo-auto-category 的冲突,需要执行 2 次 npx hexo g 才能正确生成需要的 front matter这个问题已经解决了, 替换成了包 hexo-abbrlink-iuxt 解决了这个问题, 执行 npx hexo g 即可自动生成固定链接和分类 封面图1280 x 720 或者 3:2 的比例 常用 shortcode 记录标签外挂官方文档: https://butterfly.js.org/posts/2df239ce/https://butterfly.js.org/posts/ceeb73f/ tabs第一个标签页第二个标签页================这里是第一个标签页的内容=...
一个特殊的空格--硬空格
事情的起因我在测试一个 nginx 配置文件,配置文件来自于印象笔记网页版复制(本人用的 linux,没有印象笔记客户端可用),编辑的时候发现了蹊跷: 不过没有太在意,还有一点蹊跷的是 vim 编辑的时候该高亮的地方也不高亮了,接着改好了配置文件后,发现 nginx -t 怎么测试都不通过。 排查问题当然怀疑是 nginx 配置文件的问题,将配置文件复制到 windows 下,使用 notepad++ 编辑(显示所有符号)发现里面的空格并不是空格 真正的空格应该显示的是 .,tab 显示的应该是 ➡️。将这个 “ 空格 “ 复制出来,然后找个在线转换器http://www.hiencode.com/jinzhi.html转换成 16 进制数据,发现是 a0 然后到https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8搜了下 a0,发现是一个叫做不换行空格的东西,又叫硬空格(hard space、fixed space) 用途是禁止换行,常用于 html,比如地址 xx省xx市 xx...

