跳转至

路径与目录结构

约 1025 个字 8 张图片 预计阅读时间 3 分钟

路径

路径表示文件和目录的位置。

Info

可以认为目录(Directory) = 文件夹(Folder)。

绝对路径

绝对路径是相对于一个根路径而言的路径。

在 Windows 下,以分区开始。

相对路径

相对路径是相对于某个路径而言的路径。

  • . 表示当前目录
  • .. 表示上一级目录

目录和文件之间用 / (适用于绝大多数系统)或 \(Windows、DOS)分隔。

如果最后为目录,则最后也可以加分隔符,以与文件区分。

下面两张图为 Windows 下的某两个目录结构。留意目录层级和选中的文件。记它们分别为例 1、例 2。

Windows 下的某两个目录结构 - 例 1
Windows 下的某两个目录结构 - 例 1

Windows 下的某两个目录结构 - 例 2
Windows 下的某两个目录结构 - 例 2

则两个文件的绝对路径如下:

  1. Z:\code\config\jenkins\Dockerfile
  2. Z:\code\config\jenkins\docker-dind\20.10\Dockerfile

绝对路径的示意图
绝对路径的示意图

相对于例 1 所在的目录,例 2 的相对路径是什么?

查看答案 有两种写法: - `docker-dind\20.10\Dockerfile` - `.\docker-dind\20.10\Dockerfile`

反过来呢?

查看答案 `..\..\Dockerfile`

Linux 目录结构

Linux 的目录结构
Linux 的目录结构

根目录

Linux 中只有一个根目录:/

相对应的,一般认为 Windows 中的根目录对应的是分区的根目录,可以有多个,如 C:\

Windows 与 Linux 的分区表示方法差异

Windows 中的分区(GPT):

Windows 中的分区(GPT)
Windows 中的分区(GPT)

Linux 中的分区(GPT):

Linux 中的分区(GPT)
Linux 中的分区(GPT)

挂载

Linux 下分区一例:

Linux 下分区一例
Linux 下分区一例

上例中分区与目录的关系:

上例中分区与目录的关系
上例中分区与目录的关系

用户家目录

  • /home/username:普通用户 username 的家目录
  • /root:root 用户的家目录
  • ~:可以指代当前用户的家目录
  • ~username:可以指代给定用户 username 的家目录

程序目录

  • /boot:开机所需文件——内核、开机菜单以及所需配置文件等
  • /usrunix shared resources,用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 Program Files 目录
    • /usr/binbinaries,系统用户使用的应用程序(/bin 链接至此)
    • /usr/sbinsuperuser binaries,超级用户(root)使用的比较高级的管理程序和系统守护程序(/sbin 链接至此)
    • /usr/local:用户自行安装的软件
    • /usr/share:帮助与说明文件,也可放置共享文件

Info

链接相当于快捷方式,但是比快捷方式功能更强大。

/etc:配置目录

etcetera

存放所有的系统管理所需要的配置文件和子目录。

/var

variable

存放着不断扩充着的东西。

我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件。

虚拟目录

  • /devdevice,以文件形式存放任何设备与接口
  • /procprocess,虚拟文件系统,存放系统内核、进程、外部设备及网络状态等
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除(/var/run 链接至此)

其他

  • /liblibrary,存放系统最基本的动态连接共享库,类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库
  • /lost+found:一般情况下是空的,系统非法关机后,这里存放了一些文件
  • /media:Linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
  • /mntmount,系统提供该目录是为了让用户临时挂载别的文件系统的
  • /optoptional,这是给主机额外安装软件所摆放的目录
  • /syssystem,是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建
  • /tmptemporary,用来存放一些临时文件

参考资料