The Commands I Always Forget

READ THE
FUCKING
MANUAL

    🧠 这是我的 Linux 在线备忘录,是我的在线大脑。
    Windows 10 的扩展支持将于 2026 年 10 月 13 日结束。
    微软希望你购买一台新电脑,但如果能让你的老电脑再次快速而安全呢?甚至完全免费! 👉 访问 End of 10 计划
    建议用 Ubuntu,开箱即用;别急着用 Debian,新手用 Debian 如同吃大便💩
    🚀这只我的在线备忘录,别搞。不过!来都来了,你也能用

    📦 公告栏

    🏷️ 网站搞乱了,明天睡醒再搞

    凑活用呗

    📦 System

    🏷️ ⌨️ Ubuntu 安装中文输入法

    • 基础环境安装
      • sudo apt update:更新软件源
      • sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-qt6 -y:安装 Fcitx5 核心及插件
    • 配置环境变量
      • 编辑 ~/.pam_environment 或在脚本中指定环境变量:
      • GTK_IM_MODULE=fcitx:指定 GTK 框架输入法
      • QT_IM_MODULE=fcitx:指定 Qt 框架输入法
      • XMODIFIERS=@im=fcitx:指定 X11 窗口输入法
    • 系统设置与启动
      • im-config -n fcitx5:强制将系统输入法框架切换为 Fcitx5
      • cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/:设置开机自启
      • fcitx5-configtool:打开图形化配置界面(添加 Pinyin 拼音)
    • 常用操作
      • Ctrl + Space:切换输入法开关
      • Shift:中英文快速切换
      • killall fcitx5 && fcitx5 &:输入法卡死时强制重启

    🏷️ ⌨️ 终端快捷键

    • 光标移动
      • Ctrl + A:跳到行首
      • Ctrl + E:跳到行尾
      • Ctrl + XX:在光标当前位置和行首之间来回跳转
      • Alt + F:向前跳一个单词
      • Alt + B:向后跳一个单词
    • 编辑与删除
      • Ctrl + K:剪切(删除)从光标处到行尾的内容
      • Ctrl + U:剪切(删除)从光标处到行首的内容
      • Ctrl + W:剪切(删除)光标前的一个单词
      • Ctrl + Y:粘贴刚才用 K/U/W 剪切的内容
      • Ctrl + L:清屏 (相当于 clear 命令)
    • 历史与控制
      • Ctrl + R:搜索历史命令 (输入关键字自动匹配)
      • Ctrl + C:强制终止当前正在运行的命令
      • Ctrl + Z:将当前任务挂起放入后台 (用 fg 恢复)
      • Ctrl + D:退出终端 (相当于 exit)
      • !!:执行上一条命令 (常用于 sudo !!)

    🏷️ 🏃 程序运行与后台保活

    • 基础运行
      • ./<文件名>:运行当前目录程序 (需先 chmod +x)
      • bash <脚本.sh>:运行 Shell 脚本
      • python3 <脚本.py>:运行 Python 脚本
    • 后台与保活
      • nohup ./<程序> > log.txt 2>&1 &:后台运行并重定向日志
      • jobs -l:查看当前终端的后台任务
      • fg %<任务号>:将任务调回前台
      • bg %<任务号>:让挂起的任务在后台继续运行

    🏷️ 💀 进程管理 (Top/Htop)

    • 查看进程
      • ps -ef:查看所有进程 (标准格式)
      • ps aux:查看所有进程 (详细/资源占用)
      • ps -ef | grep <进程名>:查找特定名称的进程
    • 交互式工具
      • top:基础任务管理器 (按 1 展开 CPU,按 M 内存排序,按 P CPU 排序)
      • htop:进阶任务管理器 (按 F5 树状图,按 F9 杀死进程)
    • 结束进程
      • kill <PID>:正常杀死进程
      • kill -9 <PID>:强制强制杀死进程
      • killall <进程名>:按名称杀死所有匹配进程
      • pkill -f <关键词>:模糊匹配并杀死进程

    🏷️ 🌐 网络与代理 (Net)

    • 查看信息
      • ip addr:查看网卡与内网 IP (找 inet)
      • hostname -I:快速查看内网 IP
      • curl ip.sbcurl ifconfig.me:查看公网 IP
      • ifconfig:查看所有网卡 (需安装 net-tools)
    • 连接测试
      • netstat -tunlpss -tunlp:查看端口占用情况
      • ping <IP或域名>:测试连通性
      • mtr <IP或域名>:动态路由追踪测试
      • nslookup <域名>:查询 DNS 解析
    • 文件下载与请求
      • wget -c <链接>:断点续传下载
      • curl -v <链接>:测试网页请求并显示详细头信息
    • 终端代理
      • export all_proxy=http://127.0.0.1:7890:设置临时代理
      • unset all_proxy:取消终端代理
      • cat /etc/resolv.conf:查看 DNS 配置文件

    🏷️ 📡 进阶网络排查与路由 (Net Tools)

    • 故障排查
      • nc -vz <IP地址> <端口号>:探测目标端口是否开放 (极度推荐)
      • ip route show:查看本机路由表 (排查流量走向)
      • traceroute <IP或域名>:传统路由追踪
      • sudo tcpdump -i <网卡名> port <端口号>:实时抓取指定端口的数据包

    🏷️ 🔐 远程登录与传输 (SSH/SCP)

    • SSH 连接
      • ssh <用户名>@<IP地址>:基础登录
      • ssh -p <端口号> <用户名>@<IP地址>:指定端口登录
    • 密钥管理
      • ssh-keygen -t rsa -b 4096:生成 SSH 密钥对
      • ssh-copy-id -p <端口号> <用户名>@<IP地址>:将公钥推送到服务器实现免密
    • 文件拷贝
      • scp -P <端口> <本地文件> <用户名>@<IP>:<远程路径>:本地传服务器
      • scp -P <端口> <用户名>@<IP>:<远程路径> <本地保存路径>:从服务器拉取
      • scp -P <端口> -r <本地目录> <用户名>@<IP>:<远程路径>:拷贝整个目录
      • rsync -avzP -e 'ssh -p <端口>' <本地目录>/ <用户名>@<IP>:<远程路径>:Rsync 增量同步

    🏷️ 🔄 交互式文件传输 (SFTP)

    • 会话连接
      • sftp -P <端口> <用户>@<IP>:登录远程服务器 (大写 P)
    • 常用交互命令
      • get <远程路径>:下载到本地
      • put <本地路径>:上传到服务器
      • ls / pwd:查看远程目录信息
      • lls / lpwd:查看本地目录信息
      • exit:退出会话

    🏷️ 📂 文件操作 (File)

    • 目录浏览
      • ls -lah:详细列表显示 (含隐藏文件)
      • pwd:显示当前完整路径
      • cd <路径>:切换目录 (cd - 回上次 | cd ~ 回家)
    • 创建与删除
      • mkdir -p /a/b/c:递归创建多级目录
      • touch <文件名>:创建空文件或更新时间戳
      • ln -s <源文件> <快捷方式>:创建软链接
      • rm <文件>:删除文件
      • rm -rf <目录>:强制递归删除目录 (⚠️ 慎用)
    • 复制与移动
      • cp <源> <目标>:复制文件
      • cp -r <源> <目标>:复制整个目录
      • mv <旧> <新>:移动文件或重命名
    • 查找与搜索
      • find / -name "<文件名>":全盘查找文件
      • find / -type f -size +500M:查找大于 500M 的文件
      • grep -r "<关键词>" .:在当前目录下递归搜索文本内容
    • 读取内容
      • cat <文件>:查看全部内容
      • tail -f -n 100 <日志>:动态查看日志最后 100 行

    🏷️ 📦 软件管理 (APT / Snap)

    • 系统更新
      • sudo apt update && sudo apt upgrade -y:更新源并升级
    • 软件包操作
      • apt search <关键词>:搜索软件
      • sudo apt install <软件名> -y:一键安装
      • sudo apt reinstall <软件名>:重新安装
      • sudo apt remove <软件名>:卸载软件
      • sudo apt autoremove -y:自动清理垃圾依赖
    • 底层管理
      • sudo dpkg -i <文件.deb>:安装本地 deb 包
      • sudo apt --fix-broken install:修复依赖报错
      • sudo snap install <软件名>:使用 Snap 安装

    🏷️ 📝 文本编辑 (Nano & Vim)

    • Nano (新手友好)
      • nano <文件>:开始编辑
      • Ctrl + O (Enter):保存内容
      • Ctrl + X:退出编辑器
    • Vim (专业进阶)
      • vim <文件>:进入 Vim
      • i:进入插入/编辑模式
      • Esc:返回命令模式
      • :wq:保存并退出
      • :q!:强制退出不保存
      • /<关键词>:搜索关键字 (n 跳下一个)

    🏷️ 💾 硬件、磁盘与系统 (System)

    • 电源控制
      • reboot:立即重启
      • poweroff:立即关机
    • 存储检查
      • df -h:查看磁盘空间占用 (人类可读)
      • du -sh *:查看当前目录下各文件占用大小
      • du -sh * | sort -rh | head -n 10:查找占用前 10 大的文件
      • lsblk:查看硬盘分区信息
    • 系统资源
      • free -h:查看内存使用情况
      • lscpu:查看 CPU 核心及架构信息
      • uname -r:查看系统内核版本

    🏷️ 🛡️ 防火墙 (UFW)

    • 状态管理
      • sudo ufw status numbered:按编号查看规则状态
      • sudo ufw enable:开启防火墙
      • sudo ufw disable:关闭防火墙
    • 规则配置
      • sudo ufw allow 80/tcp:允许 80 端口流量
      • sudo ufw deny 80:禁止 80 端口流量
      • sudo ufw delete <编号>:根据编号删除特定规则

    🏷️ ⚙️ 服务管理 (Systemd)

    • 核心操作
      • systemctl status <服务>:查看运行状态
      • systemctl start <服务>:启动
      • systemctl stop <服务>:停止
      • systemctl restart <服务>:重启
    • 自启管理
      • systemctl enable <服务>:开启开机自启
      • systemctl disable <服务>:禁止开机自启
    • 日志追踪
      • journalctl -u <服务> -f:查看特定服务的实时日志

    🏷️ 👤 用户与权限 (User)

    • 身份切换
      • sudo -i:切换至 Root 身份
      • whoami:确认当前用户名
    • 权限管理
      • passwd:修改当前用户密码
      • chmod +x <文件>:赋予文件执行权限
      • chown <用户>:<组> <文件>:修改文件所属权
      • chmod -R 755 <目录>:递归修改目录权限

    🏷️ 🇨🇳 中文环境配置

    • 语言包
      • sudo apt install language-pack-zh-hans:安装中文语言包
      • sudo dpkg-reconfigure locales:配置系统区域设置 (选 zh_CN.UTF-8)
    • 输入法框架
      • sudo apt install fcitx5 fcitx5-chinese-addons:安装 Fcitx5 基础组件
      • im-config:弹出界面选择 fcitx5 作为默认输入法框架

    📦 Tools

    🏷️ 🐬 MySQL / MariaDB (数据库)

    • 🚀 服务管理 (Service Management)

      • sudo systemctl start mariadb:启动 MariaDB 服务
      • sudo systemctl stop mariadb:停止服务
      • sudo systemctl enable mariadb:设置开机自启
      • sudo mysql_secure_installation:初次安装后的安全初始化向导 (设置 Root/超级管理员 密码,移除匿名用户等)
    • 🔌 基础连接与退出 (Connection & Exit)

      • mysql -u root -p:使用密码登录本地数据库
      • mysql -u root -p -h <IP地址> -P <端口>:远程连接数据库 (IP: Internet Protocol/互联网协议)
      • exit;\q:退出数据库控制台
    • 👤 用户与权限 (Users & Privileges)

      • CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';:创建仅限本地登录的用户
      • CREATE USER '用户名'@'%' IDENTIFIED BY '密码';:创建允许任何 IP 登录的远程用户
      • GRANT ALL PRIVILEGES ON <库名>.* TO '用户名'@'%';:授予某用户对指定数据库的所有权限
      • FLUSH PRIVILEGES;:刷新权限表,使授权立即生效
      • ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';:修改用户密码
      • DROP USER '用户名'@'localhost';:删除指定用户
    • 🗄️ 数据库与表结构 (Databases & Schema)

      • SHOW DATABASES;:列出所有数据库
      • CREATE DATABASE <库名> DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;:创建数据库 (强烈推荐使用 utf8mb4 字符集,以完美支持 Emoji/表情符号)
      • DROP DATABASE <库名>;:删除整个数据库 (⚠️ 高危操作)
      • USE <库名>;:切换/进入目标数据库
      • SHOW TABLES;:列出当前库中的所有表
      • DESCRIBE <表名>;:查看指定表的字段结构 (Schema/数据表结构)
      • ALTER TABLE <表名> ADD <新字段名> VARCHAR(255);:向现有表中增加一个字符串字段
    • 📝 数据操作 (CRUD: Create, Read, Update, Delete/增删改查)

      • SELECT * FROM <表名> LIMIT 10;:查询表中的前 10 条数据
      • SELECT * FROM <表名> WHERE <字段> = '关键字';:按条件精确查询数据
      • INSERT INTO <表名> (字段1, 字段2) VALUES ('值1', '值2');:向表中插入新数据
      • UPDATE <表名> SET 字段1='新值' WHERE id=1;:更新指定条件的数据 (ID: Identifier/标识符)
      • DELETE FROM <表名> WHERE id=1;:删除指定条件的数据 (⚠️ 务必带 WHERE 条件,否则清空全表)
    • 💾 备份与恢复 (Backup & Restore)

      • mysqldump -u root -p <库名> > backup.sql:导出指定数据库的结构和数据 (SQL: Structured Query Language/结构化查询语言)
      • mysqldump -u root -p --all-databases > all_backup.sql:导出服务器上所有的数据库
      • mysql -u root -p <库名> < backup.sql:将 SQL 备份文件导入到指定数据库中 (注意箭头方向,需提前建好空库)
    • 🔍 诊断与进阶 (Diagnostics & Advanced)

      • SHOW PROCESSLIST;:查看当前正在运行的所有连接和查询线程 (用于排查数据库卡死情况)
      • KILL <进程ID>;:强行结束某个卡死的查询或死锁连接 (ID 来自上一步列表第一列)
      • SHOW VARIABLES LIKE 'max_connections';:查看数据库的最大并发连接数限制
      • SHOW STATUS LIKE 'Threads_connected';:查看当前已连接的活跃客户端数量

    🏷️ 🌐 Web 反向代理 (Nginx)

    • 🚀 基础服务控制 (Basic Service Control)

      • sudo systemctl start nginx:启动 Nginx 服务
      • sudo systemctl stop nginx:停止服务 (Stop the service)
      • sudo systemctl restart nginx:强制重启服务 (Force restart the service)
      • sudo systemctl enable nginx:设置开机自启 (Enable start on boot)
      • sudo nginx -s quit:优雅停止 (Graceful shutdown),等待工作进程处理完当前请求后再退出
    • ⚙️ 配置维护 (Configuration Maintenance)

      • sudo nginx -t:检查配置语法是否有误
      • sudo nginx -T:测试语法并打印最终解析出的完整配置内容
      • sudo nginx -s reload:平滑重载配置 (Graceful reload, 不断开连接)
    • 📊 日志监控 (Log Monitoring)

      • tail -f /var/log/nginx/access.log:动态跟踪访客访问日志 (Access log)
      • tail -f /var/log/nginx/error.log:动态跟踪错误日志 (Error log)
      • awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr:统计访问量最高的 IP (Internet Protocol - 网际协议) 地址
      • grep "404" /var/log/nginx/access.log:筛选特定 HTTP (HyperText Transfer Protocol - 超文本传输协议) 状态码的日志信息
    • 🌐 全局与工作进程语法 (Global & Worker Syntax)

      • user www-data;:指定运行 Nginx 工作进程的用户和用户组
      • worker_processes auto;:设置工作进程数量,自动识别 CPU (Central Processing Unit - 中央处理器) 核心数
      • worker_connections 1024;:设置每个工作进程允许的最大并发连接数,需配置在 events 块中
    • 📦 HTTP 核心配置语法 (HTTP Core Syntax)

      • include mime.types;:引入支持的文件 MIME (Multipurpose Internet Mail Extensions - 多用途互联网邮件扩展类型) 列表
      • default_type application/octet-stream;:设置未匹配文件类型的默认行为,通常为二进制文件下载流
      • sendfile on;:开启高效文件传输模式,数据直接在内核空间传递
      • keepalive_timeout 65;:设置长连接超时时间 (Keepalive timeout),单位为秒
    • 💻 Server 虚拟主机语法 (Server Block Syntax)

      • listen 80;:配置监听端口
      • listen 443 ssl;:配置 HTTPS (HyperText Transfer Protocol Secure - 安全超文本传输协议) 的加密监听端口
      • server_name example.com;:配置绑定的域名 (Domain name)
      • return 301 https://$host$request_uri;:配置 301 永久重定向 (Permanent redirect),常用于 HTTP 强制跳转 HTTPS
    • 📍 Location 路由匹配语法 (Location Block Syntax)

      • location / { ... }:通用前缀匹配,处理该路径下的所有默认请求
      • location = /api { ... }:精确匹配,仅当请求路径完全一致时生效,优先级最高
      • location ~ \.php$ { ... }:正则表达式匹配 (Regular expression match),区分大小写
      • root /var/www/html;:指定网站站点的物理根目录 (Document root)
      • alias /var/www/static/;:指定虚拟目录路径,会直接替换掉 location 匹配到的 URI 路径
      • index index.html index.htm;:指定默认首页文件
      • proxy_pass http://127.0.0.1:8080;:配置反向代理 (Reverse proxy),将请求转发至后端服务
      • try_files $uri $uri/ /index.html;:按顺序检查文件是否存在,常用于前端 SPA (Single Page Application - 单页应用) 的路由降级

    🏷️ 📡 Nmap (网络端口扫描)

    • 🚀 快速开始 (Quick Start)

      • nmap <目标IP>:基础扫描,扫描目标最常用的 1000 个 TCP (Transmission Control Protocol/传输控制协议) 端口
      • nmap -A <目标IP>:激进扫描 (Aggressive scan),同时启用操作系统探测、版本探测、脚本扫描和跟踪路由
      • nmap -sn <目标IP/网段>:仅进行主机发现 (Ping Scan),不扫描端口。常用于快速确认内网存活主机
    • 🎯 扫描目标指定 (Target Specification)

      • nmap 192.168.1.1 192.168.1.2:扫描多个离散的 IP 地址
      • nmap 192.168.1.1-100:扫描一个范围内的 IP 地址
      • nmap 192.168.1.0/24:使用 CIDR (Classless Inter-Domain Routing/无类别域间路由) 格式扫描整个子网
      • nmap -iL list.txt:从文本文件中读取目标列表进行扫描
    • 🔍 主机发现 (Host Discovery)

      • nmap -Pn <目标>:跳过主机发现 (No Ping),将所有目标视为在线。用于规避防火墙禁 Ping 策略
      • nmap -PS <目标>:利用 TCP SYN (Synchronize/同步序号) 数据包进行探测
      • nmap -PA <目标>:利用 TCP ACK (Acknowledgment/确认序号) 数据包进行探测
      • nmap -PU <目标>:利用 UDP (User Datagram Protocol/用户数据报协议) 数据包进行探测
    • 🛡️ 端口扫描技术 (Port Scanning Techniques)

      • nmap -sS <目标>:TCP SYN 扫描 (Stealth Scan),半开放扫描,速度快且隐蔽性较好
      • nmap -sT <目标>:TCP Connect 扫描,完成三次握手过程,易被系统日志记录
      • nmap -sU <目标>:UDP 端口扫描,用于探测 DNS、DHCP、SNMP 等服务
      • nmap -sN / -sF / -sX <目标>:隐蔽扫描 (NULL/FIN/Xmas Scan),通过设置不同的 TCP 标志位探测防火墙规则
    • 🔢 端口指定与扫描顺序 (Port Selection & Order)

      • nmap -p 80,443 <目标>:仅扫描指定的端口
      • nmap -p 1-65535 <目标>:扫描全量端口 (65535 个)
      • nmap -p http,https <目标>:按服务名称扫描端口
      • nmap -F <目标>:快速扫描模式 (Fast Scan),仅扫描最常用的 100 个端口
      • nmap -r <目标>:按顺序扫描端口,而非随机打乱顺序
    • 🔎 服务与版本探测 (Service/Version Detection)

      • nmap -sV <目标>:探测开放端口上运行的服务版本 (Service Version) 信息
      • nmap -sV --version-intensity 5 <目标>:设置版本探测强度 (0-9),强度越高探测越精准但速度越慢
    • 💻 操作系统探测 (OS Detection)

      • nmap -O <目标>:通过 TCP/IP 指纹识别目标的操作系统 (Operating System) 版本
      • nmap -O --osscan-guess <目标>:当指纹不完全匹配时,尝试猜测最接近的系统版本
    • ⚡ 性能与定时 (Performance & Timing)

      • nmap -T<0-5> <目标>:设置扫描的时序模板 (Timing Template)。T0 最慢用于绕过 IDS,T4 适用于快速扫描,T5 极快但可能导致网络丢包
      • nmap --max-retries <次数>:限制数据包重试次数
      • nmap --min-rate <数量>:设置每秒发送数据包的最小速率,强制加速扫描
    • 📄 输出格式 (Output Formats)

      • nmap -oN output.txt <目标>:标准输出 (Normal Output),保存为文本文档
      • nmap -oX output.xml <目标>:XML 格式输出,方便后续程序处理或转换为 HTML
      • nmap -oG output.gnmap <目标>:Grepable 格式输出,方便使用 grepawk 提取数据
    • 🤖 Nmap 脚本引擎 (NSE - Nmap Scripting Engine)

      • nmap --script=default <目标>:运行默认的安全脚本集
      • nmap --script=vuln <目标>:检查目标是否存在已知的漏洞 (Vulnerabilities)
      • nmap --script=brute <目标>:对常见服务进行弱口令暴力破解 (Brute-force)
      • nmap --script=http-title <目标>:抓取并显示 HTTP 服务的网页标题

    🏷️ 🐳 Docker 容器管理

    • 🚀 会话管理 (Session Management)

      • tmux:直接启动一个无名会话 (Session)
      • tmux new -s <名称>:创建一个指定名称的新会话 (New named session)
      • tmux ls:列出当前所有的会话 (List sessions)
      • tmux a -t <名称>:接入/连接到指定的会话 (Attach to session)
      • tmux kill-session -t <名称>:彻底删除/关闭指定会话 (Kill session)
    • ⌨️ 核心前缀键 (Prefix Key)

      • Ctrl+b:所有快捷键操作前必须先按下的组合键 (默认前缀键)
    • 🪟 窗口管理 (Window Management - Prefix 后操作)

      • c:创建一个新窗口 (Create window)
      • w:通过交互式列表查看并切换窗口 (Windows list)
      • ,:重命名当前窗口 (Rename window)
      • n / p:切换到下一个 (Next) 或上一个 (Previous) 窗口
      • &:关闭当前窗口 (Kill window)
    • 🧱 窗格管理 (Pane Management - Prefix 后操作)

      • %:左右垂直平分当前窗格 (Vertical Split)
      • ":上下水平平分当前窗格 (Horizontal Split)
      • o:循环切换到下一个窗格 (Switch pane)
      • x:关闭当前所在的窗格 (Kill pane)
      • z:全屏/取消全屏当前窗格 (Zoom pane - 临时最大化)
      • q:显示每个窗格的编号,输入数字即可快速跳转 (Show pane numbers)
      • space:在预设的几种排版布局之间切换 (Switch layouts)
    • 🔄 状态脱离与恢复 (Detach & Reattach)

      • d:暂时脱离会话,让任务在后台运行 (Detach session)
      • Ctrl+b d:最常用的脱离操作,不会影响脚本的持续运行
    • 📜 滚动与复制模式 (Copy Mode)

      • [:进入复制模式 (Copy mode),可以使用方向键滚动查看历史日志
      • q:在复制模式下退出并返回实时终端状态
    • ⚙️ 系统维护 (System Maintenance)

      • ::进入 Tmux 命令模式 (Command mode)
      • tmux source-file ~/.tmux.conf:手动重载用户自定义的配置文件 (Reload configuration)

    🏷️ 🐳 Docker Compose (多容器编排)

    • 生命周期管理
      • docker-compose up -d:后台启动所有服务
      • docker-compose down:停止并删除容器、网络
    • 维护操作
      • docker-compose ps:查看编排服务状态
      • docker-compose logs -f:追踪所有服务实时日志
      • docker-compose pull && docker-compose up -d --build:拉取最新镜像并重建启动

    🏷️ 🖥️ 终端复用 (Tmux & Screen)

    • Tmux
      • tmux:新建/进入 Tmux 会话
      • Ctrl+B 然后按 d:分离 (挂起) 会话
      • tmux attach:恢复最近的会话
    • Screen
      • screen -S <会话名>:新建指定名称会话
      • Ctrl+A 然后按 D:后台挂起会话
      • screen -r <会话名>:恢复指定会话
      • screen -ls:列出所有会话

    🏷️ 🐙 Git 版本控制

    • 基础操作
      • git clone <链接>:克隆远程仓库
      • git pull:拉取并合并代码
      • git status:查看更改状态
    • 提交与推送
      • git add .:添加所有改动到暂存区
      • git commit -m "描述":提交更改
      • git push:推送到远程仓库
      • git log:查看历史提交日志

    🏷️ 🔄 数据同步 (Rsync & Syncthing)

    • Rsync 命令行同步
      • rsync -avzP -e 'ssh -p <端口>' <本地目录>/ <用户>@<IP>:<远程路径>:远程增量同步
    • Syncthing
      • 跨平台多设备实时双向/单向文件夹同步工具 (提供 Web GUI 管理界面)

    🏷️ 📝 静态网站构建 (Docsify)

    • docsify init ./docs:在指定目录初始化项目
    • docsify serve ./docs:启动本地实时预览服务器

    🏷️ 🔒 Certbot (HTTPS 证书管理)

    • sudo certbot --nginx:申请并自动配置 Nginx 证书
    • sudo certbot certonly --standalone -d <域名>:仅申请单域名证书 (不改配置)
    • sudo certbot renew --dry-run:测试自动续签流程
    • sudo certbot certificates:查看当前已安装的证书列表

    🏷️ 🛡️ Fail2ban (防暴力破解)

    • sudo systemctl status fail2ban:查看服务整体运行状态
    • sudo fail2ban-client status sshd:查看 SSH 拦截监狱详情
    • sudo fail2ban-client set sshd unbanip <IP>:手动解封被误封的 IP
    • sudo fail2ban-client reload:重载防御规则配置

    🏷️ ☕ Java 服务端运行管理

    • java -Xms1024M -Xmx4096M -jar <包.jar> nogui:分配指定内存运行 Jar (1G-4G)
    • screen -dmS <名> java -Xmx2048M -jar <包.jar>:结合 Screen 以后台模式持久运行

    🏷️ ⏱️ Crontab (定时自动化任务)

    • 管理命令
      • crontab -e:编辑当前用户的定时任务
      • crontab -l:查看当前已设置的定时任务
    • 常用格式参考
      • 0 4 * * * <命令>:每天凌晨 4 点执行
      • */5 * * * * <命令>:每 5 分钟执行一次
      • 0 2 * * 1 <命令>:每周一凌晨 2 点执行

    🏷️ 🐘 PostgreSQL (数据库)

    • 控制台操作
      • sudo -i -u postgres:切换到 postgres 用户
      • psql:进入控制台 (\l 列表, \c 切换, \dt 表, \q 退出)
    • 备份与维护
      • pg_dump <库名> > backup.sql:备份数据库
      • psql <库名> < backup.sql:恢复数据库
      • \password <用户名>:在控制台中修改密码

    🏷️ 🐍 Python 环境 (Venv & Pip)

    • python3 -m venv venv:创建虚拟环境
    • source venv/bin/activate:激活环境 (退出执行 deactivate)
    • pip install <包名>:安装依赖
    • pip freeze > requirements.txt:导出依赖列表
    • pip install -r requirements.txt:批量安装依赖
    • pip install <包名> -i https://pypi.tuna.tsinghua.edu.cn/simple:使用清华源安装

    🏷️ 🐹 Go 语言 (Golang)

    • go mod init <模块名>:初始化模块
    • go mod tidy:自动整理并下载依赖
    • go run main.go:直接运行程序
    • go build -o <文件名>:编译为二进制文件
    • CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build:交叉编译 Linux 运行包

    🏷️ ⚡ Node.js & PM2 (进程守护)

    • PM2 管理
      • pm2 start app.js --name "名":启动并命名应用
      • pm2 list / pm2 logs:查看列表/实时日志
      • pm2 restart <ID/名>:重启应用
      • pm2 save && pm2 startup:保存列表并设置开机自启
    • NPM 基础
      • npm init -y:初始化项目
      • npm install <包名>:安装依赖包

    🏷️ 🎬 FFmpeg (音视频处理)

    • ffmpeg -i input.mp4:查看文件详细信息
    • ffmpeg -i input.mkv output.mp4:格式转换
    • ffmpeg -i video.mp4 -vn audio.mp3:提取纯音频
    • ffmpeg -i input.mp4 -an output.mp4:视频静音处理
    • ffmpeg -ss 00:00:10 -t 00:00:30 -i input.mp4 cut.mp4:视频剪切 (从10s起截30s)

    🏷️ ☁️ Rclone (网盘挂载与同步)

    • rclone config:交互式配置网盘连接
    • rclone ls <配置名>:<路径>:列出远程文件
    • rclone sync <本地> <配置>:<远程>:单向同步 (⚠️ 会删除远程多余文件)
    • rclone copy <本地> <配置>:<远程>:复制文件 (不删除远程)
    • rclone mount <配置>:<路径> /mnt/path --daemon:挂载为本地磁盘

    🏷️ 🌐 域名与接口调试 (Dig / Curl)

    • dig <域名> +trace:详细解析追踪
    • dig @8.8.8.8 <域名>:指定 DNS 服务器查询
    • curl -X POST -d "param=value" <URL>:测试 POST 接口
    • curl -I <URL>:仅查看 HTTP 响应头信息
    • curl -o /dev/null -s -w "%{time_total}\n" <URL>:测试网页加载总耗时

    🏷️ 📜 系统日志分析 (Journalctl)

    • journalctl:查看所有系统日志 (分页)
    • journalctl -f:实时追踪最新日志
    • journalctl -u nginx:查看指定服务的日志
    • journalctl -p err -b:仅查看本次启动后的错误级别日志
    • journalctl --vacuum-size=100M:清理日志,仅保留最后 100M

    🏷️ 📥 yt-dlp (在线视频解析下载)

    • yt-dlp -F <链接>:查看视频所有可用分辨率与格式
    • yt-dlp -f "bestvideo+bestaudio" --merge-output-format mp4 <链接>:下载最高画质
    • yt-dlp --cookies-from-browser chrome <链接>:借用浏览器 Cookie 绕过限制
    • yt-dlp -x --audio-format mp3 <链接>:纯提取音频并转存为 MP3

    🏷️ 🚀 Aria2 (多线程与下载)

    • aria2c -c -s 16 -x 16 <链接>:16线程分块下载
    • aria2c -i urls.txt -d /path:批量从文件读取链接并下载
    • aria2c --max-download-limit=5M <链接>:限速 5MB/s 下载
    • aria2c --enable-rpc --rpc-listen-all=true -D:启动后台 RPC 模式对接 WebUI

    🏷️ 🖼️ ImageMagick (图片处理)

    • convert input.jpg -quality 75 output.jpg:JPEG 质量压缩到 75%
    • convert input.png -resize 1080x1080\> output.png:限制最大尺寸缩放
    • convert *.jpg document.pdf:将多张图片合并为一份 PDF
    • convert input.jpg -strip output.jpg:剥离图片所有 EXIF 隐私信息

    🏷️ 🔍 jq (JSON 数据格式化与解析)

    • cat data.json | jq '.':美化并输出 JSON 内容
    • cat data.json | jq '.name':提取 JSON 特定字段
    • cat data.json | jq '.items[].id':提取数组中所有特定子字段
    • curl -s <URL> | jq '.status':配合管道符实时解析 API 响应

    🏷️ ⚡ fzf & ripgrep (终端快速查找)

    • fzf:开启当前目录模糊文件查找
    • vim $(fzf):结合 fzf 快速打开文件进行编辑
    • rg "关键字":极速全局搜索文件内容 (ripgrep)
    • rg "关键字" -t py:仅在特定类型 (如 Python) 文件中搜索内容

    🏷️ 🌐 Tailscale / ZeroTier (组网工具)

    • sudo tailscale up:启动 Tailscale 并生成登录链接
    • sudo tailscale up --advertise-exit-node:将本机作为流量出口节点
    • tailscale ip -4:查看当前分配的虚拟网段 IP
    • sudo zerotier-cli join <Network_ID>:加入 ZeroTier 网络
    • sudo zerotier-cli listnetworks:查看当前网络连接状态

    🏷️ 📄 Pandoc (文档格式转换器)

    • sed -i 's/旧文本/新文本/g' file.txt:全文替换并直接保存
    • sed -i '/关键词/d' file.txt:删除所有包含某关键词的行
    • awk '{print $1}' access.log:提取日志文件的第 1 列 (通常为 IP)
    • awk '{sum += $2} END {print sum}' data.txt:对第 2 列数值进行求和计算

    🏷️ 测速与探针 (网络诊断监控)

    • speedtest-cli:运行命令行网速测试
    • iperf3 -s:启动 iPerf3 服务端 (内网打速测试)
    • iperf3 -c <服务器IP> -P 10:客户端启动 10 线程并发打速
    • fastfetchneofetch:在终端展示带系统 Logo 的硬件信息
    • nload:查看网卡实时的图形化进出流量监控

    🏷️ 📊 Uptime Kuma (服务状态监控)

    • Docker 快速部署
      • docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1:一键后台启动
    • 常用监控类型
      • HTTP(s):监控网站可访问性及 SSL 证书到期
      • TCP Port:监控特定端口是否开放 (如 SSH, 数据库)
      • Ping:基础网络连通性测试
      • Keyword:检查网页源码是否包含特定关键字 (防篡改)
    • 进阶功能
      • Status Page:创建对公众可见的服务状态面板
      • Notifications:配置 Telegram / Discord / 邮件 告警推送
      • 2FA:务必在设置中开启两步验证以确保后台安全

    🏷️ 🏁 QR Code (命令行二维码生成)

    • 安装工具
      • sudo apt install qrencode -y:安装二维码编码工具
    • 常用生成命令
      • qrencode -o qr.png "你的内容或链接":生成图片格式二维码
      • qrencode -t ansiutf8 "你的内容":直接在终端控制台打印二维码 (无需打开图片)
      • qrencode -s 10 -o qr.png "链接":指定二维码方块大小 (Scale-尺寸)
    • 进阶技巧
      • qrencode -L H -o qr.png "内容":设置最高纠错级别 (Level High-高纠错,抗损毁能力强)
      • cat file.txt | qrencode -o qr.png:读取文件内容并生成二维码

    🏷️ 📱 GSConnect (Ubuntu 与手机互联)

    • 安装命令 (GNOME 扩展组件)
      • sudo apt update:更新软件源
      • sudo apt install gnome-shell-extension-gsconnect -y:安装扩展包
    • 防火墙放行 (关键)
      • sudo ufw allow 1714:1764/udp:放行 UDP 端口
      • sudo ufw allow 1714:1764/tcp:放行 TCP 端口
    • 启用方式
      • 安装后需在 GNOME Extensions (扩展) 应用中手动开启 GSConnect 开关。
      • 手机端:在 Google Play 或 F-Droid 下载 KDE Connect
    • 功能亮点
      • 剪贴板同步:手机电脑剪贴板双向同步。
      • 文件传输:无需数据线,右键文件即可发送到手机。
      • 通知同步:在电脑上回复微信/短信通知。

    🏷️ 🔐 VeraCrypt (专业磁盘加密)

    • 安装命令 (PPA 源方式)
      • sudo add-apt-repository ppa:unit193/test -y:添加开发者仓库
      • sudo apt update:更新缓存
      • sudo apt install veracrypt -y:执行安装
    • 核心操作
      • veracrypt --text --create:命令行模式引导创建加密卷文件
      • veracrypt <加密文件路径> /mnt/path:挂载加密盘到指定目录
      • veracrypt -d:卸载并断开所有加密盘连接
    • 进阶技巧
      • Hidden Volume (隐藏卷):在加密卷内再开辟一个隐藏空间,应对“橡胶软管密码分析法(就是拿棍打到你说为止)”的极端情况。
      • Keyfiles (密钥文件):除了密码,还必须配合特定文件才能解锁,安全等级极高。