在目录中定位

我们先看看主目录下的 README.txt 写了什么:

crow@opsbox:~$ cat README.txt
opsbox 值班资料
资产编号:OPS-……

交接记录:/home/crow/handover
备份与部署配置:/srv/ops

本次交接事项:
  - 核对 2026-07-01 备份的校验记录。
  - 核对 deploy 账号保管的部署令牌。

处理结果请附来源文件与核对日期。
crow@opsbox:~$ ls handover
2026-06
2026-06-30.md
2026-07-01.md

注意 ls handover 只是看一眼 handover 目录里有什么,不会改变我们当前所在的位置,工作目录还停在 /home/crow。要进入 handover/2026-06,得用 cd:

crow@opsbox:~$ cd handover/2026-06
crow@opsbox:~/handover/2026-06$ pwd
/home/crow/handover/2026-06
crow@opsbox:~/handover/2026-06$ cat README.md
2026 年 6 月交接归档。

提示符变成了 ~/handover/2026-06,说明已经进来了。

路径写法

Linux 文件系统是一棵以 根目录 /(Root Directory) 为顶点的倒置树,所有文件和目录都挂在这棵树下。

从根目录到交接归档的层级,当前目录位于 2026-06

定位一个文件有两种写法:

  • 绝对路径(Absolute Path):以根目录 / 开头的完整路径,比如 /home/crow/handover/2026-06/README.md。不管当前在哪个目录,绝对路径指的位置都唯一确定。
  • 相对路径(Relative Path):不以 / 开头,以当前工作目录为起点:
    • . 表示当前目录,比如 ./README.md 和 README.md 指的是同一个文件;
    • .. 表示上一级父目录,比如 ../2026-06-30.md;
    • 路径开头的 ~ 会被自动展开成当前用户的主目录(/home/crow)。

试一下在归档目录里用相对路径:

crow@opsbox:~/handover/2026-06$ cd ..
crow@opsbox:~/handover$ pwd
/home/crow/handover
crow@opsbox:~/handover$ cat 2026-06-30.md
# 交接 2026-06-30

六月备份已归档。
部署连接配置保存在 /srv/ops,私有资料由 deploy 账号维护。

哪怕还待在 /home/crow/handover/2026-06 里不切目录,也可以直接用 cat ../2026-06-30.md 读取上一层的 2026-06-30.md,读完后当前目录依然留在 2026-06。另外,执行 cd - 可以在刚才待过的两个目录之间来回切换;直接敲 cd 或 cd ~ 则会立刻回到主目录。

标准目录结构(FHS)

Windows 用 C:\、D:\ 划分盘符,而 Linux 遵循文件系统层次结构标准(FHS),无论挂了多少块硬盘,都统一挂在根目录 / 下:

目录常见用途
/根目录,整棵目录树的起点
/bin、/usr/bin普通用户常用的基础命令程序(如 ls、cat、cp、grep)
/sbin、/usr/sbin系统管理员用的维护与网络命令(如 iptables、reboot、useradd)
/etc系统与各类服务的配置文件(如 /etc/passwd、/etc/ssh/sshd_config)
/home普通用户的主目录所在地,例如 /home/crow
/root超级管理员 root 的主目录(注意它和根目录 / 不是同一个地方)
/var运行期间持续变化的数据,最常看的是日志目录 /var/log
/srv本机对外服务的数据目录;opsbox 的运维资料和备份放在 /srv/ops
/opt第三方独立软件包的安装目录
/tmp所有用户都可读写的临时目录,重启或定期清理时可能被清空
/proc内存中的虚拟文件系统,实时反映内核与进程状态(如 /proc/cpuinfo)
/dev硬件与特殊设备文件入口,比如磁盘 /dev/sda 和用来丢弃输出的黑洞设备 /dev/null

ls -l 查看文件详情

前面用 ls -a 看到了隐藏文件。再换个选项 -l(Long listing format,长格式),看看文件还有哪些信息。先回到主目录:

crow@opsbox:~/handover$ cd
crow@opsbox:~$ ls -l
total 8
-rw-r--r-- 1 crow crow  282 Sep  8 06:29 README.txt
drwxr-xr-x 3 crow crow 4096 Sep  8 06:29 handover

首行 total 8 是当前目录占用的磁盘块总数。下面每一行从左到右有 7 列:

  1. 文件类型与权限:共 10 个字符。第 1 个字符表示类型:- 是普通文件,d 是目录,l 是软链接。后面 9 个字符是访问权限(如 -rw-r--r--)。
  2. 硬链接计数:指向该文件的硬链接数量。
  3. 所有者:文件归属的用户账号(crow)。
  4. 所属组:文件归属的用户组(crow)。
  5. 文件大小:默认按字节(Byte)显示。
  6. 最后修改时间:文件内容上一次修改的时间。
  7. 名称:文件或目录名。

如果觉得字节数看着累,可以加上 -h(Human-readable)写成 ls -lh,文件大小会自动换算成 K、M、G:

crow@opsbox:~$ ls -lh
total 8.0K
-rw-r--r-- 1 crow crow 282 Sep  8 06:29 README.txt
drwxr-xr-x 3 crow crow 4.0K Sep  8 06:29 handover

现在去 opsbox 的六月归档目录里找找上一班留下的隐藏清单:

找到隐藏的核对清单

Lab

启动实验并打开 OPSBOX 终端:OPSBOX 终端(启动 Lab 后显示)。 上一班在六月归档目录 ~/handover/2026-06 中留下了一份核对清单,但用普通的 ls 看不到它。 进入这个目录,找到这份清单,提交其中的核对编号。

加载会话状态…

提交 coin

题解 Hint