收集一些容易忘记的知识,以小抄(cheatsheet)的形式保存在一个地方便于速查哈哈。

本页面shortcut:https://winterg.site/0

持续更新中… …


Tmux

下文中的 < 代表 ctrl + b

启动session

  1. 匿名新建:tmux
  2. 新建命名为 xxx:tmux new -s xxx
  3. 查看已有的 session:tmux ls
  4. 进入已有:tmux a -t xxx

启动后

  1. 预览已有+切换:< + s
  2. 重命名:< + $
  3. 划分左右两个窗格:< + %
  4. 划分上下两个窗格:< + "
  5. 窗格之间导航:< + 箭头
  6. 关闭窗格:< + x
  7. 全屏窗格(按两次还原):< + z
  8. 按箭头方向调整大小:< + ctrl + 箭头
  9. 当前窗格与上一个窗格交换位置:< + {
  10. 当前窗格与下一个窗格交换位置:> + }
  11. 独立为窗口< + !

窗口管理

  1. 创建窗口:< + c
  2. 切换前、后窗口:< + p\n
  3. 切换指定编号窗口:< + number
  4. 窗口切换(全局):< + w
  5. 重命名窗口:< + ,

结束

  1. 分离session(不销毁):< + d
  2. 完全退出:exit
  3. 完全退出:ctrl + d

实验室服务器配置

反向代理 SSH

  1. 使用 frp 实现反向代理,官网|代理

  2. 使用 443 端口,开启 tls 防止机房防火墙阻断:

    1. 配置保存为文件,然后 frp(c|s) -c xxx.ini 启动即可。

    2. 服务端配置

      [common]
      bind_port = 443
      authentication_method = token
      token = 改成你想要的token
      use_compression = true
      tls_enable = true
      
    3. 客户端配置

      [common]
      server_addr = 服务器ip
      server_port = 443
      authentication_method = token
      token = 改成喝客户端一样的token
      tls_enable = true
      
      [ssh2]
      type = tcp
      local_ip = 127.0.0.1
      local_port = 改成本地ssh的port
      remote_port = 6002
      
  3. 如果反代的跳板机是国外的,可以在 ssh 上加一层 proxy 确保稳定性

    1. windows 下载 nmap,包含了 netcat 工具

    2. 配置 ssh config C:\Users\xxx\.ssh\config

      Host s1
          HostName xxx
          Port xxx
          User xxx
          IdentityFile C:\Users\i\.ssh\id_rsa
          ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:7890 %h %p
      
  4. 然后就可以用 vscode 的 remotessh 模式愉快的炼丹啦~

Vim

Linux 常用命令

  1. 查看端口 netstat tunlp | grep 8080
  2. 查看公网ip curl ifconfig.me
  3. 批量操作占用GPU的Processes nvidia-smi pmon -c 1 | awk '{print $2}' | tail -n +3 | xargs xxx
  4. 列出所有占用GPU的Processes的cwd nvidia-smi pmon -c 1 | awk '{print $2}' | tail -n +3 | xargs -I{} sh -c 'readlink -e /proc/{}/cwd'
  5. 清除GPU内存泄露(占用内存却没有计算)慎用!! history -c && nvidia-smi pmon -c 1 | tail -n +3 | awk '{if ($4==0 && $5>10) print $2}' | xargs kill -9

Windows, Powershell & WSL

配置 SSH-Agent/ssh-add

  1. 检查 ssh-agent 状态

    Get-Service | ?{$_.Name -like '*ssh-agent*'} | select -Property Name, StartType, Status
    
  2. 如果不存在,启动:

    Set-Service -Name ssh-agent -StartupType Manual
    
  3. 启动服务

    Start-Service ssh-agent
    
  4. 愉快使用 ssh-add

    ssh-add
    

参考:

WSL 配置代理

在 WSL2 里优雅地配置 Proxy | winterg’s site

Docker for Windows 转移到非 C 盘

  1. 下载安装包,指定安装路径:

    start /w "" "Docker Desktop Installer.exe" install --installation-dir=E:\Docker\Softwares
    
  2. 通过windows系统的界面操作停止 Docker

  3. 查看停止情况:

    wsl --list -v
    
  4. 备份导出目前已有的数据

    wsl --export docker-desktop-data "E:\Docker\docker-desktop-data.tar"
    
  5. 删除原有数据

    wsl --unregister docker-desktop-data
    wsl --list -v
    
  6. 导入数据到新盘

    wsl --import docker-desktop-data "E:\Docker\backend" "E:\Docker\docker-desktop-data.tar" --version 2
    wsl --list -v
    
  7. 启动Docker。删除 docker-desktop-data.tar (可选)

参考:

WSL 安装到非C盘

  1. 应用商店安装 WSL(以Ubuntu为例)。

  2. 命令:

    wsl --list -v
    
    # 停止
    wsl -t Ubuntu
    
    # 导出
    wsl --export Ubuntu "D:\WSL\ubuntu-ex.tar"
    
    # 删除原来的 data
    wsl --unregister Ubuntu
    
    # 导入
    wsl --import Ubuntu "D:\WSL\ubuntu" "D:\WSL\ubuntu-ex.tar"
    
    # 修改 wsl.conf,指定默认用户名(不然默认是 root 启动)
    vim /etc/wsl.conf
    
    # 添加 default username(以 j 为例)
    [user]
    default=j
    

参考:

ChatGPT prompt

翻译

从现在开始,你将扮演我的翻译助手,我会给你一些中文或英文文字,你翻译成英文或中文

图名表名

从现在开始,你将扮演我的图名、表名翻译助手,我会给你一些中文的图名或者表名,你帮我翻译成英文版本。

科技论文润色

在今后的对话中,你将扮演我的中文科技论文润色助手,我会给你若干段文字,你帮我润色修改,使之符合以下规范:

1 基本要求
1.1 用词:严谨精确,没有歧义,不要夸大其词或堆砌词汇,使用规范术语,不要出现错字。
1.2 顺句:注意语法错误,不要有语病;注意修辞错误,不宜使用科技论文不宜使用的修辞,如比喻、夸张、歇后语;注意逻辑错误,逻辑应该清晰,文理清晰;
1.3 标点:注意中文标点规范,符合国标。
1.4 特点
1.4.1 准确,将严谨的科技实践和准确的科技论述融为一体,突出重点。
1.4.2 简明,不能写得像读书笔记或者实验记录,必须精炼简要地阐述命题的重点内容。
1.4.3 规范,符合中文科技论文的一般规范。

2 行文要求
2.1 长话短说
2.1.1 变单句为复句:例如,“单谱线接收机有速度跟踪环路闭合于视频的零中频模式、速度跟踪环路闭合于中频的准倒置模式和速度跟踪环路闭合于微波的倒置模式三种基本类型。”句子的主体是“单线接收机有三种基本类型”,中间插入三个并列短语,显得冗长。这是一个含义比较复杂的单句,必须改写成复句。原文改为“单谱线接收机有三种基本类型:速度跟踪环路闭合于视频的零中频模式,速度跟踪环路闭合于中频的准倒置模式和速度跟踪环路闭合于微波的倒置模式。”
2.1.2 变复句为单句:例如,“回波信号加到数字信息处理机,信息处理系统从回波信号中提取目标信息,给出目标位置和运动参数。”句子中的“信息处理机”和“信息处理系统”前后重复。“目标信息”即“目标位置和运动参数”,也不必重复。这是一个含义比较简单的复句,应该改写成单句:“数字信息处理系统从回波信号中提取目标的位置和运动信息。”
2.1.3 精简辅助用词:例如,“设计钢质压板的目的,是希望在不改变被测组件的结构形式的基础上进行振动试验。可以认为,由于组件的夹装方式不同于组件在整机上的实际安装状态,振动试验的结果基本上是不可信的。”句中的“设计的目的”“是希望”“可以认为”“基本上是”等都是无关紧要的辅助性用词。“基本上是不可信的”,不符合科技论文的准确性原则。原文可以改为“以钢质压板紧固被测组件进行振动试验时,被测组件的力学状态与实际情况不一致,试验结果不可靠。”
2.1.4 采用最简表达。不要添加无用词汇拉长句子,例如“笔者做了模拟试验,试验取得了良好的效果,试验的结果证明......。”句子错误采用唯我语态,结构松散,拖泥带水。对此,有两种可行的含义相同的简化形式:(1)模拟试验的结果证明......;(2)模拟试验证明......;
2.2 避免口语化表达
2.2.1 一般不用语气助词,例如:的、了、吧、吗、呢、啊等。不用叠词,如整整齐齐、研究研究、考虑考虑。
2.2.2 不要使用“我”,“我们”之类的第一人称词汇。此外,“笔者”、“作者”、“本课题组”等都属于第一人称,不宜采用。例如“我认为......“,”经过我们课题组努力......“,“笔者提出了......”都是以我为主体的叙述方式,不宜出现在科技论文中。
3. 多用排比
4. 少用关联
4.1 少用关联词,如“不但--而且--所以--而--于是”,多次转折。可以取消所有关联词,使得语言简练简明。
4.2 避免多重关联,例如“为了--不仅--而且--只有--才能”
4.3 避免远程关联,以免影响语句呼应性。