0%

环境note

环境note

About OS

macOS

homebrew

默认源太卡,容易install失败。换tuna的源,设置方法见

homebrewhomebrew-bottles。(注意,这两个都要配置)

gdb/lldb

mac中使用lldb,不需要指定bin。lldb -c /cores/xxx即可。

linux

debian源

debian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

apt update

apt install maven

Windows

Windows下的终端Terminal,如何加入snippet,参考https://github.com/microsoft/terminal/issues/6412#issuecomment-964343941。我个人常为OpenMLDB加的snippet:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"command": {
"action": "sendInput",
"input": "set @@execute_mode='online';\r"
},
"name": "on"
},
{
"command": {
"action": "sendInput",
"input": "set @@execute_mode='offline';\r"
},
"name": "off"
},
{
"command": {
"action": "sendInput",
"input": "set @@sync_job=true;\r"
},
"name": "sync"
},
{
"command": {
"action": "sendInput",
"input": ":set mouse-=a\r"
},
"name": "mouse"
}

不需要快捷键,Ctrl+Shift+P可以根据name快速选择,快捷键还懒得记。

vim

vim时用鼠标选择一段文本,可能进入VISUAL模式。VISUAL模式下的复制/粘贴/剪切得用y,p,d。注意,VISUAL模式下复制的文本,不会记录在剪贴板,只能在vim中使用,拷贝不出去。

更习惯不进入VISUAL模式的话,set mouse-=a。更改默认配置,把这个设置放在~/.vimrc里。

python

python源也可以用tuna的,可以直接

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <pkg>

全局配置方法

1
2
python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

详情见pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

sh

git

move or remove them before you merge, use this to get related files

1
git xxx 2>&1|grep -E '^\s'|cut -f2-|xargs -I {} echo "{}"

ps and network

no ps需要apt install procps

1
2
ps axu | grep xx | awk '{print $2}' | xargs kill -9
netstat -ltnup

run bins

运行当前目录下所有文件,测试时常用。

1
for f in *; do ./$f; done

top record

记录一段时间进程cpu mem等资源的变化,适合抓出程序最大占用内存的时间点。

1
2
3
while true; do sleep 10 && top -b -p 25440 -n1 | tail -1 ; done >> process.top
# add time
while true; do sleep 10 && date && top -b -p 25440 -n1 | tail -1 ; done >> process.top

npm

如果目的是pnpm,不用单独下载npm,直接下载pnpm就行。 https://pnpm.io/zh/installation

如果是npm,下载nvm更合适管理node版本。

keyboard

rk61键盘配合mac使用,支持很差,还是需要改键。使用karabiner-element做改键。

可以直接修改~/.config/karabiner/karabiner.json,注意里面的device是有vendor id和product id的,得填对,可以用karabiner直接查到。

windows下改键,使用PowerToys的键盘管理器。

docker源

就是registry-mirrors这个配置项。linux直接在 /etc/docker/daemon.json里改,mac可以在docker desktop设置里找到配置文件,也是一样的修改。

1
2
3
4
5
6
7
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}

重启后docker info可以查看。

tmux

tmux如果另一个没退,就又attach,可能分辨率会用另一个的,就会右边下边出现很多点点。tmux命令choose-client,选择分辨率,选小的就能撑满屏幕。

默认choose-client是shift-b,但我改了tmux的prefix,所以是ctrl-a,再shift-d。自己查自己tmux的keys,用choose-client bind的key。

debug

oom

怀疑进程被oom kill了,需要查日志,dmesg -T没有权限要求,但它的时间不准确,甚至可能是未来时间。最好查/var/log/messages,但它可能需要root权限。
Docker内的进程也是被物理机管理的,如果占满内存,也是会被kill,而且在物理机上会有日志。