Linux系统中一切都是文件。
在linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,Linux系统中的一切文件都是从“根(/)”目录开始的,并按照树形结构来存放文件,且定义了常见目录的用途,文件和目录名称严格区分大小写。
Linux系统的文件目录结构主要如下所示:
- /usr:这是一个非常重要的目录,包含绝大多数的(多)用户工具和应用程序,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /lib:存放着系统开机时会用到的函数库,以及在/bin和/sbin下命令会调用的函数库,几乎所有的应用程序都需要用到这些共享库。
- /var:存放不断扩充的内容,如经常被修改的目录、文件(包括各种日志文件)等。
- /boot:存放启动Linux时所需的一些核心文件(linux内核文件),包括一些引导程序文件、链接文件、镜像文件等。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,该目录名一般以用户账号命名,包含保存的文件、个人设置等。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理命令。
- /bin:这个存放的是当前用户的系统管理命令(cat、cp、ps等)。
- /etc:存放所有的系统管理所需的配置文件和子目录(例如人员的帐号密码文件,各种服务的起始文件等)。
- /tmp:存放一些临时文件,在系统重启时临时文件将被删除。
- /snap:Ubuntu 16.04及之后版本引入了snap包管理器,与之相关的目录、文件(包括安装文件)位于/snap中。
- /lost+found:该目录一般情况下是空的,当系统非法关机后会在该目录生成一些遗失的片段。
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到该目录下。
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /root:该目录为系统管理员用户主目录。
- /opt:该目录存放安装的第三方软件,如Oracle数据库就可以安装到该目录下。
- /mnt:挂载其他的文件系统(含硬盘分区)的目录。
- /lib64:类似lib目录,存放64位库文件。
- /srv:可以视作service的缩写,是一些网络服务启动后,这些服务需要取用的数据目录,常见的服务例如www,ftp等。
- /proc:这个目录本身是一个虚拟文件系统,它放置的数据都是在内存当中,不占用硬盘的容量。
- /sys:这个目录其实跟/proc非常的相似,也是一个虚拟的文件系统主要也是记录与内核相关的信息,不占用硬盘容量。
- /dev:在linux中任何的设备和接口设备都是以文件的形式存在于这个目录当中。你只要到通过访问这个目录下的某个文件就相当于访问某个设备。