Linux的目录结构
/ - 根目录
根目录就是所有目录所在的目录,类似于 Windows中的磁盘驱动器符号。所有其他目录都是以/开头的。
层次关系同样适用/来表示
/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹内有a.txt
/bin 存放系统命令的目录,普通用户和超级用户都可以执行
/bin 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin 目录的软链接
/sbin 存放系统命令的目录,root 才可以执行
存放系统管理命令的目录,只有root才可以执行,是/usr/sbin 目录的软链接
/boot - 系统启动目录
/boot 中存放与系统启动相关文件,比如EFI、GRUB以及 Linux 内核。
/dev - 设备文件目录
实体硬件比如第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚拟设备比如null、random、stderr、stdin和stdout。
/etc - 配置文件目录
etc 的含义是Etcetera,表示一些相关的其他东西
/etc 中存放的是系统配置文件,特定用户的配置文件放在每个用户的 / home 目录下。
/home - 用户目录
/home 目录中存放的是每个用户的用户目录,比如有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中存放的用户数据和用户配置文件,比如每个用户的.bashrc文件、.ssh目录等。普通用户只能访问自己的用户目录而不能访问别人的。
/lib - 系统调用的函数库保存位置
/lib 目录存放/bin和/sbin中重要的二进制文件(程序)需要的共享库。
是/usr/lib的软连接
另外/usr/bin中二进制文件(程序)需要的共享库都存放在/usr/lib。
/lib64 64位函数库保存位置
是/usr/lib64软连接
/lost+found - 恢复文件目录
每个 Linux 文件系统都有 / lost+found 目录,当文件系统崩溃时,在下次启动时将会进行文件系统自检,任何在崩溃过程中损坏的文件都将被放入 / lost+found,你可以尝试找到并恢复这些文件。
当你将一些可删除媒介挂(比如 CD,U 盘,光驱等)载到计算机上时,系统会在 / media 下自动创建子目录,之后就可以通过访问这个子目录来访问媒介。比如你在电脑上插入 CD,在 / media 目录下就会自动生成一个子目录,你可以通过访问这个子目录来访问 CD 的内容。
/media - 挂载点目录
系统建议挂载媒体设备,如软件和光盘
/mnt - 临时挂载点
mnt 是mount的缩写,各种设备挂载到系统后,会在 / mnt 目录下生成相应设备的目录。建议挂载额外的设备,如U盘,移动硬盘等
/opt 放置和安装第三方软件的目录
opt 是Optional的意思,系统中安装的可选软件包被存放在 / opt 目录中。
手工安装的源码包软件都可以安装到这个目录中,usr/local目录也可以用来安装软件
/proc - 内核和进程文件目录
/proc 是一个虚拟目录,并不包含任何标准文件。
该目录中的数据是保存到内存中,主要保存系统的内核、进程、外部设备状态和网络状态等,如/proc/cpuinfo 保存 CPU信息,/proc/devices 保存设备驱动的列表,/proc/filesystems 保存文件系统列表,/proc/net 保存网络协议信息。
当系统启动后,会对当前内核和硬件信息进行检测,可以使用cat /proc/meminfo来查看关于内存的一些信息,或者使用cat /proc/version来查看 Linux 内核信息。
/sys 虚拟文件系统。
和/proc/目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息
/root root 用户的 home 目录
普通用户的 home 目录放在/home/{用户名}下
root 用户的 home 目录专门被放在/root。
/run 系统运行时产生的数据,/var/run 是此目录的软链接
/run 目录用来存放应用程序在运行期间需要的一些短暂存在的文件,比如 socket 和 pid 文件,这些文件对这些应用程序的运行很重要,因此不能把他们放在 / tmp 目录下,因为 / tmp 目录下的文件有可能会被系统清空。
/srv - 服务数据目录
/srv 目录存放统提供的网络服务的数据。一些系统服务启动之后,可以在这个目录中保存需要的数据
例如运行 HTTP 服务器,/srv/http目录将存放这些静态文件;运行 FTP 服务器对外提供文件,则/srv/ftp目录将存放这些文件。
/tmp - 临时文件目录
应用程序会将一些临时文件存放在 / tmp 目录中,一般来说当系统重启后,/tmp 下的文件会被自动清空,也会被一些监控程序清空。
/usr -系统软件资源目录
usr 是“UNIX Software Resource”的缩写,存放系统软件资源的目录。系统中安装的软件大多数保存在这里
/usr子目录:
/usr/lib 应用程序函数库保存位置
/usr/local 手工安装的软件保存位置
手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置,如安装源码包的 Apache,安装目录一般就是/usr/local/apache2 目录
/usr/bin 存放系统命令的目录,root和普通用户都可以执行
/usr/sbin 存放系统命令的目录,只有root才可以执行
/usr/share 应用程序资源文件的保存位置,如帮助文档、说明文档和字体目录
/usr/src 源码包保存位置。
我们手工下载的源码包和内核源码包都可以保存到这里。
也可以把手工下载的源码包保存到/usr/local/sre 目录中,把内核源码保存到/usr/src/kenels目录中
/usr/src/kernels 内核源码保存位置。
最小化安装没有安装内核源码包,这个目录是空的
/usr/include 存放编程语言的头文件和包含文件
/var 动态数据保存位置
主要保存缓存、日志及软件运行所产生的文件
/var子目录:
/var/lib 程序运行中需要调用或改变的数据保存位置。
如 MySOL数据库保存在/var/lib/mysql目录中
每个软件在此目录下都有自己独自的目录
/var/run 有些程序运行后, 会将 pid(进程ID)、socket 文件放置到这个目录中
是/run目录的软链接