常用 Linux 命令速查手册 📚 目录 certbot 配置 HTTPS 查看端口使用情况 查看文件或端口占用 查看系统运行状态 查看系统配置(CPU / 硬盘 / 内存) 下载工具 curl 下载工具 wget 文件查找 find 内容搜索 grep 系统清理命令(释放空间) 1. certbot 配置 HTTPS(以 Nginx 为例) 命令: sudo apt update sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d nice.yichengcode.com 命令说明: 安装 certbot 和 nginx 插件 自动申请并配置 SSL 证书 2. 查看端口使用情况 命令: ss -tulnp 命令说明: -t:显示 TCP 端口 -u:显示 UDP 端口 -l:仅列出监听端口 -n:不解析服务名,显示数字端口 -p:显示使用端口的进程信息 示例: ...
Vim 命令大全速查表
本文整理自 vim cheat sheet 与实际使用经验,覆盖从基本移动、插入、编辑、寄存器、宏、折叠到 diff 模式等常用命令,适合日常参考使用。 📚 基础命令 命令 说明 :h {keyword} 查看帮助文档 :saveas {文件名} 另存为 :close 关闭当前窗口 :terminal 打开终端窗口 vimtutor 启动 Vim 教程 🚶 光标移动 命令 说明 h 左移一个字符 j 下移一行 k 上移一行 l 右移一个字符 0 移动到行首 ^ 移动到本行第一个非空字符 $ 移动到行尾 w 跳到下一个单词开头 e 跳到单词末尾 b 跳到上一个单词开头 gg 跳到文件首行 G 跳到文件尾行 H 移动到屏幕顶部 M 移动到屏幕中间 L 移动到屏幕底部 Ctrl+d 向下滚动半屏 Ctrl+u 向上滚动半屏 Ctrl+f 向下滚动一屏 Ctrl+b 向上滚动一屏 % 跳转到匹配的括号 📝 插入模式 命令 说明 i 在光标前插入 I 在行首插入 a 在光标后插入 A 在行尾插入 o 在当前行下方新开一行并插入 O 在当前行上方新开一行并插入 ea 在单词末尾插入 Ctrl+h 删除前一个字符(退格) Ctrl+w 删除前一个单词 Ctrl+u 删除整行插入内容 Ctrl+o 在插入模式下执行一条普通模式命令 ✂️ 编辑文本 命令 说明 r{char} 替换光标所在字符为{char} R 进入替换模式 J 合并下一行到当前行末尾 gJ 合并下一行到当前行末尾,不加空格 cc 修改整行(删除后进入插入模式) cw 修改从光标到单词末尾 ciw 修改光标所在的整个单词 S 整行替换(等同于 cc) s 删除光标所在字符并进入插入模式 xp 交换光标所在字符与下一字符 u 撤销 U 撤销整行修改 . 重复上一次修改命令 🔲 可视化模式与选择 命令 说明 v 进入字符可视模式 V 进入行可视模式 Ctrl+v 进入块可视模式 ab 选择一个块(包括空格) ib 选择一个块(不包括空格) at 选择一个标签块(包括标签) it 选择一个标签块(不包括标签) 📋 剪切、复制、粘贴 命令 说明 yy 复制当前行 dd 删除当前行(剪切) p 粘贴到光标后 P 粘贴到光标前 gp 粘贴后光标停留在文本末尾 diw 删除光标所在单词 yaw 复制光标所在单词(包括空格) daw 删除光标所在单词(包括空格) :d 删除当前行 :.,$d 删除从当前行到文件末尾 :g/{pattern}/d 删除所有匹配模式的行 🧠 寄存器 Vim 中的寄存器用于存储文本,常用寄存器如下: ...
Sqlite Mysql Import Export
在开发和运维中,经常需要在 SQLite 和 MySQL 之间导入导出数据。本篇总结这两个数据库系统的常用导入导出命令,涵盖整库和单表操作,适用于备份、迁移和初始化场景。 ✅ SQLite3 命令详解 导出整个数据库为 SQL 文件 sqlite3 data.db .dump > backup.sql data.db 是数据库文件名; .dump 会导出数据库结构 + 全部数据; 生成的 backup.sql 可用 .read 或 < 命令导入。 导出单个表为 SQL 文件 sqlite3 data.db ".dump users" > users.sql 只导出 users 表的数据和结构。 导入 SQL 文件到 SQLite 数据库 sqlite3 data.db < backup.sql 或者交互模式下: sqlite3 data.db sqlite> .read backup.sql 导出为 CSV 文件 sqlite3 data.db sqlite> .headers on sqlite> .mode csv sqlite> .output users.csv sqlite> SELECT * FROM users; 说明: ...
update-alternatives 使用笔记:多版本共存的软链接管理器
在 Linux 系统中,update-alternatives 是一种用于管理命令软链接的工具,适合管理多个版本共存的程序,例如不同版本的 PHP、Java、GCC、Python 等。通过它可以灵活控制哪个版本被调用、切换默认版本、统一管理系统路径下的可执行程序。 ✅ 基本原理 Linux 中大多数命令其实都是 /usr/bin/xxx 的可执行文件,这些文件很多是软链接: ls -l /usr/bin/php # 可能指向 -> /etc/alternatives/php # 再指向 -> /usr/bin/php8.2 update-alternatives 就是负责管理 /etc/alternatives/ 中的这些链接,并允许你注册多个候选路径、设置优先级、手动切换或自动切换。 ✅ 常用参数说明 参数 说明 --install 添加一个新候选版本 --remove 移除某个候选路径 --config 手动选择当前使用哪个版本 --set 直接设置当前使用路径 --display / --query 查看当前配置状态 --auto 恢复为优先级自动选择模式 ▶ –install 参数详解 update-alternatives --install 是添加“候选版本”的关键命令,它的完整语法格式如下: sudo update-alternatives --install <链接路径> <名字> <实际可执行路径> <优先级> 参数位置 含义 示例值 说明 链接路径 创建的统一入口点 /usr/bin/php 这是用户最终执行命令时调用的路径 名字 系统识别用的名称 php 是“组名”,管理同类版本的别名 实际路径 程序的真实可执行文件路径 /usr/bin/php7.4 要加入的某个版本路径 优先级 一个整数 74 数值越大,优先级越高,自动模式下会选择它 ✅ 实例说明: 你系统中已经安装了 PHP 7.4 和 PHP 8.2,可以这样添加: ...
MongoDB 用户管理详解:admin 用户 vs 数据库用户
在 MongoDB 中,用户管理是权限控制的核心。用户的创建位置决定了其作用范围和管理方式。本文系统讲解 MongoDB 两种用户类型的区别、使用场景与管理操作。 一、两种类型的用户 1. admin 数据库创建的用户(全局用户) 这种用户是在 admin 数据库中创建的,可以访问多个数据库,并对多个数据库赋予不同权限。 use admin db.createUser({ user: "adminUser", pwd: "secure123", roles: [ { role: "readWrite", db: "sales" }, { role: "read", db: "analytics" } ] }) 特点 用户信息存储在 admin 库; 可以管理和访问多个数据库; 适合平台管理员、系统服务等集中权限场景。 使用场景 运维或 DevOps 脚本; 应用需要访问多个数据库; 多库统一管理权限。 2. 普通数据库创建的用户(局部用户) 这种用户只能在某一个数据库中创建,默认仅能访问该数据库。 use appdb db.createUser({ user: "appUser", pwd: "pass123", roles: [ { role: "readWrite", db: "appdb" } ] }) 特点 用户信息只存在于当前库; 默认只能访问当前数据库; 隔离性好,更安全。 使用场景 Web 应用访问自己的数据; 每个业务数据库独立授权; 多租户系统中的租户隔离。 二、常见用户管理操作 创建用户 db.createUser({ user: "user1", pwd: "123456", roles: [ { role: "readWrite", db: "mydb" } ] }) 修改用户密码 db.updateUser("user1", { pwd: "newpass" }) 要在用户所属数据库执行。 ...
Docker China
设置 Docker 使用国内加速镜像源 为了解决 Docker Hub 下载缓慢的问题,可以为 Docker 配置多个国内镜像源。 执行以下命令: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1panel.live", "https://docker.1ms.run", "https://dytt.online", "https://docker-0.unsee.tech", "https://lispy.org", "https://docker.xiaogenban1993.com", "https://666860.xyz", "https://hub.rat.dev", "https://docker.m.daocloud.io", "https://demo.52013120.xyz", "https://proxy.vvvv.ee" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 📌 这些镜像源来自 GitHub 项目:dongyubin/DockerHub 写在最后 如果你配置失败,不要气馁,多试几个源,或者干脆换 containerd 到 nerdctl + Lima/MircoK8s 再玩,别被封你🐴比耽误开发心情。 如果还是失败,就自己搞代理吧。
Windows 10 无法打开显示设置 + 输入法图标不显示的解决方法
系统还原后,遇到以下两个问题: 点击“设置”页面中的项目(如“显示设置”、“系统”)没有反应 任务栏右下角的输入法图标(中/英)消失 这篇文章将分别介绍这两个问题的解决方法。 🧩 问题一:无法打开“显示设置” 原因分析 Windows 设置依赖后台服务 UserManager。如果此服务被禁用或未正常启动,设置页面中的子项可能无法打开。 解决步骤 按 Win + R,输入: services.msc 回车打开“服务”管理器。 在列表中找到: User Manager 双击打开,设置为: 启动类型:自动 如果当前未运行,点击“启动” 应用并关闭窗口,重启计算机 🧩 问题二:输入法图标不显示 现象 输入法可以使用,但右下角图标不显示 切换快捷键(如 Ctrl+Shift)仍可用 解决方法 按 Ctrl + Shift + Esc 打开任务管理器 切换到【详细信息】选项卡 找到: Microsoft IME(或 IME.exe) 右键 → 结束任务 图标一般会立即重新出现, 如未出现,可手动运行: ctfmon.exe (Win + R 调出运行框后输入) ✅ 总结 问题 原因 解决方法 设置子页面无法打开 UserManager 服务未启动 在 services.msc 中启动并设为自动 输入法图标不显示 IME 进程卡死或崩溃 任务管理器结束 Microsoft IME 进程,或运行 ctfmon.exe 这些操作都是无风险、无需第三方工具的官方修复方法。如果你也遇到这类问题,建议直接试试,通常都能快速恢复正常。 ...
使用 x-ui 搭建 Trojan TLS 节点
🌐 日志:使用 x-ui 搭建 Trojan TLS 节点(含域名证书配置) 时间:2025-05-27 系统环境:Ubuntu 20.04 LTS / Debian 11 面板工具:mhsanaei/3x-ui 目标域名:us.example.com 🧩 第一步:更新系统、安装证书工具 sudo apt update sudo apt install certbot python3-certbot-nginx -y 说明:certbot 用于签发 Let’s Encrypt 证书,python3-certbot-nginx 插件让它能自动配置 Nginx。 🌐 第二步:为域名申请 HTTPS 证书 sudo certbot --nginx -d us.example.com 请确保你的域名已经解析到当前 VPS 公网 IP。 请确保服务器的 80 和 443 端口已开放。部分 VPS 提供商要求不仅在系统内部(如通过 ufw 或 firewalld)放行端口,还需在云平台的 VPC 网络安全组 或 防火墙策略 中手动添加相应的入站规则,否则外部访问可能被阻断。 如果申请成功,证书和密钥默认保存在: /etc/letsencrypt/live/us.example.com/fullchain.pem /etc/letsencrypt/live/us.example.com/privkey.pem ⚙️ 第三步:安装 Trojan 多协议面板 x-ui bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) 安装完成后,运行: ...
使用 Docker 和 Gost 快速搭建 SOCKS5 代理(适用于 TikTok 自建代理)
在进行 Tiktok/Facebook/Instagram营销、注册或自动化管理时,稳定的代理是不可或缺的。本文将介绍如何使用 gost 配合 Docker,快速部署一个带认证的 socks5 代理服务器。 🐳 第一步:安装 Docker 在大多数 Linux 服务器上,只需一条命令即可安装 Docker: apt update && apt install -y docker.io 💡 如果你是 CentOS 或 Alpine 用户,请使用对应的安装方式。 🚀 第二步:运行 Gost SOCKS5 容器 以下命令会拉取 Gost 镜像并运行一个代理容器: docker run -d \ --name gost-socks5 \ -p 886:1080 \ ginuerzh/gost \ -L=socks5://yichengcode:www.yichengcode.com@:1080 参数解释: -d:后台运行容器(detached 模式) --name gost-socks5:容器名称 -p 886:1080:将宿主机的 886 端口映射到容器内 1080 端口 ginuerzh/gost:使用官方 Gost 镜像 -L=socks5://用户名:密码@:1080:监听本地 1080 端口,开启带用户名密码认证的 SOCKS5 服务 ⚠️ 请根据实际需求修改用户名、密码、端口(如 yichengcode 和 www.yichengcode.com)。 ...
从零搭建邮件服务器接收验证码
本文适用于:需要自建域名邮箱,用于注册平台账号、接收验证码、自动读取邮件内容的用户。无需使用 Python 脚本也能纯命令行收码。 ✅ 背景说明 很多平台注册账号时会要求填写邮箱地址并接收验证码。为了批量注册或控制邮箱来源,一些用户希望自建域名邮箱系统,从而: 自己控制域名和邮箱地址 本地接收邮件,免费无限用 配合脚本自动抽取验证码 🔧 工作环境准备 1. 需要的条件 项目 说明 一台 VPS Ubuntu 20.04+,需要支持 25端口(有的需要向主机商申请打开) 一个可配置 DNS 的域名 如 mail.example.com 2. 安装必要软件 apt update apt install postfix dovecot-core dovecot-imapd -y postfix = SMTP 邮件服务器,用于接收邮件 dovecot = IMAP 邮箱读取服务器,允许脚本/网页读邮件 ✉️ 配置 DNS 记录 到域名控制面板(如 Cloudflare、阿里云、Namecheap)添加以下 DNS 记录: 类型 主机记录 值 A mail VPS IP MX @ mail.example.com (10) TXT @ v=spf1 mx ~all 说明:MX 是接收邮件的域名服务器,SPF 是为了防止邮件被伪造,非必但建议配置 ...