Linux目录详解
Linux目录配置依据FHS标准设定。
FHS要求必须存在的目录
/bin 存放的是linux中可执行的程序,并去在/bin目录下的命令可以被root和普通用户执行。一般存放的有ps chmod ps mkdir等
/boot 存放的是linux中启动的时候需要的文件,包括linux中的内核文件启动时候的配置文件等等,linux的内核文件名一般为vmlinuxz ,使用grub2引导程序的系统在系统中会出现/boot/grub2这个文件夹(GRUB是一个多操作系统的管理程序,允许用户在自己的计算机上安装多个操作系统并在开始的时候来回切换)
/etc 主要存放linux中的所有配置文件,一般存放比较重要的文件如管理员帐号密码。这个文件理论上是所有用户都可以访问的但是只有root用户才可以修改。这个目录一般不也许存在可执行文件。
/lib 系统的需要的函数非常多 而lib目录下的只是系统启动时需要使用的函数,还有bin目录和sbin目录需要使用的函数库
/media media意思是媒体 顾名思义就是存放一些媒体设备如光怕,软盘等等都是暂时挂在至此
/mnt 如果有额外需要暂时挂载的设备可以挂载到这里 在早些时候/mnt的用途和/media用处一样,直到/media的出现。所以这个目录用来暂时挂载。
/opt 这是一个第三方辅助文件的放置目录
/run 存放系统启动后产生的各项信息
/sbin 存放系统启动时候所需要的,包括启动、修护、还原所需要的命令,至于服务器软件程序则放到
/usr/sbin,至于本机安装的软件放在/usr/local/sbin中。
/srv srv可以看作service的缩写,这个目录主要是网路服务启动后,这些目录的数据目录。常见的是www,ftp服务器等等, 举个例子www服务的网页数据文件就存放在srv/www/这个目录中/tmp 这是一个让用户或着是程序暂时放置的地方,这个目录任何人都可以存取,当然重要的数据最好不要放到这里因为FHS建议启动时,应该将/tmp下的数据都删除
FHS建议可以存在的目录
/lost+found 这的目录是使用标准的ext2、ext3、ext4文件系统格式才会出现的。目的是文件发生错误时候,将这些遗失的片段放置到这个目录。
/proc 这个目录是虚拟文件系统,它放置的数据都是存在内存中的所以本身不占用系统磁盘空间。系统内核、进程信息、外界设备的状态和网络状态等
/sys 和/proc一样也是虚拟文件系统,主要记录内核与系统硬件信息相关的内容。
/usr目录详解
根据FHS的定义/usr目录存放的是可共享和不可变动的数据。usr不是user所以也就不是存放的用户数据。,其实usr是UNIX Software Resource 的缩写,也就是存放操作系统软件资源的目录。因为系统默认软件都存放到这里。所以有点像windows的C:\Windows(其中的一部分)+C:\Prigram Files这两个目录的结合体
必须存在的目录
/usr/bin/目录
一般用户可以执行的命令都放在此处,而且用链接文件的形式将/bin链接至此。也就是/usr/bin与/bin目录一模一样。而且规定这个目录不允许有子文件
。
/usr/lib目录
基本上与/lib功能相同,所以/lib就是链接于此
/usr/local目录
这个目录是系统管理员在本机安装自己下载的软件,建议安装到此目录这样便于管理,
/usr/sbin目录
非系统运行时所需要的命令,最常见的就是网络服务命令基本功能和/sbin目录差不多,所以/sbin目录链接于此。
/usr/share目录
这个目录主要存放的是只读文件,当然也包括共享文件。在这个目录下放置的数据几乎不区分硬件架构都可以读取。
建议可以存在的目录
/usr/games目录
游戏相关的数据
/usr/include目录
C/C++等程序的语言的头文件
与包含文件放置处。
/usr/libexrc目录
存放某些不被用户经常执行的程序或脚本
/usr/src目录
一般源码存放的地方
/var目录的意义和内容
如果说/usr目录在安装是会占用较大的硬盘容量的目录,那么/var就是在系统运行是才会逐渐占用硬盘的容量。因为你/var是针对与经常性可变的文件,包括缓存cache,日志文件log file 以及某些软件运行所产生的文件。包括程序文件。
要求必须存在的目录
/var/cache目录
应用程序本身运行过程中产生的缓存文件
/var/lib目录
程序本身执行过程中的数据目录,需要使用数据放置目录。在此目录各自软件需要有各自软件的目录
/var/log目录
放置系统日志文件
/var/mail目录
放置个人电子邮件的目录。
/var/run目录
程序运行时或者是服务启动是,会将他们的PID放到此文件目录中。