
一、为什么路径是运维的第一关目录、配置文件和日志文件。以后部署若依、Nginx、MySQL、Docker 和 Kubernetes 时操作形式会不断变化但下面几个问题每天都会遇到当前位于哪个目录。命令中的路径最终指向哪个文件。配置、程序、日志和数据应该放在哪里。文件很长时应该怎样快速查看。修改配置后怎样证明只改了计划中的内容。改错以后怎样根据备份恢复。如果路径判断错误命令本身完全正确也可能读错文件或改错配置。所以要建立的不是记忆目录名称而是一个工作习惯定位查看修改比较验证。二、工作目录你现在人在哪把 Linux 的目录体系想象成一栋大楼工作目录就是你现在站的位置。pwdPrint Working Directory用来回答我现在在哪cd 用来走动。一个容易忽略的点工作目录属于进程的运行环境。你开两个终端就等于两个人分别站在不同楼层各自互不影响。所以不要看着 A 窗口的状态去猜 B 窗口里 cd 到了哪里。三、家目录每个人的私人储物柜每个用户都有自己的家目录。普通用户的家目录通常位于 /home/用户名例如 yangge 对应 /home/yangge超级用户 root 的家目录是 /root。同一个波浪号符号会根据当前登录用户展开成不同路径yangge 登录时 ~ 就是 /home/yanggeroot 登录时 ~ 就是 /root。还要注意~ 由 Shell 展开不是文件系统中真实存在的目录名。cd 和 cd ~ 都会回到当前用户的家目录。四、绝对路径与相对路径报地址的两种方式类型判断方法示例特点绝对路径从根目录 / 开始/etc/hosts不依赖当前目录含义稳定相对路径不以 / 开头./hosts从当前工作目录计算目标都是 /etc/ssh/sshd_config.d。从根目录 / 出发相对路径要写 etc/ssh/sshd_config.d经过 3 层目录从 /etc 出发只需写 ssh/sshd_config.d经过 2 层目录而绝对路径无论谁写都是同一个 /etc/ssh/sshd_config.d。读任何一条路径固定问三个问题从哪里出发以 / 开头就是根目录否则是 pwd 的位置经过哪些目录从左到右逐段读最后到达什么对象最后一段是文件或目录。实用结论脚本、变更记录和生产操作写完整绝对路径避免歧义交互练习时确认 pwd 后可以用相对路径。五、四个路径符号点、双点、波浪号、减号写法含义示例.当前目录./config..上级目录../logs~当前用户家目录~/magedu-上一次所在目录仅用于 cd -cd -这四个符号都是路径简写。好用但要记住它们依赖当前状态. 和 .. 跟着工作目录变~ 跟着当前用户变- 跟着上一次 cd 变。六、目录体系Linux 大楼的房间分工Linux 从根目录 / 组织所有文件目录名称表达职责。七个高频目录目录主要职责后续课程中的典型对象/etc系统和服务配置SSH、Nginx、systemd 配置/var经常变化的数据日志、缓存、队列/usr发行版管理的程序和库/usr/bin、/usr/lib/opt额外部署的应用若依应用目录/home普通用户家目录实验文件、用户配置/tmp临时文件可能被定期清理/proc内核和进程运行视图CPU、内存、进程参数目录职责比死记路径更重要。看到一个新文件时先根据目录判断它更像配置、程序、日志、数据还是运行时状态。正式环境里额外应用规划在 /opt/ruoyi课程先在家目录建立一套职责相同的实验结构把 app、config、logs、data、backup 五个目录分开。同一项目不同内容分目录存放后面发布、排障、备份都沿用这套结构。七、查看文件的四兄弟cat、less、head、tail读取配置文件和观察不断增长的日志不应该使用同一种方式。命令特点适合场景cat完整显示连续输出短配置文件less分页阅读可搜索可跳转长文件head查看开头默认 10 行-n 指定行数看前几行tail查看结尾默认 10 行-n 指定行数看后几行less 的按键逻辑是只读浏览Space 向下翻页b 向上翻页g 跳到开头G 跳到结尾/keyword 向下搜索n 下一个匹配N 上一个匹配q 退出。它主要用于阅读不会因为浏览而保存修改。tail -f 用来盯正在增长的日志先显示文件末尾然后保持等待有新内容就立即显示。按 CtrlC 只结束这次查看不会删除日志文件也不会停止写日志的应用。顺带分清两个符号 覆盖写入原内容可能被替换 追加写入保留原内容。八、Vim 三种模式先分清你在哪个世界为什么现在学 Vim后面会切换到 Ubuntu Server没有图形编辑器所有配置修改都靠它。今天只需要最基本的十个动作打开、进入编辑、保存、放弃修改、搜索、替换、删除、复制、粘贴、撤销。模式主要工作进入方式命令模式 Normal移动、删除、复制、粘贴、撤销打开文件后的默认模式或按 Esc插入模式 Insert输入和修改文本在命令模式按 i末行模式 Command-line保存、退出和设置在命令模式按 :一个保命口诀忘记自己在哪个模式时先按 Esc。回到命令模式后再决定下一步。命令模式里h j k l 对应左下上右移动gg 和 G 跳到开头结尾/keyword 搜索x 删字符dd 删行yy 复制行p 粘贴u 撤销。末行模式里:w 保存:q 退出:wq 保存并退出:q! 放弃修改退出替换用 :%s/旧内容/新内容/gc其中 % 表示全文范围g 表示替换一行中全部匹配c 表示每次替换前确认。另外记住一条规矩YAML 配置用空格表达层次不能使用 Tab 代替缩进。九、安全修改的哲学先备份再动手用 diff 证明六步定位查看备份编辑比较验证。核心思想是让每一次修改都可证明、可回滚。备份修改前用 cp 保存一份 .bak 副本。比较diff -u 旧备份 新文件以 - 开头的行来自旧文件以 开头的行来自新文件。diff 返回 0 表示没有差异返回 1 表示存在差异。恢复用 cp 把备份复制回来再用 diff 验证副本与原备份一致返回 0。出现异常时的固定动作停止继续修改查看 diff恢复备份再次验证。十、相对路径错误的根因起点变了命令相同pwd 不同实际访问对象就可能不同。比如在 ~/magedu 下执行 cat ./config/application.yml 会找不到文件因为实际文件在 ~/magedu/ruoyi/config/application.yml。命令没变是你的站立点变了。排障四步法现象原样记录命令、输出和退出状态、范围判断是当前目录、当前用户还是整台主机、证据用 pwd、ls -ld、cat 和完整路径确认对象、验证修正一个条件后重新执行原命令确认结果真正恢复。一句话总结绝对路径像完整通信地址到哪里都不会错相对路径像从这里往前走两个路口换了起点就完全不是那个地方。pwd 常确认路径少踩坑。