Linux系统的目录结构及各目录作用

时间:2022-04-02 05:22:29

使用tree命令查看Linux目录结构,这个命令默认是没有安装的,需要手动安装一下。

[root@xuexi xf]# mount /dev/sr0 /media/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@xuexi xf]# rpm -ivh /media /Packages/tree-1.6.0-10.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

   1:tree-1.6.0-10.el7                ################################# [100%]

查看根’/’的目录结构,由于根的结构实在是太庞大,这里就不写出

[root@xuexi xf]# tree /

         可以看下根’/’下存在的文件。

[xf@xuexi ~]$ ls /

bin   dev  home  lib64  mnt  proc  run   srv  tmp  var

boot  etc  lib   media  opt  root  sbin  sys  usr

下面详细说明根下的目录作用:

目录

说明

/

处于Linux系统树形结构的顶端,它是Linux文件系统的入口,所有的目录、文件、设备都在/之下

/bin

Bin是Binary的缩写。常用的二进制命令目录。比如ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gun工具

/boot

存放系统启动相关的文件,例如:kernel.grub(引导装载程序)

/dev

dev是Device的缩写。设备文件目录,比如声卡、磁盘。在Linux中一切都被看做文件,包括终端设备、磁盘等等

设备文件:/dev/sda,/dev/sda1./dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero,/dev/null,/dev/cdrom

/etc

常用系统或二进制安装包配置文件默认路径和服务器启动命令目录

passwd 用户信息文件

shadow 用户密码文件

group 存储用户组信息

fstab 系统开机自动挂载分区列表

hosts 设定用户自己的IP与主机名对应信息

/home

普通用户默认的家目录

/lib

库文件存放目录,函数库目录

/lost+found

只在CentOS6中有

默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题, 可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件)当系统非法关机后,这里就会存放一些文件。

在 centos6 版本下,每个分区的挂载点下会有些目录

/mnt

/media

一般用来临时挂载存储设备的挂载目录,比如cdrom、U盘等目录

/opt

表示的是可选择的意思,有些软件包也会被安装在这里

/proc

操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个文件来获取系统信息。也就是说,这个目录的内存不再硬盘上而是在内存里。

查看CPU信息

cat /proc/cpuinfo

/sys

系统目录,存放硬件信息的相关文件

/run

运行目录,存放的是系统运行时的数据,比如进程的PID文件

/srv

服务目录,存放的是我们本地服务的相关文件

/sbin

大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。

/tmp

用于存放临时文件,又是用户运行程序的时候会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是类似的,不能存放重要数据,它的权限比较特殊。

[xf@xuexi ~]$ ls -ld /tmp

drwxrwxrwt. 27 root root 4096 12月 23 19:18 /tmp

t粘滞位(sticky bit)目录的sticky位表示这个目录里的文件只能被owner和root删除

/var

系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如 /var/log目录用来存放系统日志,还有/var/mail、/var/spool/cron

/usr

存放应用程序和文件

/usr/bin 普通用户使用的应用程序

/usr/sbin 管理员使用的应用程序

/usr/lib 库文件Glibc(32位)

/usr/lib64 库文件Glibc

/lib

/lib64

都在/usr/目录下

这个目录里存放着系统最基本的动态链接共享库,白喊许多倍/bin和/sbin中的程序使用的库文件,目录/usr/lib中含有更多用于用户程序的库文件。作用类似于windows里的dll文件,几乎所有的应用程序都需要用到这些共享库

注:lib***.a是静态库

Lib***.so是动态库

静态库在编译时被加载到二进制文件中

动态库在运行时加载到进程的内存空间中

简单的说:这些库视为了让你的程序能过正常编译运行的