小技巧
装机软件
推荐软件默认是 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,影响传输量)
解决方案:
-
只有集显,或者不想用独显,打开实验功能,
Choose ANGLE graphics backend
选择D3D9
-
建议独显能扛就选独显,打开
Windows
的设置
,选定屏幕-显示卡-浏览-Chrome.exe-GPU
,勉强扛在浏览器中加选OpenGL
模式 -
集显独显都扛不住的关闭
浏览器设置-系统-硬件加速
,可以解决,但部分视频之类需要编解码的网页会变慢 -
若是
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
进程管理
- 手机退出
微信
而保持电脑端,使用飞行模式
下线(可能需要转一分钟)
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 找
- 添加右键打开文件
- 在注册表
HKEY_CLASSES_ROOT\*\shell
下新建{软件名}
项,在右侧窗口的默认
双击,在数据里输入右键显示内容用VSCode打开
。 - 在
{软件名}
下再新建Command
项,在右侧默认
键值栏内输入程序路径"C:\..\*.exe" "%1"
。其中的%1
表示要打开的文件参数。 - 配置图标,在
{软件名}
项新建可扩充字符串值,命名为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
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
"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
-
- 在
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
,不确定,再看看) - 目录变更
- 删除
- 删除子模块仓库目录
- 删除
.gitmodules
中相关条目 - 删除
.git/config
中相关条目 - 删除
.git/module/*
中子模块目录
- 同步
- 检查文件缺失
git fsck
- 补丁文件
git apply
两种补丁文件format-patch
diff
皆可git am
只能用于format-patch
去中心化
局域网内 gitgit 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连按
-
目录映射
设置-部署 -
多光标
滚轮长按拖动 -
破解方法:
- 进入 JETBRA.IN CHECKER,选择可行的网址下载置顶的
jetbra.zip
,并在下方复制想要激活软件的许可证 - 在
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
- 进入软件,输入激活码即可(不生效使用则进
scripts
安装install-current-user.vbs
后重试)
- 进入 JETBRA.IN CHECKER,选择可行的网址下载置顶的
推荐插件
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 Kernelsjupyter 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
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
( 强大的数据处理库 )