Linux系统的目录结构及各目录作用
使用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是动态库 静态库在编译时被加载到二进制文件中 动态库在运行时加载到进程的内存空间中 简单的说:这些库视为了让你的程序能过正常编译运行的 |