Linux 基础篇 - 目录结构
Linux 基础篇 - 目录结构
友情提示:这一章最好结合《Linux 实操篇 - Linux 磁盘分区、挂载》一起学习。
Linux 目录结构
基本介绍
在 Linux 世界里,一切皆文件 (!!)
深刻理解 linux 树状文件目录是非常重要的,因为服务器一般都是没有界面的。
Linux 的文件目录是规划好的,每个目录下面存放什么内容都是有规定的,不能你想放什么就放什么的
在 Linux 中,/
代表一个目录,就代表根目录。以下是根目录的一级子目录:
具体的目录结构
/bin 常用 (/usr/bin
、/usr/local/bin
) 是 Binary 的缩写,这个目录存放着最经常使用的命令,一个指令就是一个文件,很神奇。cd、cat 命令都有对应的文件。
/sbin (/usr/sbin
、/usr/local/sbin
)s 就是 SuperUser 的意思,这里存放的是系统管理员使用的系统管理程序。(从/sbin
和/bin
的区分和/home/root
的区分我们可以看出普通用户和 root 用户即系统管理员在 Linux 中有着本质的区别)
/home 常用 存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
/root 常用 该目录为系统管理员,也称作超级权限者的用户主目录,root 用户和普通用户的文件夹下都是一些常规文件夹,包括桌面文件夹,这跟 Windows 系统也很像
root:
普通用户:
/lib 系统开机所需要最基本的动态链接共享库,其作用类似于 Windows 里的 DLL 文件。什么是动态链接共享库呢?你可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。尤其重要的是/lib/modules/
这个目录,因为该目录会放置核心相关的模组 (驱动程式)。几乎所有的应用程序都需要用到这些共享库,如果删除了,很多程序的运行都会受影响。举个例子,这个文件夹下有我们熟悉的 jvm、gcc、vmware-tools 等软件。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件,这个目录在图形页面是看不到的,需要用终端来看
/etc 常用 所有的系统管理所需要的配置文件和子目录,二进制安装(yum rpm)的配置文件默认路径,比如安装 mysql 数据库 my.conf,其中最常用的文件夹是 sysconfig,最常修改的文件是 network-scripts 下的网卡配置文件以修改 IP。
/usr 常用 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 Program Files 目录。
/boot 常用 存放的是linux 的内核及系统引导程序所需的文件目录,包括一些链接文件以及镜像文件,对应 boot 分区。
/proc 不能动 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息,这个目录下有很多文件夹,文件夹的名字就是进程的 ID,每一个文件夹就代表一个进程,真的是Linux 下一切皆文件
/srv 不能动 service 缩写,该目录存放一些服务启动之后需要提取的数据。这个目录是一些网路服务启动之后,这些服务所需要取用的资料目录
/sys 不能动 这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs
/proc
、/srv
、/sys
为三大不能动文件夹
/tmp 这个目录是用来存放一些临时文件的,重要资料不可放置在此目录
/dev 类似于 windows 的设备管理器,把所有的硬件用文件的形式存储,举个例子你给虚拟机分配了四核,那么/dev/cpu
文件夹下就有四个文件夹,硬盘也有文件夹 disk。常用 /dev/null
,
/media 常用 linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下
/mnt 常用 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。比如之前通过 vmware tools 设置得共享文件夹F:\myShare
就是在/mnt
目录下。什么是挂载?挂载就是为了让 Linux 可以访问 Linux 文件系统以外的文件系统,比如一块硬盘或者 U 盘。详情请看下面的什么是挂载?
小节。
/opt 这是给主机额外安装的第三方软件(这里指的是安装包,不是软件的安装目录,软件安装目录是/usr)所存放的目录。如安装 ORACLE 数据库就可放到该目录下。默认为空。
/usr/local 常用 这是另一个给主机额外安装软件所安装的目录(这是软件的安装目录,不是安装包存放的目录)。一般是通过编译源码方式安装的程序
/var 常用 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
/selinux security-enhancedlinux SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置,没有启用这个功能的话是看不到的文件夹的。
什么是挂载?
挂载指的就是将设备文件中的顶级目录链接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
在 Unix 系统中可访问的所有文件都被安排在一个大树中,即文件层次结构,其根基是/
。mount 命令的作用是将某个设备上的文件系统连接到大文件树上。反之,umount 命令将把它再次分离出来。
Linux 系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将 Linux 本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为"挂载"。
Linux 系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。