小技巧
装机软件
推荐软件默认是 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 -efaux 详情-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端口走SSHHost 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( 网络界瑞士军刀,-Uuds )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-patchdiff皆可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( 强大的数据处理库 )