Linux 基础:tmux 和 vim 操作

一、tmux — 终端复用器 它解决什么问题 SSH 连接到远程服务器时,一旦网络断开或关闭终端窗口,正在运行的程序(比如 hugo server、apt install)会被强制终止。 tmux 在用户和服务器之间插入了一个持久层——你关掉终端、断开 SSH,tmux 里的程序继续跑。下次连上,tmux a 一切恢复原样。 普通 SSH: SSH + tmux: 你 ──SSH── 服务器 你 ──SSH── 服务器 │ │ 跑程序 tmux(持久层) │ │ SSH 断开 → 程序死 SSH 断开 → tmux 里的程序继续跑 下次连上 → tmux a → 恢复 层级结构 tmux 服务 ├── session 0(工作区 A:博客开发) │ ├── window 0(这个窗口跑 hugo server) │ │ ├── pane 0(左边:编辑 config.yml) │ │ └── pane 1(右边:看日志) │ └── window 1(这个窗口跑 docker) │ └── pane 0 ├── session 1(工作区 B:渗透练习) │ ├── window 0(DVWA 目录) │ └── window 1(查资料) └── session 2 session = 独立工作区,window = 浏览器标签页,pane = 分屏。 你在一个 session 里"挂起"(detach),另一个终端可以"接入"(attach),无缝切换。 ...

August 1, 2026 · 5 min · 865 words

Linux 文件管理及常用命令

一、Linux 文件系统的核心哲学 一切皆文件 Linux 最根本的设计思想:系统中的一切——硬盘、目录、进程、键盘、网络连接——在操作系统眼里都是"文件"。 /dev/sda ← 你的硬盘,是个文件 /proc/cpuinfo ← CPU 信息,是个文件 /etc/passwd ← 用户账号,是个文件 /home/renbudang/.ssh/id_ed25519 ← SSH 私钥,是个文件 这意味着同一套读、写、移动的操作可以作用于任何对象。你 cat /proc/cpuinfo 就能读 CPU 信息,和读一个 txt 文件没有区别。 单根树结构 Windows 的世界里,每个分区是一个独立的起点(C: / D: / E:)。Linux 的世界里,只有一个根 /,所有的硬盘、U 盘、网络存储都"挂载"到这棵树的某个分支上。 / ← 根,一切从这里开始 ├── bin/ ← 系统基础命令(ls、cp、mv 等) ├── boot/ ← 启动相关文件(内核) ├── dev/ ← 设备文件(硬盘、键盘、终端) ├── etc/ ← 配置文件(Nginx、SSH、用户信息) ├── home/ ← 普通用户的家目录 │ └── renbudang/ ← 你的家目录(~ 就指向这里) ├── tmp/ ← 临时文件(重启后清空,不保证保留) ├── var/ ← 变化的数据(日志、网站、数据库) │ └── www/html/ ← Nginx 默认网站目录 ├── proc/ ← 进程和内核信息(虚拟文件系统,不占磁盘) └── usr/ ← 用户安装的软件 路径:绝对 vs 相对 # 绝对路径——从根 / 出发 ls /home/renbudang/myblog/config.yml # 相对路径——从当前位置出发 # 假设已经在 /home/renbudang 目录下: ls myblog/config.yml # 等价于上面那条 ls ./myblog/config.yml # . 代表"当前目录",等价 ls ../ubuntu/.ssh # .. 代表"上一级目录",这里等于 /home/ubuntu/.ssh ls ~/myblog # ~ 代表"当前用户的家目录" 判断规则:第一个字符是不是 /。 ...

July 30, 2026 · 5 min · 911 words

云服务器初始配置与 SSH 密钥认证

云服务器初始配置与 SSH 密钥认证 日期:2026-07-28 服务器:腾讯云轻量应用服务器 2核2G3M 40GB SSD(Ubuntu 22.04 LTS) 一、服务器上的三个用户 云服务器上有三个用户,他们各自的身份和角色完全不同: 用户名 UID 本质 能否直接登录 用途 root 0 Linux 超级管理员,拥有最高权限,可以做任何事情(包括删掉整个系统) ❌ 默认禁止远程登录(PermitRootLogin no) 系统底层操作,日常不使用 ubuntu 1000 腾讯云 Ubuntu 镜像默认创建的普通用户,自带 sudo 权限 ✅ 云服务商给你的初始入口,配置好之后作为备用账户 renbudang 1001 你自己创建的普通用户,也已经赋予 sudo 权限 ✅(主账户) 从今以后你日常登录和操作的账户 为什么有三个用户? root → Linux 系统内置的超级管理员。 Ubuntu 默认禁用了它的远程登录,这是安全设计—— root 权限太大,一旦被入侵后果不可控。 日常工作不应该用 root,仅在必要时通过 sudo 提权。 ubuntu → 云服务商(腾讯云)在创建 Ubuntu 虚拟机时自动生成的。 它在你拿到服务器之前就存在了。 它是一个有 sudo 权限的普通用户,是你拿到服务器后第一个能登录的人。 配置完成后保留它作为"紧急备用入口"—— 万一你把 renbudang 的 sudo 权限弄坏了,还能用它救回来。 renbudang → 你给自己创建的日常用户。 sudo usermod -aG sudo renbudang 给了它管理员权限。 从今以后这就是"你"在服务器上的身份。 核心认知 ubuntu 不是 root,它只是一个能用 sudo 提权的普通用户(UID=1000) root 的 UID 永远是 0,这是 Linux 内核判断"是不是 root"的唯一依据 日常操作用 renbudang + sudo,不要直接以 root 身份操作 二、我们在这台服务器上做了什么 操作时间线 1. 购买创建 → 选 Ubuntu 22.04 LTS 系统镜像(纯操作系统,不装任何预装软件) → 设了 renbudang 用户和密码 → 服务器启动,获得公网 IP 2. 首次连接 → 在 Windows PowerShell 里用 ssh renbudang@公网IP 测试连接 → 初始使用密码登录 3. 生成 SSH 密钥对 → 在本地 Windows 上执行 ssh-keygen -t ed25519 → 生成了一对密钥:私钥(id_ed25519)和公钥(id_ed25519.pub) 4. 上传公钥到服务器 → 将公钥内容追加写入服务器的 ~/.ssh/authorized_keys → 服务器从此认这把私钥 5. 配置 SSH 安全加固 → 禁止 root 远程登录 → 禁止密码登录(只用密钥) → 后续连接无需输密码 三、SSH 密钥认证原理(公钥与私钥) 我的问题 “密钥公钥什么的我还是不明白,你是用 Windows 的工具创建了一个密钥,然后上传到云服务器里和用户 renbudang 绑定了吗?” ...

July 28, 2026 · 3 min · 501 words