Linux文件目录结构
在 Linux
中,其文件目录结构是一颗类似于多叉树的结构,所有目录都在 / (根目录)下面,每个非叶节点代表一个目录,叶节点代表文件。
一般结构如下所示:
- usr :“Unix Software Resource” 的缩写,该目录包含用户使用的应用程序和文件,而不是系统使用的应用程序和文件,例如:非必需的应用程序位于 /usr/bin 目录而不是 /bin 目录中,非必需的系统管理二进制文件位于 /usr/ sbin 目录而不是 /sbin 目录中。
- bin: bin是 Binarity (二进制文件)的缩写,存放着最常用的程序和指令。
- sbin∶s表示super(超级) 只有系统管理员能使用的程序和指合。
- boot∶存放的是
Linux
启动时使用的内核文件,包括压缩后的内核镜像文件、虚拟文件系统镜像文件 、后动引导grub
的配置文件。 - dev : Device(设备)的缩写,存放的是Linux的设备文件。由于
Linux
下一切皆文件,所以Linux
访问设备和访问文件的方式是相同的,设备也被看成一个文件,访问该文件就相当于访问对应设备! - etc︰系统全局配置文件,会影响所有的用户,此目录下的文件更改不当可能会导致系统不能启动,特定于用户的配置文件位于每个用户的家目录中,并不在此目录中。
- home∶存放用户的家目录,用户的家目录里面的目录是以用户的账号命名的。
- lib∶存放二进制文件需要的库(比如C/C++库),几乎所有的应用程序都需要用到这些共享库。
- lost+found:该目录用于存放系统异常时文件的碎片,以便于进行恢复,一般情况下为空的,系统非法关机后,这里就存放一些文件。
- media :
Linux
系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux
会把识别的设备挂载到这个目录下。 - mnt∶系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt上,然后进入该目录就可以查看光驱里的内容了。
- opt : 默认是空的,当我们安装额外软件可以放在这个里面。
- proc:
proc
是Processes(进程)的缩写,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。 - root: root 用户的家目录。root 用户不同于普通用户,其单独有一个家目录。
- run : 该目录是一个相当新的目录,它为应用程序提供了一个标准位置来存储所需的临时文件,例如套接字和进程ID。这些文件无法存储在
/tmp
中,因为/tmp
中的文件会被删除,同时它也是一个临时文件系统,存储系统启动以后的信息。当系统重后时,这个目录下的文件应该被删掉或清除。 - srv : 主要用来存储本机或本服务器提供的服务或数据。(这只是一个只是建议)
- sys∶这是
linux
2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中。 - tmp : 该目录存储临时文件,系统在重启时会自动清理该目录下的文件(不同Linux系统清理时间有差别,CentOS 是重启后清理十天前文件,Ubuntu 是每次重启后清理),所以不要将重要文件放到这个目录下。
- var: 该目录包含系统运行中内容不断变化的文件,如日志,脱机文件和临时电子邮件文件,有时是一个单独的分区。