3.3.1 文件系统层次结构标准

和其它Linux分发版一样,Kali Linux也是按文件系统层次结构标准(FHS)也组织的,让其它Linux发行版的用户可以很容易上手Kali。FHS定义了每个目录的用途。最顶层的目录描述如下。

  • /bin/:基本的程序

  • /boot/:Kali Linux内核和其它用于其最先启动过程的文件

  • /dev/:设备文件

  • /etc/:配置文件

  • /home/:用户的个人文件

  •  /lib/:基本库

  •  /media/*:可移动设备(光驱,U盘等)的挂载点

  • /mnt/:临时挂载点

  •  /opt/:第三方提供的其它应用

  •  /root/:管理员(root)的个人文件

  • /run/:易变的运行时数据,系统重启后数据消失(不包含在FHS中)

  • /sbin/:系统程序

  • /srv/:本机上运行的服务所使用的数据

  • /tmp/:临时文件(该目录在启动时通常为空)

  • /usr/:应用程序(该目录下按照根目录一样的逻辑结构又分别有bin,sbin,lib),而且,/usr/share/包含有数据与是独立于体系结构的。/usr/local/目录是被管理员用来手动安装应用程序的,其目的是不覆盖由软件包管理系统(dpkg)所处理的文件。

  •  /var/:由守护进程处理的变化数据。包括日志文件,队列,各种池和缓存。

  • /proc/和/sys/目录是专门用于Linux内核的(不是FHS的一部分)。通常被内核用于把数据导出到用户空间。

3.3.2 用户主目录

用户主目录的内容不是标准的,但仍然有一些值得注意的约定。其一是用户的主目录通常由~表示。知道这点非常有用,因为命令解释器会自动用正确的目录来替换这个符号(正确的目录存储在HOME环境变量中,其值通常为/home/用户名/)。

传统上讲,应用程序的配置文件一般存储在你个人的主目录下,但文件名通常是以一个.开头(例如,mutt电子邮件客户端把其配置存储在~/.muttrc文件中)。注意,以点开头的文件名默认情况下是隐藏的(注:类似于Windows系统下的隐藏文件);ls命令只有加上参数-a后才能列也这些文件,图形界面的文件管理器需要明确配置才能显示这些隐藏文件。

一些程序也会在一个目录下使用多个配置文件(比如,~/.ssh/)。一些应用(如Firefox浏览器)也会使用它们的目录来缓存一些下载数据。这就意味着这些目录最终会消耗很多磁盘空间。

这些配置文件(通常统称为点文件)直接存储在你的主目录,而且一直在增加,最终会导致这些目录非常混乱。幸运的是,在FreeDesktop.org保护伞的共同努力下,形成了XDG基准目录规范,这是一种旨在清理这些文件和目录的约定。该规范规定配置文件应存储在~/.config下,缓存文件存储在~/.cache下,应用程序数据文件存储在~/.local(或其子目录)下。这一惯例正在慢慢地得到推动。

图形桌面通常有一个显示~/Desktop/目录内容的快捷方式(或者其它非英语系统相对应的目录)。

最后,电子邮件系统有时将收到的电子邮件存储到~/Mail/目录中。