Linux 目录结构入门:根目录、家目录与相对路径
Linux 服务器入门 · 第 02 篇 / 共 18 篇
看到 /home/lin/documents/notes.txt 时,可以从右往左读:文件叫 notes.txt,放在 documents 目录里;documents 属于用户 lin 的家目录。
本篇先读懂路径。还没有服务器也能阅读;实际命令等完成 SSH 登录后再试。示例用户名是 lin,你的账号可能不同。
从一个根目录开始
Windows 常用 C:\、D:\ 表示不同盘符。Linux 把目录组织成一棵树,起点是 /;其他磁盘也可以挂载到这棵树上的目录。先记住自己的文件放在哪里,比背系统目录更有用。
| 位置 | 先理解它的用途 |
|---|---|
/home/lin | 示例普通用户的家目录,可以在这里存练习文件 |
/etc | 许多系统和服务的配置文件所在位置 |
/var/log | 许多程序存放日志的位置,具体还要看配置 |
/tmp | 临时文件位置,内容可能被系统清理 |
根目录 /、管理员账号 root、root 常见的家目录 /root 是三件事。普通用户练习时不需要进入 /root。
两种写法,指向同一个位置
以当前目录 /home/lin 为例:
/home/lin/documents/notes.txt 绝对路径,从 / 开始
documents/notes.txt 相对路径,从当前目录开始绝对路径不依赖你现在站在哪个目录;相对路径会随当前目录变化。在 /home/lin 下看 documents/notes.txt,与在 /tmp 下看同一串文字,寻找的位置不同。
pwd 可以确认当前位置。不要根据终端里很久以前的输出猜测当前目录。
~、. 和 .. 分别指哪里
| 写法 | 含义 | 示例 |
|---|---|---|
~ | 当前用户的家目录,由 Shell 展开 | cd ~ |
. | 当前目录 | ./notes.txt |
.. | 上一级目录 | cd .. |
cd / 进入根目录,cd ~ 回自己的家目录,cd .. 向上一级走。最后一种只退一层,不保证回到家目录。
在 Bash 中,"~/documents" 不会像 ~/documents 那样展开家目录。带空格的目录可以写成 "$HOME/my notes";这里 $HOME 是家目录变量,双引号保留路径里的空格。
文件名还会带来两个小变化
本专题的 Ubuntu 文件系统区分大小写:Notes.txt 与 notes.txt 可以同时存在。遇到“找不到文件”,先检查拼写和大小写。
名字以点开头的文件或目录通常不出现在普通 ls 列表中,例如 .config。ls -a 才会把这类条目也列出来。“隐藏”不表示文件被加密或不能访问。
练习读路径:你在 /home/lin/documents,../backup 指向哪里?答案是 /home/lin/backup。先退到 /home/lin,再进入 backup。
路径、挂载与点目录的说明可对照 Ubuntu 命令行入门中的路径示例。