🧀 命令匣

Ps:部分卡片左上角有个“▼”, 点它有惊喜(´▽`ʃƪ)ෆ!)

SSH远程连接+端口转发
AutodlComfyUI
ssh -L {本地端口}:127.0.0.1:{远程端口} -p {SSH端口} {用户名}@{服务器ip}

连上服务器同时把远程端口映射到本地,连完浏览器访问 localhost:{本地端口}

Linux
启动ComfyUI
ComfyUI
cd {ComfyUI目录路径} && python main.py --listen 0.0.0.0 --port {端口}

进入ComfyUI目录并启动,--listen 0.0.0.0:允许外部访问

Linux
Civitai下载资源(Autodl加速)
ComfyUI
cd {下载目标路径} && source /etc/network_turbo && wget -c "{下载直链}" -O {带后缀的文件名}

切目录开加速,断点续传。从Civitai复制直链,资源文件名记得带上后缀(如'.safetensors')

Linux
查看目录内容
文件操作
ls -la

列出当前目录所有文件,包含隐藏文件和详细信息

Linux
复制文件/文件夹
文件操作
cp -r {源路径} {目标路径}

递归复制,文件夹也整个端走

Linux
移动/重命名
文件操作
mv {旧路径} {新路径}

移动文件,可以用来重命名

Linux
删除文件
文件操作
rm -rf {路径}

强制递归删除,⚠️ 无回收站,删了就没了!!

Linux
查找文件
文件操作
find {目录} -name '{文件名}'

按名字找文件,支持通配符 * 比如 '*.png'

Linux
写入文件(heredoc)
文件操作
cat > {文件路径} << 'EOF'

回车后粘贴内容,最后单独一行输入 EOF 回车结束。适合远程撰写一大段代码

Linux
安装unzip
文件操作
apt install unzip -y

unzip是一个解压缩文件和文件夹的命令行工具

通用
安装zip
文件操作
apt install zip -y

zip是一个用于压缩文件和文件夹的命令行工具

通用
使用zip压缩文件
文件操作
cd {路径} && zip {压缩包命名}.zip *.{文件类型}

要压缩所有文件就在类型处填'all'~

通用
使用unzip解压文件到对应路径
文件操作
unzip {文件名}.zip -d {要解压到的路径}

解压文件到指定路径,只在文件所在目录解压则无需添加' -d {要解压到的路径}'

通用
列出zip文件内容
文件操作
unzip -l {文件名}.zip

不需要解压就能看喔!

通用
创建软链接(symlink)
文件操作
ln -s {源文件夹完整路径} {链接路径}

把源文件夹"映射"到链接路径,访问链接=访问源文件夹。源路径必须是完整路径,删链接用 rm 不会动源文件

Linux
从服务器下载单个文件
文件传输
scp {用户名}@{服务器ip}:{远程文件路径} {本地路径}

把服务器上的一个文件拉到本地

Linux
从服务器下载整个文件夹
文件传输
scp -r {用户名}@{服务器ip}:{远程文件夹路径} {本地路径}

-r 递归下载,整个文件夹连子目录一起拉下来

Linux
上传文件夹到服务器
文件传输
scp -r {本地文件夹路径} {用户名}@{服务器ip}:{远程目标目录}

-r 递归上传,把本地整个文件夹推到服务器。路径有空格记得用英文双引号括起来

通用
上传单个文件到服务器
文件传输
scp {本地文件路径} {用户名}@{服务器ip}:{远程目标目录}

把本地一个文件推到服务器指定目录,比如传压缩包

通用
指定端口上传到服务器
文件传输
scp -P {SSH端口} -r {本地文件夹路径} {用户名}@{服务器ip}:{远程目标目录}

SSH端口不是默认22时用大写 -P 指定(注意scp是大写P,ssh是小写p)

通用
rsync增量同步到服务器
文件传输
rsync -avz --progress {本地路径}/ {用户名}@{服务器ip}:{远程路径}/

只传有变化的文件,第一次全量之后只传改动过的部分。两边路径结尾的 / 别漏

Linux
从URL下载文件
文件传输
wget {URL}

从链接下载文件到当前目录

Linux
按进程名暴力杀
进程管理
pkill -9 -f {进程名}

找到所有包含该关键词的进程然后强制干掉

Linux
按端口暴力杀
进程管理
fuser -k {端口}/tcp

直接干掉占着某个端口的进程

Linux
测试连通性
网络
ping {域名或IP}

看看能不能连上目标地址,Ctrl+C 停止

通用
查看端口占用
进程管理
lsof -i:{端口号}

看看某个端口被哪个进程占着

Linux
查看进程
系统
ps aux | grep {关键词}

找到正在跑的某个进程

Linux
按PID杀进程
系统
kill -9 {PID}

-9 强制杀,温柔点请用 kill {PID}~

Linux
查看运行中的容器
Docker
docker ps

列出当前正在跑的所有容器

通用
查看所有容器
Docker
docker ps -a

包括已经停掉的

通用
停止容器
Docker
docker stop {容器ID}

优雅地停掉一个容器💅

通用
查看容器日志
Docker
docker logs -f {容器ID}

-f 实时跟踪输出,Ctrl+C 退出

通用
进入容器内部
Docker
docker exec -it {容器ID} /bin/bash

进去之后就像在容器里开了个终端

通用
查看磁盘空间
系统
df -h

以人类可读格式来显示磁盘占用

Linux
查看内存
系统
free -h

哦不我的内存……

Linux
创建并启用Swap
内存管理
sudo fallocate -l {大小G}G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile

一条龙:创建→权限→格式化→启用,比如填 4 就是4GB。可以用 free -h 验证结果

Linux
Swap开机自动挂载
内存管理
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

写进fstab,重启后不用再手动开swap

Linux
设置Swappiness(临时)
内存管理
sudo sysctl vm.swappiness={值}

值越小则越少用swap,推荐10。重启后失效~

Linux
设置Swappiness(永久)
内存管理
echo 'vm.swappiness={值}' | sudo tee -a /etc/sysctl.conf

写进配置文件,重启也生效

Linux
查看目录内容(Win)
文件操作
dir

列出当前目录文件,想看隐藏文件加 /a

Windows
复制文件(Win)
文件操作
copy {源文件} {目标路径}

复制单个文件,整个文件夹请用下面的 robocopy

Windows
复制文件夹(Win)
文件操作
robocopy {源文件夹} {目标文件夹} /E

/E 连空子目录一起复制,比 xcopy 更强更快也更稳

Windows
移动/重命名(Win)
文件操作
move {旧路径} {新路径}

移动文件,也能拿来改名~

Windows
删除文件(Win)
文件操作
del /f /q {路径}

/f 强制 /q 安静删,删文件夹得用下面的 rmdir

Windows
删除文件夹(Win)
文件操作
rmdir /s /q {文件夹路径}

/s 连内容一起删 /q 不问你确认,⚠️ 没回收站,删了就拜拜!

Windows
查找文件位置(Win)
文件操作
where {文件名}

在 PATH 和当前目录里找文件,类似 Linux 的 which

Windows
文本内容搜索(Win)
文件操作
findstr /s /i "{关键词}" {文件通配}

/s 递归子目录 /i 忽略大小写,相当于 Windows 版 grep

Windows
查看文件内容(Win)
文件操作
type {文件路径}

把文件内容打印到终端,类似 cat

Windows
查看进程列表(Win)
进程管理
tasklist | findstr {关键词}

列出进程并按关键词筛选,类似 ps + grep

Windows
按名字杀进程(Win)
进程管理
taskkill /im {进程名}.exe /f

/f 强制杀,比如 taskkill /im chrome.exe /f

Windows
查端口占用(Win)
进程管理
netstat -ano | findstr :{端口号}

最后一列就是 PID,记下来配合下一条干掉它

Windows
按PID杀进程(Win)
进程管理
taskkill /pid {PID} /f

拿到上一步的 PID 就能精准击杀💀

Windows
查看IP配置(Win)
网络
ipconfig /all

看本机所有网卡的 IP、网关、DNS 等详细信息

Windows
刷新DNS缓存(Win)
网络
ipconfig /flushdns

域名解析抽风、改了 hosts 不生效时来一发

Windows
DNS查询
网络
nslookup {域名}

查域名解析到哪个 IP,Win 和 Linux 都能用

通用
路由追踪(Win)
网络
tracert {域名或IP}

看数据包一路经过哪些节点(Linux 上是 traceroute)

Windows
查看系统信息(Win)
系统
systeminfo

系统版本、开机时间、内存、补丁信息全都有

Windows
定时/立即关机(Win)
系统
shutdown /s /t {秒数}

/s 关机 /t 倒计时秒数,想反悔用 shutdown /a 取消

Windows
查看环境变量(Win)
系统
echo %{变量名}%

比如 echo %PATH%,PowerShell 里则用 $env:PATH

Windows
查看GPU使用情况
系统ComfyUI
nvidia-smi

炼丹/跑 ComfyUI 必备,看显存和占用。实时刷新用 nvidia-smi -l 1

Linux
目录树状结构
文件操作
tree -L {层数}

-L 控制显示几层,没装就先 apt install tree -y

Linux
统计文件夹大小
系统
du -sh {路径}

-s 只显示总和 -h 人类可读,揪出谁在偷吃空间

Linux
修改文件权限
文件操作
chmod {权限} {文件}

比如 chmod 755 脚本,755 = 自己读写执行、别人只读执行

Linux
修改文件所有者
文件操作
chown {用户}:{用户组} {文件}

加 -R 可以递归改整个文件夹

Linux
用tar打包压缩
文件操作
tar -czvf {包名}.tar.gz {要打包的目录}

c 建立 z 用 gzip 压 v 显示过程 f 指定文件名

Linux
用tar解压
文件操作
tar -xzvf {包名}.tar.gz -C {解压路径}

x 解压,-C 指定解压到哪,不写就解到当前目录

Linux
实时监控命令输出
系统
watch -n {秒数} '{命令}'

每隔几秒重跑一次命令,比如盯着 nvidia-smi 看显存

Linux
实时查看进程(交互)
进程管理
htop

比 top 好看又好用,没装就 apt install htop -y

Linux
递归搜索文本
文件操作
grep -rn '{关键词}' {目录}

-r 递归 -n 显示行号,在一堆代码里翻东西

Linux
实时查看日志
系统
tail -f {日志文件}

-f 实时追踪新增内容,看训练/服务日志超好用

Linux
后台运行不挂断
进程管理
nohup {命令} > {日志文件} 2>&1 &

关掉终端也不会停,输出都存进日志文件

Linux
创建虚拟环境
Python环境
python -m venv {环境名}

在当前目录建一个独立的 Python 环境

通用
激活虚拟环境(Linux)
Python环境
source {环境名}/bin/activate

激活后命令行最前面会冒出环境名

Linux
激活虚拟环境(Win)
Python环境
{环境名}\Scripts\activate

PowerShell 报错的话先 Set-ExecutionPolicy RemoteSigned

Windows
退出虚拟环境
Python环境
deactivate

用完关掉,干净利落~

通用
批量安装依赖
Python环境
pip install -r requirements.txt

按清单一次性装齐所有依赖

通用
导出依赖清单
Python环境
pip freeze > requirements.txt

把当前环境的包列表存下来,方便换地方复现

通用
pip换国内镜像
Python环境
pip install {包名} -i https://pypi.tuna.tsinghua.edu.cn/simple

清华源,下载嗖嗖快(梯子拉不动时神器)

通用
克隆仓库
Git
git clone {仓库地址}

把远程仓库整个拉到本地,加 --depth 1 只拉最新版更快

通用
查看状态
Git
git status

看看改了啥、有没有还没提交的东西

通用
简洁版提交历史
Git
git log --oneline --graph

一行一条 commit 还带分支图,比默认 log 清爽多啦

通用
暂存当前改动
Git
git stash

改到一半想切分支?先 stash 藏起来,回来用 git stash pop 拿回

通用
撤销本地改动
Git
git checkout -- {文件}

把还没提交的改动还原,⚠️ 改的内容会丢哦

通用
强制拉取远程覆盖本地
Git
git fetch --all && git reset --hard origin/{分支名}

⚠️ 本地改动全扔!完全和远程同步,解决冲突神器

通用
查看某文件修改历史
Git
git log -p {文件路径}

-p 显示每次提交的具体改动,找 bug 来源必备

通用
合并多个commit
Git
git rebase -i HEAD~{数量}

交互式压缩 commit,把 pick 改成 squash 合并,保持历史整洁

通用
批量替换文本(Linux)
文本处理
sed -i 's/{旧文本}/{新文本}/g' {文件}

-i 直接改文件 g 全局替换,正则也行

Linux
统计文件行数/词数
文本处理
wc -l {文件}

-l 行数 -w 词数 -c 字节数,可以一次统计多个文件

Linux
查看文件前N行
文本处理
head -n {行数} {文件}

比如 head -n 20 看前 20 行

Linux
查看文件后N行
文本处理
tail -n {行数} {文件}

看文件结尾,配合 -f 可以实时追踪

Linux
按列提取内容
文本处理
cut -d'{分隔符}' -f{列号} {文件}

比如 cut -d',' -f2 提取 CSV 第 2 列

Linux
文本排序去重
文本处理
sort {文件} | uniq

sort 排序,uniq 去掉连续重复行。加 -c 统计重复次数

Linux
计算文件MD5
文本处理
md5sum {文件}

生成文件指纹,校验下载是否完整(Windows 用 certutil -hashfile {文件} MD5)

Linux
初始化npm项目
Node.js
npm init -y

-y 跳过所有问题直接生成 package.json

通用
安装依赖(精确版本)
Node.js
npm install {包名}@{版本号} --save-exact

--save-exact 锁定精确版本,避免自动升级翻车

通用
全局安装包
Node.js
npm install -g {包名}

-g 全局装,装完可以在任意目录直接用命令

通用
查看全局安装的包
Node.js
npm list -g --depth=0

--depth=0 只看顶层不展开依赖树

通用
清理npm缓存
Node.js
npm cache clean --force

安装出问题、包损坏时清一波缓存试试

通用
检查过期依赖
Node.js
npm outdated

看哪些包有新版本,Current 是当前版,Wanted 是可升级的版本

通用
批量更新依赖
Node.js
npm update

按 package.json 的版本范围更新所有依赖

通用
运行npm脚本
Node.js
npm run {脚本名}

执行 package.json 里 scripts 定义的命令

通用
切换到root
系统
sudo su

进入 root 模式,慎用!退出用 exit

Linux
查看当前用户
系统
whoami

看看我是谁(字面意思XD)

Linux
添加新用户
系统
sudo adduser {用户名}

创建新用户,会提示设置密码

Linux
给用户sudo权限
系统
sudo usermod -aG sudo {用户名}

把用户加入 sudo 组,让 ta 能用 sudo 命令

Linux
查看端口监听情况
网络
netstat -tuln

-t TCP -u UDP -l 监听中 -n 数字显示端口,看哪些端口开着

Linux
curl测试API
网络开发调试
curl -X {方法} {URL} -H 'Content-Type: application/json' -d '{数据}'

发 HTTP 请求,-X 指定方法(GET/POST/…),-d 传 body

通用
curl只看响应头
网络开发调试
curl -I {URL}

-I 只返回 HTTP 头,看状态码和 header 信息

通用
curl跟随重定向
网络开发调试
curl -L {URL}

-L 自动跟随 301/302 跳转,拿到最终页面

通用
JSON格式化(jq)
开发调试
echo '{JSON字符串}' | jq .

美化 JSON 输出,没装就 apt install jq 或 brew install jq

通用
查看环境变量
系统
printenv

打印所有环境变量,或者 printenv {变量名} 看单个

Linux
临时设置环境变量
系统
export {变量名}={值}

当前终端会话生效,关掉就没了

Linux
查看命令历史(Win)
系统
Get-History

PowerShell 里看之前敲过的命令,配合 Invoke-History 可以重跑

Windows
递归搜索文件内容(Win)
文件操作
Select-String -Path {路径\*.txt} -Pattern '{关键词}'

PowerShell 版 grep,支持通配符和正则

Windows
解压zip(Win)
文件操作
Expand-Archive -Path {文件.zip} -DestinationPath {目标路径}

PowerShell 原生解压,不用装 7-Zip

Windows
压缩成zip(Win)
文件操作
Compress-Archive -Path {源路径} -DestinationPath {目标.zip}

PowerShell 原生打包

Windows
修改执行策略(Win)
系统
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

允许运行本地脚本,激活虚拟环境报错时必备

Windows
实时查看磁盘IO
系统
iostat -x 1

每秒刷新显示磁盘读写,%util 接近 100 说明 IO 瓶颈了

Linux
查看CPU核心数
系统
nproc

返回可用 CPU 核心数,跑并行任务时参考

Linux
查看系统负载
系统
uptime

看系统运行时间和平均负载,三个数字分别是 1/5/15 分钟平均

Linux