在 Windows 中,咱们会看到磁盘驱动器的标识,比方
C:\
,E:\
,文件和目录名都跟在驱动器名前面。Linux 和 Windows 齐全不同,在 Linux 中你能够在根目录下运行ls
,察看它的目录构造:
/
– 根目录
顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点相似于 Windows 中的磁盘驱动器符号。之后将会看到,所有其余目录都是以
/
结尾的。
/bin
– 寄存重要的用户二进制文件目录
bin 是
binary
的缩写,/bin 目录寄存了十分重要的用户二进制文件,其实就是一些程序。须要特地阐明的是,/bin 中寄存的都是在单用户保护模式下还能被操作的命令,这些命令能够被 root 和普通用户应用。在 / bin 中咱们能够看到例如chmod
、du
这些咱们常常应用的 Linux 命令程序。
/boot
– 寄存系统启动时须要文件的目录
/boot
中寄存的次要是系统启动时须要用到的文件,比方EFI
、GRUB
以及 Linux 内核。
/dev
– 设施文件目录
Linux 将所有货色都看成文件,设施也不例外,不论是实体的硬件设施还是虚构设施。实体硬件比方第一块被检测到的硬盘会被挂载到
/dev/sda
,第二块会被挂载到/dev/sdb
,以此类推。虚构设施比方null
、random
、stderr
、stdin
和stdout
。
/etc
– 配置文件目录
etc
的含意是Et cetera
,示意一些相干的其余货色,/etc 从 UNIX 晚期开始就被用来寄存配置文件,始终沿用至今。须要留神的是,/etc 中寄存的是零碎配置文件,特定用户的配置文件放在每个用户的 / home 目录下。
/home
– 用户目录
/home
目录中寄存的是每个用户的用户目录,比方有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中寄存的用户数据和用户配置文件,比方每个用户的.bashrc
文件、.ssh
目录等。普通用户只能拜访本人的用户目录而不能拜访他人的,root 用户则没有此限度。
/lib
– 重要的共享库目录
/lib
目录中寄存的是/bin
和/sbin
中那些重要的二进制文件(程序)须要的共享库。另外/usr/bin
中二进制文件(程序)须要的共享库都寄存在/usr/lib
。
/lost+found
– 复原文件目录
每个 Linux 文件系统都有 / lost+found 目录,当文件系统解体时,在下次启动时将会进行文件系统自检,任何在解体过程中损坏的文件都将被放入 / lost+found,你能够尝试找到并复原这些文件。
当你将一些可删除媒介挂(比方 CD,U 盘,光驱等)载到计算机上时,零碎会在 / media 下主动创立子目录,之后就能够通过拜访这个子目录来拜访媒介。比方你在电脑上插入 CD,在 / media 目录下就会主动生成一个子目录,你能够通过拜访这个子目录来拜访 CD 的内容。
/mnt
– 长期挂载点目录
mnt
是mount 的缩写
,各种设施挂载到零碎后,会在 / mnt 目录下生成相应设施的目录,比方挂载光驱、文件系统、CD 等。
/opt
– 可选包目录
opt
是Optional
的意思,零碎中装置的可选软件包被寄存在 / opt 目录中。
/proc
– 内核和过程文件目录
/proc
是一个虚拟目录,并不蕴含任何标准文件。当系统启动后,会对以后内核和硬件信息进行检测,并将这些信息放在这个目录中(其实都在内存中)。你能够应用cat /proc/meminfo
来查看对于内存的一些信息,或者应用cat /proc/version
来查看 Linux 内核信息。
/root
– root 用户的 home 目录
和个别用户的 home 目录放在
/home/{用户名}
不同,root 用户的 home 目录专门被放在/root
。
/run
– 应用程序状态目录
/run
目录用来寄存应用程序在运行期间须要的一些短暂存在的文件,比方 socket 和 pid 文件,这些文件对这些应用程序的运行很重要,因而不能把他们放在 / tmp 目录下,因为 / tmp 目录下的文件有可能会被零碎清空。
/sbin
– 系统管理员用的二进制文件目录
/sbin
目录和/bin
目录有些相似,都是寄存二进制文件。比拟非凡的是,/sbin 目录寄存的都是系统管理的命令程序,个别只有 root 用户能应用。
/srv
– 服务数据目录
/srv
目录次要用来寄存一些零碎提供的网络服务的数据,如果你在机器上运行一个 HTTP 服务器来对外提供动态文件时,/srv/http
目录将寄存这些动态文件,如果你运行一个 FTP 服务器对外提供文件,则/srv/ftp
目录将寄存这些文件。
/tmp
– 长期文件目录
应用程序会将一些临时文件寄存在 / tmp 目录中,一般来说当零碎重启后,/tmp 下的文件会被主动清空,也会被一些监控程序清空。
/usr
– 用户二进制文件和只读文件目录
/usr
目录下寄存的是用户应用的程序,能够很显著地发现,Linux 将普通用户和零碎应用的程序离开寄存,比方下面提到过,零碎应用的一些重要程序寄存在 / bin,而那些不重要的程序就被放在 / usr/bin。不太重要的零碎管理程序寄存在 / usr/sbin 而不是 / sbin。usr 也被称为UNIX Software Resource
,这是比拟晚期的说法。上面是 / usr 目录下常见的几个子目录的含意:
- /usr/bin 寄存用户命令
- /usr/include 寄存编程语言的头文件和蕴含文件
- /usr/lib 寄存各个应用程序的库函数和指标文件
- /usr/local 寄存系统管理员下载的软件的装置目录
- /usr/sbin 寄存不罕用的系统命令
- /usr/src 寄存源码
/var
– 变动数据目录
/var
个别用来寄存常常变动的数据,比方日志文件和缓存文件。上面是 / var 目录下常见的几个子目录的含意:
- /var/cache 寄存利用程序运行产生的临时文件
- /var/lib 存放程序在执行过程中须要应用到的数据文件,每个软件在此目录下都有本人单独的目录
- /var/lock 存放程序的锁状态
- /var/log 寄存各种日志文件
- /var/mail 寄存集体电子邮箱
- /var/run 有些程序在运行后,会将他们的 pid、socket 文件搁置到这个目录中
软件装置标准
依据 FHS(http://www.pathname.com/fhs/)的官网文件指出,他们的次要目标是心愿让使用者能够理解到已装置软件通常搁置于那个目录下,所以他们心愿独立的软件开发商、操作系统制作者、以及想要保护零碎的用户,都可能遵循 FHS 的规范。也就是说,FHS 的重点在于标准每个特定的目录下应该要搁置什么样子的数据而已。这样做益处十分多,因为 Linux 操作系统就可能在既有的风貌下 (目录架构不变) 倒退出开发者想要的独特格调。
1. 可分享的:
能够分享给其余零碎挂载应用的目录,所以包含执行文件与用户的邮件等数据,是可能分享给网络上其余主机挂载用的目录;
2. 不可分享的:
本人机器下面运作的安装文件或者是与程序无关的 socket 文件等,因为仅与本身机器无关,所以当然就不适宜分享给其余主机了。
3. 不变的:
有些数据是不会常常变动的,跟随着 distribution 而不变动。例如函式库、文件阐明文件、系统管理员所治理的主机服务配置文件等等;
4. 可变动的:
常常扭转的数据,例如登录文件、个别用户可自行收受的新闻组等。
事实上,FHS 针对目录树架构仅定义出三层目录底下应该搁置什么数据而已,别离是底下这三个目录的定义:
- /(root, 根目录):与开机零碎无关
- /usr (unix software resource):与软件装置 / 执行无关
- /var (variable):与零碎运作过程无关
原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站