Fadegentle WebSiteRSS

小技巧

装机软件

推荐软件默认是 Windows,跨平台(电脑端)、全平台(包括移动端)或 MacOS 等支持会指出

  • Ventoy( 装机软件,可支持将一个 U盘 制成多个系统盘,操作方法,官网文档 )
  • 7zip( 解压缩软件 )
  • PowerToys( 微软小工具,极力推荐,快速迭代中,建议快捷键 Ctrl+Space )
  • utools( 键盘万能快速启动软件,跨平台,Windows 推荐,建议快捷键 Alt+Space )
  • rubick( 键盘万能快速启动软件,开源,跨平台,竞品 utools )
  • raycast( 键盘万能快速启动软件,MacOS 推荐 )
  • kugou( 听歌软件,酷狗,没有它活不了一点,半个跨平台,MacOS 上太拉了,竞品 QQ音乐、网易云 )
  • QQ( 社交软件,改版后的 QQNT 跨平台架构还不错 )
  • WeChat( 社交软件,功能不多,但当个传输软件还不错 )
  • SumatraPDF( 开源阅读器,支持图片、PDF、epub、mobi、cbz/cbr、DjVu、XPS、CHM )
  • PotPlayer( 万能视频播放器,但只是普通播放可以用系统自带或者 Chrome 代替 )
  • Downie( 视频直链提取下载器,支持 MacOS )
  • Windows Paste( 自带剪贴板,Win+r 开启 )
  • Everything( 自建索引快速搜索工具,可内网传输 )
  • PixPin( 综合截图工具,支持长图、钉图、动图以及离线识别 )
  • FastStone Capture( 截图录屏软件,小而强,推荐安装绿色版 )
  • LetsView( 屏幕操控,幕连,原幕享,全平台,方便快捷,简单好用,功能强大 )
  • GeekUninstaller( 软件卸载器,建议安装绿色版 )
  • Steam( 软件平台,主卖游戏,可管理非平台软件,手柄映射功能强推 )
  • Playnite( 跨游戏平台管理软件,支持 Epic、Steam、Xbox/MS Store、模拟器等 )
  • Git( 开源版本控制软件,跨平台,只要不涉及太多二进制,都可以使用 )
  • 智谱清言( 清华 ChatGLM 模型人工智能,还蛮好用 )

浏览器

  • Chromium 实验功能开启 chrome://flags、edge://flags

  • Chrome 在 MacOS 全屏使用时开启自动隐藏菜单栏,chrome://flags#autohide-toolbar 下 enable 选项 Immersive Fullscreen Toolbar,重启浏览器即可

  • 部分网站 闪屏、黑屏、黑块,比如 哔哩哔哩

    Chromium 浏览器默认开启的是 Default(D3D11) 模式,同时 Windows 默认其使用 CPU 硬件加速。

    我认为是核显编解码不力后,Windows 自作主张调用独显,产生的空档期导致,所以别选 让 Windows 决定。

    因此问题核心就是考虑编码能力是否足够,则纳入考量的应该有:

    • 传输速度(HDMI/DP 协议版本,涉及 DSC 及 刷新率)

    • 策略阈值(图形首选项,影响策略调度显卡选择)

    • 图形接口(Choose ANGLE graphics backend,影响渲染速度)

    • 色彩设置(Force color profile,影响传输量)

    解决方案:

    1. 只有集显,或者不想用独显,打开实验功能, Choose ANGLE graphics backend 选择 D3D9

    2. 建议独显能扛就选独显,打开 Windows 的 设置,选定 屏幕-显示卡-浏览-Chrome.exe-GPU,勉强扛在浏览器中加选 OpenGL 模式

    3. 集显独显都扛不住的关闭 浏览器设置-系统-硬件加速,可以解决,但部分视频之类需要编解码的网页会变慢

    4. 若是 4K 高刷 闪屏,确认 HDMI 和 DP 协议等级是否导致压缩,必要时调低 刷新率,调 色彩 会导致 HDR 失效,可以但不建议

推荐软件

  • Chrome( 谷歌浏览器,全平台,份额扛把子,Chromium 核心创始,作为核心版,功能略简陋,pdf 功能要拉出来吊着打 )
  • Edge( 微软浏览器,全平台,弃暗投明的最佳 Chromium 浏览器发行版,功能很多,且兼容 Chrome,Windows 10 起内置 )
  • Safari( 苹果浏览器,苹果系列平台,简洁好用,阅读模式无敌 )
  • Firefox( 火狐浏览器,全平台,有着自己的核心和安全理解,同样有着自己的信徒 )
  • Opera( 超轻浏览器,全平台,360 和昆仑万维收购后一蹶不振,最近试图注入智能化 Aria 逆天改命,但也有属于自己的黄昏信徒 )
  • Tor( 洋葱浏览器,全平台,无踪影,用了的都说好 )
  • Via( 轻插件浏览器,手机平台,功能多,体积小,能装插件 )
  • 轻松传( 内网传输,最大支持 64T )

推荐插件

  • Tampermonkey( 脚本管理器,油猴,要什么有什么 )
  • AdGuard( 广告拦截器,自带规则就够强,还能自定义,没它活不了一点 )
  • Saladict( 划词翻译器,沙拉查词,想学外语的下,市面上的我都用了,留下的只有他,翻译侠也不错但是不稳定 )
  • Global Speed( 视频速度控制器,加速减速 N 倍,好用,爱用,有可能会有快捷键冲突,建议关闭全局或者换快捷键 )
  • Volume Master( Global Speed 可以放大音量,但是不太好用,这个能让你有种突破喇叭物理极限的感觉,好用,爱用 )
  • IE Tab( 摇身一变变 IE,有些网站就是垂垂老矣,不得不服 )
  • Proxy SwitchyOmega( 代理选择器,很强很好用 )
  • Speak to ChatGPT( ChatGPT 语音对话插件,穷人的好伴侣 )
  • Grammarly( 语法检查器,学习的人可能需要它 )
  • TechStack( Github 技术栈扫描器,花活,炫酷 )
  • Octotree( Github 目录器,当年没他不能活,现在官方有了,就有点索然无味了 )

系统硬件

信息查看

  • 查看硬盘 fdisk -lh fd -lh
  • 查看使用硬盘 du -hs
  • 查看内存 cat /proc/meminfo
  • 查看CPU cat /proc/cpuinfo 或者 lscpu
  • 查看CPU频率 sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
  • 查看系统 uname -a
  • 查看架构 arch
  • 查看信息 ifconfig | grep -i 'eth'
  • 查看端口 lsof -i:8000(需要 root) netstat -tunlp
  • 环境变量 cat /etc/profile
  • 芯片详情 dmidecode -t processor
  • GLIBC strings /lib64/libc.so.6 |grep GLIBC

Windows

  • 建议装机顺序:CPU、内存、SSD、硅脂、散热、主板-铜柱、电源-线、风扇-线、显卡-线|支架、机箱-线|WiFi、显示器-线
  • 降压超频,核心体制分三六九等,测试使用统一电压筛选分级,故有部分盈余。降压可以在不降频的情况下,降低功耗,延长寿命,单纯超频会折寿
  • 主板有四个 Debug 灯,分别代表 CPU、内存、显存、启动 的问题
  • 有时候出问题,可以考虑 抠电池 或者 断电半小时再重启,来释放静电或者重置软硬件
  • 关闭开机时的灯,下载软件(以微星为例)
    • 关闭主板 RGB,下载 MSI Center
    • 关闭显卡 RGB,下载对应显卡灯效管理软件,如索泰是 FireStorm
    • 关闭其他 RGB,BIOS 中尝试关闭,失败则下载对应软件管理,没有软件则不行
  • 关闭睡眠时的灯(以微星主板为例,在 BIOS 进行)
    • 关闭主板供电 RGB,如内存灯,打开 ErP Ready 或直接按 F7 ,这是国际节能计划
    • 关闭 USB 供电 RGB,如鼠键灯, Setting\高级\唤醒事件设置 和同目录的 电源管理设置 将 USB设备从S4/S5 之类的都禁止,不过禁止了这个无法 晃鼠标/按键盘 唤醒睡眠,如果鼠键的 RGB 平时关的/主动关/带电池 的可以保留唤醒
    • 关闭机箱 Power 指示灯, Setting\高级\ACPI设置\电源LED 将 闪烁 改为 双色
  • 开启 Wol(网络唤醒)
    • 路由器一般自带 WoL,比如华硕路由器在面板控制最底下的 网络工具 添加 MAC 即可
    • BIOS 关闭 ErP,打开 PCIE、NetWorking 等的 唤醒,打开 来电开机
    • powercfg /a 查看支持的睡眠模式,在 控制面板\硬件和声音\电源选项\系统设置 中关闭 启用快速启动
    • 设备管理器 有线网卡属性,高级 标签页中关闭 环保,电源管理 标签页全勾
    • 外网连接,推荐使用 ipv6 数字开头即为设备自身公网,设备都需要支持 ipv6 一般不是问题,另外使用代理时也要考虑是否支持 ipv6,或者考虑 DDNS 或者 内网穿透
  • 睡眠自启动,Win+s 打开 事件查看器 查看日志,多半是因为 唤醒定时器,Win+s 打开 编辑电源计划-更改高级电源设置-睡眠-允许使用唤醒定时器设置:禁用
  • 推荐下载 Everything、Utools,使用快捷方式或者固定桌面,配以 Win+r、Utools、终端 start 可以实现软件启停全键盘操作
  • 活用 winget、wingetui、scoop、choco 以及 应用和功能
  • 右下角点击回到桌面
  • 激活系统 irm https://get.activated.win | iex
  • 原神之类的部分 Unity 软件切换时全屏会最小化,就需要用到无边框窗口模式,在快捷方式后面添加 -screen-fullscreen 0 -popupwindow,原理是 Unity 命令行参数
  • 微软平台连接缓慢解决办法,将生成的 hosts 文件放入 %WinDir%\System32\Drivers\Etc,然后 ipconfig /flushdns,当然有代理建议代理
  • 远程链接中若按 backspace 出现 ^H,重新链接即可
  • CMD 和 Powershell 按一下才运行一下,右键title-属性-快速编辑模式,勾选去掉
  • 软件换盘后,浏览器无法调起软件,修改注册器下调用路径 计算机\HKEY_CLASSES_ROOT\软件名\shell\open\command
  • 如果更新系统遇到,解决 Windows 11 更新「某些操作未按计划进行」问题,可用镜像更新

存储

  • Windows 系统有启动区( EFI )和保留区( MSR,GPT 必有 )以及主分区 C 盘,而主分区不能转为逻辑分区,所以多个硬盘无法合成一个 C 盘,只能使用 动态磁盘 或者 存储池 合并其他硬盘后挂载
  • 若不小心删除引导盘,或者动态磁盘转换,由于动态磁盘无法装系统,需要 重建引导
  • 操作硬盘命令 diskpart 基本都可三字缩写,常用命令有 list、select(sel)、remove、set 后接数字或 disk(dis)、volume(vol)、partition(par)
  • 修改商店安装位置,夺取 WindowsApp 权限,卵用没有
  • 使用 DiskGenius 扩容 C 盘
  • 分区是机械硬盘时代的传统,固态硬盘不需要分区,而且分区会有很多麻烦,尤其是遇到没给自定义安装的软件,费时费力

    分区会多浪费一部分存储,常见的认识是分区便于重装系统时保留文件,但这是在只懂冷安装(关机外介质安装)的情况。

    实际上,热安装(重置系统等)可以不关机净化系统,删除应用并保留文件。

    重置系统时,系统目录 会重置,user目录 会保留,但 AppData 中应用程序的配置数据会以 windows.old\AppData 的形式保存。

Win 键

  • l( 锁屏 )、e( 资源管理器 )、d( 桌面 )、v( 剪切板 )、tab( 桌面切换 )、x( Win 右键菜单 )、p(投影)
  • r( 运行 )
    • wt( 打开 Windows Terminal )
    • psr( 步骤记录器 )
    • mstsc( 远程桌面 )
    • control keyboard( 键盘重复延迟 )
    • inetcpl.cpl( 网络属性 )
    • ncpa.cpl( 网络连接属性与高级设置控制面板 )
    • regedit( 注册表 )
    • msconfig( 系统配置,服务启停 )
    • dxdiag( DirectX 诊断工具 )
    • control /name Microsoft.DeviceManager( 设备管理 )
    • %localappdata%( 个人数据 )
    • %APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar( 任务栏 )
    • C:\Windows\System32\Drivers\Etc( hosts 文件,建议使用 PowerToys 原地修改 )
    • shell:startup( 用户开机自启动快捷方式文件夹 )
    • shell:common startup( 全用户开机自启动快捷方式文件夹 )
    • shell:programs( 用户程序文件夹 )
    • shell:common programs( 全用户程序文件夹 )
    • shell:recent( 最近文件夹 )
    • shell:appdata( 程序数据文件夹 )
    • shell:appsfolder( 安装程序文件夹 )
    • shell:quick launch( 快速启用文件夹 )
    • shell:fonts( 字体文件夹 )
    • shell:sendto( 发送文件夹 )

Powershell

  • 获取软件位置 Get-Command 别名 gcm

CMD

  • 获取软件位置 where
  • 查看帮助 cd /? 其他命令同理

Linux

  • apt、dpkg (Ubuntu、Debian)
  • rpm、yum、dnf(RHEL、CentOS)
  • 个人推荐 dnf(RHEL8、CentOS8)

MacOS

  • 推荐下载 Raycast
  • 建议使用 homebrew
  • 中英切换 Caps Lock 键
  • 默认功能键,要使用 Fn 需按 Fn,或者修改设置
  • 默认反滚轮,可在设置中修正
  • 很多日常功能并未实现,推荐快捷指令,或者下载软件补全
  • 清除输入法缓存 pkill -f SCIM.app
  • 修改键重复速度 defaults write NSGlobalDomain KeyRepeat -int 1
  • 修改按键前延迟 defaults write NSGlobalDomain InitialKeyRepeat -int 10
  • 开启重复输入 defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
  • 总是提示 "Python" 命令需要使用命令行开发者工具。你要现在安装该工具吗?,输入 sudo ln -s $(xcode-select --print-path)/usr/bin/python3 $(xcode-select --print-path)/usr/bin/python
  • 外接屏幕糊,下载安装 BetterDisplay 选定分辨率开启 HiDPI

推荐软件

  • CrystalDiskMark( 固态测试 )
  • AIDA64( 硬件状态查看 )
  • CPU-Z( 以 CPU 为主的硬件查看 )
  • GPU-Z( 以 GPU 为主的硬件查看 )
  • MSI Afterburner( 微星小飞机,必备 )
  • Riva Tuner( 显卡为主的硬件监控 )
  • 360驱动大师( 驱动安装,注意官网和安装时勾选,win10 以上联网可自行驱动更新 )
  • 系统自带磁盘管理( 功能强大,瑕不掩瑜 )
  • DiskGenius( 硬盘操作,硬盘界绝强的存在 )
  • 傲梅分区助手( 免费方便,且支持各种 硬盘、系统 操作,比如 合并分区 )
  • spy++( 窗口监控,查看所属进程和占用热键,若有 VS 工具则在 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools )
  • 微 PE 工具箱( 当前最纯净的 WinPE( 由官方 PE 加上资源管理器等发展而来 ) 且附带以上各种工具 )
  • NTBootAutofix( 引导修复,PE 中的重建引导经常不成功,需要进入安全模式使用该软件自动修复 )
  • ShellExView( 可视化注册表的右键查看,Windows 资源管理器 卡死时需要 )

环境变量

Windows

注意:

Windows 建议手动添加移动环境变量,方便快捷,呼出环境变量建议使用 utools、搜索

若存在超长环境变量,需要修改注册表,但每次都会提醒,建议使用 PowerToys

部分软件会自动添加环境变量,或者需要勾选,自带 winget,软件包新,但部分软件不提供环境变量导入

据说 winget install WingetPathUpdater 自动添加环境变量(未证实,反正我装的那几个没卵用,建议使用 scoop、choco 包管理下载软件自动导入)

Powershell

  • 查看 dir Env:
  • 用户永久导入 HKCU:\Environment\
  • 系统永久导入 HKLM:\SYSTEM\ControlSet001\Control\Session Manager\Environment\

CMD

  • 查看 set
  • 用户永久导入 setx env_name env_value
  • 系统永久导入 setx env_name env_value /m
  • CMD 的环境变量可以出现重复值

Linux/Unix

  • 查看 export 或者 cat /etc/profile
  • 临时导入 export TEMP=XXXXXX,导入 PATH 使用 export PATH=$PATH:xxx
  • 永久导入 echo '[临时导入变量命令]' >> ~/.bash_profile
  • 软件配置文件 source $HOME/.cargo/env
  • 本用户配置文件 source ~/.bash_profile
  • 全用户配置文件 source /etc/profile

MacOS

MacOS 环境变量相关


进程管理

  • 手机退出 微信 而保持电脑端,使用 飞行模式 下线(可能需要转一分钟)

Windows

  • 查询端口 netstat -ano | findstr [PORT] tasklist | findstr [PORT]
  • 查询进程 netstat -ano | findstr [PID] ,杀进程 taskkill -pid [PID] -f
  • 用户级开机自启在 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
  • 系统级开机自启在 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  • 有想要开机自启的项目,推荐使用 nssm 注册成 Windows 服务,静默权限高有日志,且自动恢复重启

Linux/Unix

  • 进程状况 ps -ef aux 详情 -u 按用户
  • 杀进程 kill -s 9 pid
  • 后台继续运行 bg
  • 后台挂起 Ctrl + z
  • 后台运行 nohup
  • 守护进程
    • 终端复用 screen
      • 分离( detach )进程 ctrl+a d
      • 创建 -S
      • 退出 screen -X -S [想结束的会话] quit
    • 终端复用 tmux

MacOS

  • 强制结束 Command+q

推荐软件

  • tmux( 窗口管理,可以将一个会话分割成多个窗口,SSH 时有大用 )
  • screen( 前后台管理,很方便 )
  • htop( 进程和资源占用查看,top 进化版,谁用谁知道 )
  • AutoIt3( au3,用于写 Windows 窗口脚本,教程 )

用户和组

Windows

  • 管理员运行软件 Ctrl+Shift+Enter

CMD

  • wmic 启用 root,如 cpu get *

Linux/Unix

  • 当前用户 whoami
  • 用户信息 id usrname
  • 当前的组 groups
  • 用户的组 groups usrname
  • 所有用户 cat /etc/passwd
  • 某个用户 cat /etc/passwd | grep usrname
  • 所有的组 cat /etc/group
  • 某个的组 cat /etc/group | grep groupname
  • 添加用户 useradd usrname
  • 修改密码 passwd usrname
  • su 无效 usermod -G wheel usrname
  • 转用户 su usr ;转 root 是 su - root 或者 su
  • 安装管理 sudo apt install manpages-dev
  • 设置 root 密码 sudo passwd root
  • 修改权限 chown ossadm:ossgroup /opt/install -R 递归

文本文件

Windows

  • Windows 中文件名字母大小不区分
  • 繁简转换 Ctrl+Shift+F
  • 本盘拖拽是移动,跨盘拖动是复制,按住 Ctrl 拖拽复制
  • 查看文件内容 type xxxx
  • 文件共享推荐 自带共享(运行输入文件路径即可)、轻松传、Everything
  • 文件同步推荐 syncthing
  • 取消文件名限长,修改注册表 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] 中 "LongPathsEnabled"=dword:00000001
# Powershell
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
  • 脚本操作在 HKEY_CLASSES_ROOT 找
  • 添加右键打开文件
    1. 在注册表 HKEY_CLASSES_ROOT\*\shell 下新建 {软件名} 项,在右侧窗口的 默认 双击,在数据里输入右键显示内容 用VSCode打开。
    2. 在 {软件名} 下再新建 Command 项,在右侧 默认 键值栏内输入程序路径 "C:\..\*.exe" "%1"。其中的 %1 表示要打开的文件参数。
    3. 配置图标,在 {软件名} 项新建可扩充字符串值,命名为 Icon,双击把 "C:\..\Code.exe" 放进数据就可以了。
  • 添加右键打开文件夹,HKEY_CLASSES_ROOT\Directory\shell 参数改为 "%V" 其余同上

Powershell

  • 重命名 Rename-Item 别名 ren、rni
  • 新建文件 New-Item ssh -type file
  • 更换 UTF-8 配置
# 配置文件加入
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

# 管理员运行
Set-ExecutionPolicy Unrestricted

# chcp 查看编码是否为 65001
chcp

CMD

  • 用 cd、copy 建立新文件

Linux/Unix

  • 创建文件
    • 普通文件 touch regular
    • 目录 mkdir directory
    • 符号链接 ln -s ./regular symbolic
    • FIFO mknod fifo p
    • 字符特殊文件 mknod character c 1 1
    • 块特殊文件 mknod block b 1 2
    • socket文件 mksock sock(没则使用 nc 命令进行创建 nc -UI ./sock
  • 获得父目录名 dirname
  • 获得本目录或者文件名 basename
  • 判断是否为同一个文件 md5sum 等计算文件哈希值
  • 对多个文件操作可以用{} mkdir -p $HOME/test/{bin,lib64,lib}
  • 软链接删除 rm *.so
  • 软链接建立 ln -s 文件 *.so
  • 显示 csv 类文件 sed "s/,/\t/g" filename | less
  • 筛选帮助 curl --help | grep -- "-H" (双破折号表示命令选项的结束,后面的都是参数)
  • 查找文件内容 grep “find string” file |less -R
  • 获取反选 grep -v
  • 文本反选 ^((?!something).)*$
  • 舍去小数点后 awk -F. '{print $1}'
  • 替换 CRLF sed -i "s/\r//g",常用命令 find . -name '*.sh' | xargs sed -i "s/\r//g"

推荐软件

  • 三剑客( sed、awk、grep,文本真神 )
  • rgrep( Rust 编写的新时代 grep )
  • bat( cat 高位替换,新时代软件,花里胡哨更炫酷 )
  • exa( ll、ls 高位替换,更骚更炫酷 )
  • wc( 算行数的,名字确实骚 )
  • tar( 解压缩文件,常用命令 )
  • hash-identifier( 升级版 hashid )

网络传输

  • 不申报,私设海外代理是违法行为,大型线路皆由三大运营商下发,请勿有侥幸心理违法犯罪
  • 经常要白屏加载很久才出来,多半是 ipv6 超时转解析 ipv4 造成,除 华硕、网件 大部分路由器尤其华为对 ipv6 透传(光猫 DNS 下发)支持不佳,可以手动将 终端 或者 路由 dhcp 设置 DNS,或者 ap 模式,或者 光猫改成桥接模式
  • 太大了或者文件个数过多可以考虑先压缩,tar.gz 可以保留权限信息,zip 不行
  • 密钥生成 ssh-keygen -o,密钥位置 ~/.ssh
  • 查看局域网设备 arp -n -a
  • 查看端口 telnet 192.168.50.255 80

Windows

  • Windows 的拨号是单线程,性能孱弱,桥接用其拨号宽带速率会大打折扣
  • MTU 值一般是 1500,路由器的 MTU 一般是 1492
  • 查看配置 ifconfig
  • 查看代理 netsh winhttp show proxy
  • 清空 DNS ipconfig /flushdns
  • 查看 DNS 缓存 ipconfig /displaydns
  • 查看 DNS 解析结果nslookup xxx.com

Powershell

  • 添加 HTTP 代理 $Env:http_proxy="http://127.0.0.1:7890";$Env:https_proxy="http://127.0.0.1:7890"

CMD

  • 添加 HTTP 代理 set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890
  • 清除 HTTP 代理 set http_proxy= 和 set https_proxy= 或者 netsh winhttp reset proxy

MacOS

  • 清除 DNS 缓存 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

代理

  • 各种代理设置

  • 考虑路由网关代理

  • Http 第七层,Socks5 是更底层的第五层

  • Global( 全局模式 ) 和 Rule( 规则模式 )区别在于是否分流,全局不做判断全部代理,浪费流量

  • 某些代理节点会关闭 22 端口,此时需要考虑直接使用 Https,或者使用 443 端口走 SSH

    Host github.com
        Hostname ssh.github.com
        Port 443
        User git
        # ProxyCommand nc -v -x 127.0.0.1:7890 %h %p
        # Windows 中对应的 nc 为 Git 目录下的 C:\Program Files\Git\mingw64\bin\connect.exe
    

Clash

  • 一般情况下端口,服务 7890、Socks 7891、Redir 7892、控制台 9000/9090
  • 编辑规则和配置建议使用外部编辑器,直接编辑反馈不明显,而且据我实验,直接编辑无法保存,但 VSCode 可以覆盖保存
  • 全局指的是全 Http/Https 走代理,规则指的按配置表走代理,并不能代理终端
  • 查看流量走向可以观察 Logs、Connections,以 Logs 为主,观察考虑是否放入路由,一般需要涉及考虑的暧昧网站接口有 microsoft、nvidia、steam 等
  • Windows 的 UWP 由于沙箱网络隔离,无法代理,故点击 UWP Loopback 中 Fiddler Web Debuger 来解锁 UWP 应用的网络隔离
  • 当默认的分流规则不适合时,若直接修改配置文件,订阅更新会让修改的规则丢失。借助 混合模式( Mixin ),自己修改的规则有最高优先级,且不会丢失
  • 代理终端方式
    • 短期,复制 Clash 提供的命令行,但可能会污染 DNS
    • 长期,Windows 开启 TUN 或者 TAP 模式,MacOS 开启增强模式
  • 模式 TUN(三层网络层,模拟网卡)性能强于 TAP(二层数据链路层,模拟物理以太网)
  • 配置 TUN 模式:
    • 搜索防火墙-更改设置-允许其他应用-浏览 ,选中 clash-win64.exe

    • 点击 Service Mode 安装,成功小地球变绿

    • 编辑 Mixin 配置,重点关注以下配置

      ipv6: false
      enhanced-mode: fake-ip
      geoip: true
      stack: system
      
    • 打开 TUN Mode

    • 打开 Mixin(每次刷新规则和配置都要关闭开启一次)

  • 局域网模式需要打开 Allow LAN 开关
  • TUN 模式有网但右下角显示断网小地球,且微软商店报错 0x800704cf,是因为微软用 msftconnecttest.com 测试网络链接,所以将其加入规则路由即可
  • 软件下载在 clash-rules 的 hidden 分支有备份

推荐软件

  • Clash core 系列( 代理,跨平台,曾经的新秀,日落西山 )
    • Clash For Windows( Windows )
    • Clash Verge( Windows )
    • ClashX Pro( MacOS )
    • Clash Merlin( Linux )
  • SSR/SS 系列( 代理,跨平台,令人唏嘘的老前辈 )
  • V2ray 系列( 代理,跨平台,大多数情况下稳如老狗 )
  • Sing-box 系列( 代理,跨平台,此界原神,海纳百川 )
  • Potatso( 代理,支持 IOS 和 IpadOS,免费白嫖,好用,爱用 )
  • WARP 1.1.1.1( 免费超快的域名解析服务,CloudFlare 与 APNIC 共同维护 )
  • OpenWrt( 软路由系统,此界真神 )
  • X 系列( xshell: ssh 连接终端,xftp: ftp 传文件 )
  • Reqable( 网络抓包,跨平台,类似 Fiddler,但是漂亮 )
  • scp( 远程加密传输的 cp )
  • curl( 网络下载,也支持 POST,很强大 )
  • nc( 网络界瑞士军刀,-U uds )
  • LanSee( 局域网设备扫描 )
  • Advanced IP Scanner( 局域网设备扫描 )

终端

Windows Terminal

  • 配置(少数派、微软官方),壁纸使用每日必应,找接口或者自己部署(定时获取,存放图片,终端读取图片,这样断网可以有最后一张图片),可以设置 json 中填写以下内容,或者新版设置默认值里可手选。
"defaults": {
            "adjustIndistinguishableColors": "always",
            "backgroundImage": "https://api.kdcc.cn",
            "backgroundImageOpacity": 0.3,
            "colorScheme": "One Half Dark",
            "cursorShape": "filledBox",
            "useAcrylic": false
        }

Powershell

  • CMD 和 Powershell 按一下才运行一下,右键title-属性-快速编辑模式,去掉勾选
  • 查看版本 $PSVersionTable.PSVersion
  • 查看命令位置 (Get-Command zoxide).source
  • 查找字符 Select-String -Pattern 'xxxx',别名 sls 'xxxx'
  • 创建别名 New-Alias -Name gh -Value Get-Help,若有空格使用 function syslog {Get-Eventlog -LogName System},Powershell 中无法覆盖别名
  • 在资源管理器中 Shift+右键 增加当前目录打开终端选项
  • 无空格目录可以直接运行 *.ps1,若目录有空格使用 & 运行,& 是严格指定的强制执行
  • 初始化配置文件 New-Item $PROFILE  -ItemType File -Force
  • 配置文件在 $PROFILE,若涉及远程脚本,保存配置后需用 管理员执行 Set-ExecutionPolicy RemoteSigned
  • 主题配置文件在 $env:POSH_THEMES_PATH/fadegentle.omp.json
  • 终端字体,nerd 字体下载
  • 终端优化,oh-my-posh,设置文件在 $PROFILE,主题查看
  • 字体结尾,Mono 等宽,Serif 衬线,NL(No Ligatures)非连词

CMD

  • CMD 和 Powershell 按一下才运行一下,右键title-属性-快速编辑模式,去掉勾选
  • 设置窗口栏标题 title xxxx
  • 设置提示符 prompt [root@localhost $P]#

bash/sh/zsh

  • 查看指令 man bash,还可以查询配置文件 man smb.conf,查看所有相关指令 man -k xxx
  • 查询帮助 man test ,配合使用 vim 搜索
  • 查询指令 whatis,源于 manpage,无用则需执行 mandb 更新
    whatis passwd  # 得到 passwd(1) 是 manpage 的章节数
    man 5 passwd  # 然后使用 / 查询,n 下 N 上,搜 EXAMPLE
    
  • 查询文档 less /usr/share/doc/pam/txts/README.pam_access
  • \ 可无效别名,直接使用原始命令
  • 写同步类型的脚本时注意延迟,比如启停服务杀死归还端口需要一定时间,一般使用 300ms(sleep 0.3)
  • 终端配置
- 安装 oh-my-zsh
- 配置终端头 vim ~/.oh-my-zsh/themes/$ZSH_THEME.zsh-theme
- PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
- PROMPT+=' %{$fg[yellow]%}[%D{%y/%m/%f} %D{%H:%M:%S}] %{$fg[cyan]%}%c%{$reset_color%}'
- PROMPT+=' $(git_prompt_info)'
- 安装 vim、bat、htop、rgrep、exa
  • xargs 捕获上个命令结果给下个命令做参数(和管道的区别)

  • 命令结果存为变量用 logs|find . -name *.log

  • 字符串操作,ANSI 转义序列

    • 在 Shell 中表示为 \e
    • 以 ASCII 八进制表示为 \033
    • 以 ASCII 十六进制表示为 \x1B( 如何输入 ESC '^[' )

推荐软件

  • Windows Terminal( 开源终端,里程碑跨时代的产品,Windows 11 内置 )

  • WSL( Windows Subsystem for Linux,子系统,很好用,推荐新架构 WSL2,推荐微软商店下载 Ubuntu、Kali )

  • oh-my-posh( Powershell 美化器,至强无敌 )

  • electerm( 开源终端,JavaScript,高定制化,好用 )

  • Tabby( 开源终端,TypeScript,跨平台,新时代智能终端 )

  • Warp( 智能终端,Rust,支持 MacOS,欲支持 Linux )

  • oh-my-zsh( zsh,自带主题,有点智能但不多,有点好看是真的 )

  • modern-unix( 超多现代终端工具! )

  • fzf( 全名 fuzzy finder,是一款通用的命令行模糊查找工具 )

  • zoxide( 现代的 cd,推荐别名 z,交互模式 zi )

    New-Alias -Name z -Value /../path/../zoxide.exe
    z init powershell | Out-String | Invoke-Expression
    
  • eza( 现代的 ls,推荐别名 lse )

    # sh
    alias ls="eza --icons"  # 默认显示 icons:
    alias ll="eza --icons --long --header"  # 显示文件目录详情
    alias la="eza --icons --long --header --all"  # 显示全部文件目录,包括隐藏文件
    alias lg="eza --icons --long --header --all --git"  # 显示详情的同时,附带 git 状态信息
    alias tree="eza --tree --icons"  # 替换 tree 命令
    
    # powershell
    function lse { eza --icons }  # 默认显示 icons:
    function ll { eza --icons --long --header }  # 显示文件目录详情
    function la { eza --icons --long --header --all }  # 显示全部文件目录,包括隐藏文件
    function lg { eza --icons --long --header --all --git }  # 显示详情的同时,附带 git 状态信息
    function tree { eza --tree --icons }  # 替换 tree 命令
    
  • bat( 现代的 cat )

  • fd( 现代的 find )

  • duf( 现代的 df )

  • dust( rust 写的 du )

  • dog( rust 写的 dig )

  • ripgrep( rust 写的 grep )

  • procs( rust 写的 ps )

  • sd( 直观且易用的 sed )

  • choose( 快速且易用的 cut )

  • delta( 可用于支持 git diff 的语法高亮和分屏对比 )

  • gping( 可视化的 ping )

  • curlie - ( http 客户端,号称是,兼具 curl 的强大与 httpie 的易用性 )

  • mcfly( 仅支持 类 Unix 智能搜索引擎取代 CTRL-R 默认的搜索引擎,会考虑你的工作环境和历史命令等,通过一个小型网络进行优先级排序 )

  • lf( 终端文件浏览器 )

  • jq( json 处理,支持部分导出和复杂脚本筛选 )

  • tldr( “too long, don’t read”,列出某个命令的常见使用案例 )

  • glances( 代替 top/htop 的监控软件,全平台 )

  • hyperfine( 压测工具,可同时压测多个命令 )

  • entr( 监控文件是否变化,可用于热加载 )

  • figlet( 生成 ASCII 字符,上色可使用 lolcat,网站推荐 ASCII Generator 和 ASCII banner )


编译

推荐软件

  • cmake( 只要不手写就是好朋友的 C 类编译工具 )
  • gcc( 自由的 C 类编译器 )
  • dependcy walker( 逆向,查看 dll、exe、pyd 等文件依赖关系 )

Git

注意: 涉及远程仓库的放在 GitHub 章节

<branch-name>:你想要在新工作树中创建并跟踪的分支的名称。

<path>:新工作树的路径。

[<commit-ish>]:可选参数,指定一个特定的提交、分支或标签来检出。如果不指定,Git 会默认检出 <branch-name> 分支的最新提交。

  • 少量多次,最好以功能或者 bug 为单位提交
  • IDE 中 git init 之后才会出现 Git 菜单选项
  • 查看状态 git status -s,看提交时间可以去掉 -s
  • 查看操作 gitk --all &
  • 查看日志 git log --oneline --all --graph
  • 查看指令日志 git reflog
  • 查看分支 git branch
  • 重命名分支 git branch -M [旧分支名] [新分支名]
  • 创建并转入分支 git checkout -b
  • 取消未提交的修改 git checkout -f
  • 提交修改 git commit -am 'message'
  • 暂存文件,比如只想提交部分文件的时候
    • 暂存 git stash,添加说明 git stash save 'message'
    • 查看 git stash list,查看单个 git show stash@{$num} ,比如 stash@{1} 下同
    • 应用 git stash apply,应用单个 git stash apply stash@{$num},不会删除存储
    • 收回 git stash pop,收回单个 git stash pop stash@{$num},会删除存储
    • 删除 git stash clear,收回单个 git stash drop stash@{$num}
    • -u 囊括 untracked 的文件,-a 囊括 ignore 的文件
  • 另起炉灶 git worktree add --track <branch-name> <path> [<commit-ish>]
    • 比如修改功能 A 时需要添加功能 B,就在 A 项目文件夹路径下的 ..\B 新开工作树
    • 类似在 Project_A 的同级路径 git clone 一个 Project_A_Copy 但是列入 .git 管理,且更快
  • 合并分支特别推荐 rebase 和 cherry-pick,保证枝干纯净,方便好用
  • 回退
    • revert 回退会生成新的 commit(保留记录,推荐)
    • reset 回退不会生成新的 commit(常用 soft)
  • 比较 git diff
  • 统计 diff 行数 git diff --numstat master | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'
  • 清除缓存 git rm -r --cached .
  • 忽略 .gitignore
    • 忽略特定文件 git update-index --assume-unchanged [file_path]
    • 全局忽略(https://segmentfault.com/a/1190000021840593)
  • 子模块 .gitmodules 教程 | 使用 | 完全使用
    • 同步 git submodule sync --recursive
    • 初始化 git submodule init --recursive
    • 更新 git submodule update --recursive
    • 初始化更新 git submodule update --init --recursive
    • 模块添加 git submodule add [url] [path],然后初始化更新(先克隆可以不填 path,不确定,再看看)
    • 目录变更
    • 删除
      1. 删除子模块仓库目录
      2. 删除 .gitmodules 中相关条目
      3. 删除 .git/config 中相关条目
      4. 删除 .git/module/* 中子模块目录
  • 检查文件缺失 git fsck
  • 补丁文件
    • git apply 两种补丁文件 format-patch diff 皆可
    • git am 只能用于 format-patch
  • 去中心化 局域网内 git
    • git daemon --verbose --export-all --base-path=.
    • git clone git://$hostip_a/respostory_name
  • 删除分支 git branch -D [分支名]
  • 删除分支记录 git branch -r -d xxx/xxx

GitHub

  • s 或 / 聚焦搜索
  • . 打开在线编辑器
  • gitpod.io/github.com/{repo} 打开 GitPod 环境容器编辑
  • 键盘快捷方式官方文档
  • 在 Git 2.0 版本后,远程操作默认 simple 模式只涉及当前分支,另有 matching 模式,涉及全部分支,配置项 git config --global push.default (simple|matching)
  • 查看所有分支 git branch -a
  • 查看远程分支 git branch -r
  • 查看已配置远程仓库 git remote -v
  • 查看对应远程分支 git branch -vv
  • 添加远程仓库 git remote add [远程仓库名] [http/*.git]
  • 推送远程仓库 git push (-u|--set-upstream) origin main,首次推送注意是 main 还是 master,强制命名 git branch -M main,推送空文件,链接文件是另外的知识点
  • 推送全部分支 git push (origin|REMOTE) (--all|'*:*')
  • 拉取分支
    # 无分支联系
    git fetch origin origin_branch:local_branch
    
    #有联系
    git checkout -b local_branch origin/branch
    git clone -b origin_branch repo.git
    
  • 克隆全部分支 git clone 实际上已经是全部内容,只需要使用其一
    • 转入使用分支 git checkout -b [本地分支名] [远程仓库名/对应远程分支]
    • 转入并创建本地分支 git checkout -t [远程仓库名]/[远程分支名]
    • 获取分支 git fetch [远程仓库名] [远程分支名]:[本地分支名]
  • 克隆子模块 git clone --recursive [远程仓库名]
  • 拉取全部分支 git (fetch|pull) --all
  • 强制拉取
      git fetch --all
      git reset --hard origin/master
      git pull  # 可以省略
    
  • 删除远程缓存 git rm -r –cached directory
  • 删除远程分支
    • git push [主机名] (-d|--delete) [分支名]
    • git push [主机名]:[分支名]

配置

  • 若无代理需要配置源
  • 新机器需要 DNS /etc/resolv.conf
  • 推荐配置项
# 修改默认分支名为 main
git config --global init.defaultBranch main

# 确保 git status 查看为中文,路径字符是否编码显示,0x80 以上 true 则转义
git config --global core.quotepath false

# **CRLF(Carriage Return Line Feed)**,git 配置中的 autocrlf
#
# 此三个 mode 的核心理念是——仓库中统一 LF,检出时各平台转换
#  true: 提交时改成 LF,检出时改成 CRLF,适合 Windows 对 Linux 协同(Windows 默认值)
#  input:提交时改成 LF,检出时不改,适合多系统协同,input 指的是工作区输入给仓库(MacOS、Linux 推荐)
#  false:提交时是什么就是什么,不改换行符,检出时也不改,适合同系统(Linux 默认值)
git config --global core.autocrlf [mode]

#  true: 拒绝提交包含混合换行符的文件(会提示 Fatal:xxx)
#  false: 允许提交包含混合换行符的文件
#  warn: 提交包含混合换行符的文件时给出警告(默认值)
git config --global core.safecrlf [mode]

# 开关SSL
git config --global http.sslverify false
git config --global https.sslverify false

# 缓存密码,--unset 取消
git config --global credential.helper cache

# 配置 GitHub 的 private 库
git config --global github.user
git config --global github.token

推荐插件

  • git-completion.bash( 代码补全 )
  • git-prompt.sh( 分支显示 )
  • posh-git( Powershell 的分支显示 )

Docker

注意:内存不吃紧的话建议给孩子下一个吧

  • Docker 三板斧 !!!
  • 信息
docker --help # 帮助信息
docker -v # 查看 docker 版本
docker info # docker 信息
  • 镜像
# 构建镜像
# docker build -t IMAGE_NAME:TAG PATH_TO_DOCKERFILE
# 利用当前目录下的Dockefile去构建一个叫 weclome-to-docker的镜像(默认情况下tag为:latest)
docker build -t welcome-to-docker .
# 多了:xx 构建镜像的同时指定tag(同一个镜像名可有多个tag)
docker build -t welcome-to-docker:20230910 .
# docker save -o my-image.tar my-image:tag
# 将镜像welcome-to-docker打包成welcome-to-docker.tar
docker save -o welcome-to-docker.tar welcome-to-docker

docker load < my-image.tar.gz # 从文件中加载docker镜像

docker images # 查看有哪些镜像
# 删除镜像 weclcome-to-docker tag名为20230910
docker rmi welcome-to-docker:20230910
  • 容器
# docker run --name my-container my-image # 通过镜像 创建容器
# 指定容器名my_container
# 端口映射 4000(外部)- 3000(容器内)
# -d 后台运行
# weclcome-to-docker-镜像名
# lastest- tag号
docker run --name my_container -p 4000:3000 -d weclcome-to-docker:latest

docker ps -a  # 查看有哪些容器
docker exec -it kb-ent-api(container name) /bin/bash # 进入容器内部

docker stop container_name # 优雅关闭容器(推荐使用,使用后在rm删除容器)
docker kill container_name # 强制关闭
dokcer rm container_name   # 强力删除(这个命令 不能直接用于running状态的容器,除了关闭容器,还会删除相关文件系统、网络、卷等)

docker start container_name   # 用于容器已经死了 或退出
docker restart container_name # 容器还活着

docker inspect <container_name_or_id> #查看容器信息,非常详细
docker inspect --format='{{.NetworkSettings.IPAddress}}' <container_name_or_id> # 格式化输出容器信息 这里代码查看ip信息

  • 日志
docker logs kb-ent-api       # 查看容器运行情况(制定容器日志)
docker logs --stderr web-app # 查看日志标准错误
docker logs -f web-app       # 动态查看日志
  • 备份
# 在容器内创建备份文件
docker exec -it my_postgres_container pg_dump -U postgres -W -F t my_database > my_database_backup.tar
# 将备份文件从容器复制到宿主机
docker cp my_postgres_container:/path/to/backup/in/container/my_database_backup.tar /path/to/backup/on/host/
  • 容器组
docker compose up -d # 开启容器组
docker-compose down  # 关闭容器组
docker-compose ps    # 查看容器组
docker-compose logs  # 查看容器组日志
docker-compose exec CONTAINER_NAME COMMAND # 容器内部执行命令

IDE/Editor

VSCode

  • 命令 Ctrl+Shfit+p
  • 查找 Ctrl+p、Ctrl+f
  • 替换 Ctrl+h
  • 设置 Ctrl+,
  • 输入当前行 Alt+Shift+Up/Down
  • 删除当前行 Ctrl+Shift+k
  • 呼出隐藏左侧栏 Ctrl+b
  • 呼出隐藏终端 Ctrl+j
  • 修改隐藏文件,设置搜 files.exclude
  • 多光标
    • 选择 Alt+单击
    • 单向连续 滚轮拖拽
    • 上下连续Ctrl+Alt+Up/Down
  • 推荐用于 Markdown,目录(ToC)设置
    • 抑制 <!-- no toc -->
    • 忽略 <!-- omit in toc -->
    • 忽略标题 toc.omittedFromToc
    • 视野等级 toc.levels

推荐插件

  • copilot( 生产力,甚至是比我本身更强的生产力,属于是 114510+4 战斗力了 )
  • bracket( 花色括号,已内置 )
  • gitlen(Git 增强器,怪好用的 )
  • Text Power Tools( 文字工具合集,也能转换 Unicode )
  • markdown all in one( Markdown 银弹,大纲在左边 OUTLINE )
  • Insert Numbers Pro( 批量输入自增,使用方法 format:start:step )
  • rust-analyzer( Rust 插件核心 )
  • better toml( Toml 文件视觉优化 )
  • crate( 扫描 crate 版本,显示并提供选择 )
  • todo( todo 彩虹高亮器,花里胡哨 )
  • tabnine( Rust 写的智能代码提示,对 Rust 免费 )
  • docker( docker 方便器 )

JetBrain

  • 查找 Shift连按

  • 目录映射 设置-部署

  • 多光标 滚轮长按拖动

  • 破解方法:

    1. 进入 JETBRA.IN CHECKER,选择可行的网址下载置顶的 jetbra.zip,并在下方复制想要激活软件的许可证
    2. 在 JetBrains 的 ToolBox 中选择想要激活的软件,三点 > 设置 > 配置 > 编辑JVM选项...,在第二行填入
      -javaagent:<自己下载解包的路径>\jetbra\ja-netfilter.jar
      --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
      --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
      
    3. 进入软件,输入激活码即可(不生效使用则进 scripts 安装 install-current-user.vbs 后重试)

推荐插件

  • copilot( 生产力,甚至是比我本身更强的生产力,属于是 114510+4 战斗力了 )
  • Rust( 插上就变 Rust 开发 IDE,鸠占鹊巢了属于是 )

vi/vim

  • ~/.vimrc 配置,sudo vim 的配置在 root/.vimrc

    # 解决复制不到系统粘贴板问题
    set mouse=v
    
    # 语法高亮
    syntax on
    
  • 输入(i、o/O 插入行)

  • 撤销(u)

  • 退出(ZQ 不保存、ZZ 保存、:q! 强制)

  • 移动(gg 首行、shift+g 行尾)

  • 删除(d、dd 当前行、dG 全部)

  • 搜索(/ 下、? 上、n 下个、N 上个)

推荐软件

  • Visual Studio Code(开源插件型编辑器,跨平台,竞品 sublime、vim)
  • JetBrains IDE(开源 IDE,跨平台,一枝独秀,衍生品 Qt Creator、Android Studio)
  • Xcode(苹果 IDE,仅支持 MacOS)

游戏

  • 部分游戏无法识别非 Xbox 手柄,如极限国度,使用 Steam 纳入管理,启用其手柄输入控制即可
  • 推荐 Kinguin 购买 XGPU 会员等兑换券
  • 帧率可以在显卡中限制,英伟达卡控制面板 管理 3D 设置,比如 144Hz 屏幕可以设置 最大帧数率 为 150(屏幕刷新率加点盈余),后台应用程序最大帧速率 为 24/30(如果有习惯同时干几件事可以设置到自己的容忍下限 60/120)
  • 帧率太高信息量过大,显卡和线不一定能承受得住,会影响到颜色位深,所以应当确保位深最高时,帧数尽可能高
  • G-Sync 和 Free-Sync 是显示器等待显卡输出的技术,开启有其一后建议将垂直同步关闭
  • Nvidia 的游戏内覆盖会造成任务栏被遮挡,可在 GeForce Experience 设置中关闭

Steam

  • 推荐 SteamPY 购买 CDK
  • 推荐 SteamDB 查询全球低价信息
  • 推荐 UU加速器 白嫖加速
  • 推荐 网易BUFF 挂 CSGO 刀
  • 推荐 挂刀行情网 选择出售饰品
  • 推荐 Steam跨区助手 入库/运行锁区游戏
  • 常用道具可以使用批量出售 https://steamcommunity.com/market/multisell?appid=730&contextid=2&items[]=饰品名称,饰品名称可以在 Steam 市场中获得
  • 除了 需要联网 / 创意工坊 / 不存在通关 的游戏,建议先看看朋友是否能共享,以及 PGP(Xbox PC Game Pass) 里是不是有
  • 挂载盘无法作为下载文件夹直接选中,所以建议迁移或者直接选择新盘
  • 游戏入库,运行 steam://install/appid 此处 appid 为 steam 商店游戏的地址也可在 SteamDB 上查看
  • 打开控制台,运行 steam://open/console,或者快捷方式加入 -dev 或者 -console
  • 手动更新云存档,下载 https://store.steampowered.com/account/remotestorageapp/?appid={appid} 存档,替换 {steam目录}\user\{uid}\{appid} 存档,然后重启 Steam 即可
  • 家庭共享
    • 当游戏拥有者在玩库中游戏时,会倒计时五分钟告知共享者退游,若不想发生此事,应当进游戏时断网,或者让拥有者开玩前断网
    • 共享以设备为单位,更新共享状态时,要打开再关闭
    • 如果显示购买,则为退市/锁区游戏,使用 Steam跨区助手
  • Switch Pro 手柄连电脑 Home 键外有一圈蓝灯,steam 中设置并调节亮度,不亮则未设置,建议打开方便看连接 pc 情况,连 ns 时不亮
  • 限制帧率,游戏右键属性,启动选项参数加 +fps_max x,其中 x 为帧数,0 或 unlimited 时无限制

Epic

  • 移动游戏内容无法识别
    • 先下载,然后立马暂停
    • 到 ..\Epic Games\Games\{游戏}\ 目录下,把包括 .egstore 的文件夹全部删除
    • 将自己的游戏内容复制粘贴过来,重新开始下载,Epic 自会建立连接,启动校验程序
  • 在第一次交易后会锁定交易所在的区,再改就只能通过人工客服(支持中文),但官方建议大陆人民想买外区游戏创个香港新号(推荐)

Xbox/MS Store

  • 大陆玩家可以在系统中调整地址,然后重启商店,随便转区,不需要修改 IP
  • 购买外区低价游戏建议使用兑换码,直接买有很大几率会被回收

推荐软件

  • Watt Toolkit( 集加速、管理、脚本于一体的工具,原 Steam++,开源,用爱发电 )

AI

Anaconda

  • 安装 Anaconda(pycharm 的目录类似 C:\..\Pycharm),conda init,重启终端
  • 注意环境变量冲突
  • PyPi 包安装在用户目录下 pip --user

Jupyter

  • kernel 不止 python,可以说几乎所有主流语言都支持,查看 Jupyter Kernels
  • jupyter notebook 和 jupyter lab 内置在 Anaconda 中,虚拟环境的 nb_conda_kernels 也内置其中
  • 创建虚拟环境后如果没有 kernel,使用 conda install -n <venv_name> nb_conda_kernels
  • jupyter 的 lab 和 notebook,在关闭窗口后前端渲染会停止,无法看到实时效果,但实际上后端仍在继续运行,若想看到后续的输出
    • 使用 log 存入日志文件中
    • cell 首行输入 %%capture <VARIABLE NAME> 然后用 print(<VARIABLE NAME>.stdout) 输出
    • 使用浏览器的 开发者工具->网络->WS

CUDA

  • 安装 CUDA,不建议在 conda 安装,不会带头文件,编译要官网安装版
  • 下载 cudnn 后,复制进 cuda 目录
  • 以防万一,确保环境变量存在 CUDA_PATH,以及 PATH 中存在 bin、lib、libnvvb、include

Pytorch

  • 安装 Pytorch

HuggingFace

推荐阅读: HuggingFace 模型下载

# Windows Powershell
$env:HF_HUB_ENABLE_HF_TRANSFER = 1
$env:HF_ENDPOINT = "https://hf-mirror.com"
# Linux
export HF_HUB_ENABLE_HF_TRANSFER=1
export HF_ENDPOINT="https://hf-mirror.com"
# Python
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
# 镜像下载
pip install -U huggingface_hub
pip install hf_transfer
huggingface-cli download --resume-download bigscience/bloom-560m --local-dir bloom-560m
huggingface-cli download --token hf_*** --resume-download meta-llama/Llama-2-7b-hf --local-dir Llama-2-7b-hf

Lmdeploy

pip install lmdeploy

# 校准
lmdeploy lite calibrate --model-path .\internlm-chat-20b --work-dir .\internlm-chat-20b-4bit
# 量化权重
lmdeploy lite auto_awq --model-path .\internlm-chat-20b --work-dir .\internlm-chat-20b-4bit
# 转化模型格式
lmdeploy convert internlm-chat .\internlm-chat-20b-4bit --model-format awq --group-size 128 --tp 1
# 终端启动模型
lmdeploy chat turbomind .\workspace
# 前端启动模型
lmdeploy serve gradio .\workspace
# 搭建推理服务
lmdeploy serve api_server .\workspace

PyEcharts

  • Jupyter Lab 中无图渲染显示,确保安装 pyecharts-jupyter-installer,还不行则加入以下代码
    from pyecharts.globals import CurrentConfig, NotebookType
    CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
    

推荐软件

  • Anaconda( Python 集合工具,怪好用的,不过要注意区分环境,以免造成环境变量冲突 )
  • CUDA( 英伟达 GPU 计算框架,生态近乎垄断 )
  • Pytorch( AI 框架,听我一句劝,别碰 TensorFlow )
  • Lmdeploy( LM 系列模型部署,支持 CUDA 11.8 )
  • huggingface_hub + hf_transfer( HuggingFace 官方下载工具链,可达 500MB/s,下载飞快,值得信赖 )
  • gradio( 生成部署网页 )
  • Streamlit( 一键生成网页 )
  • klib( 强大的数据处理库 )

在 GitHub 上查看原文