Linux各目录含义

对于linux系统,我们进入到根目录/并列出根目录下所有文件可以看到:

[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

这些似懂非懂的目录名都有什么含义呢?

FHS标准

其实,linux系统的目录都遵循一个标准,即由Linux基金会发布的 文件系统层次结构标准 (Filesystem Hierarchy Standard, FHS)。这个标准里面定义了linux系统该有哪些目录,各个目录应该存放什么,起什么作用等等。具体说明如下:

目录解释
/binbinary,即用来存放二进制可执行文件,并且比较特殊的是/bin里存放的是所有一般用户都能使用的可执行文件,如:cat, chmod, chown, mv, mkdir, cd 等常用指令
/boot存放开机时用到的引导文件
/devdevice(并不是develop哦),任何设备都以文件的形式存放在这个目录中
/etcEditable Text Configuration(早期含义为etcetera,但是有争议),存放系统配置文件,如各种服务的启动配置,账号密码等
/home用户的主目录,每当新建一个用户系统都会在这个目录下创建以该用户名为名称的目录作为该用户的主目录。并且在命令行中代表当前用户的主目录,yousiku表示yousiku这个用户的主目录
/liblibrary,存放着系统开机时所需的函数库以及/bin和/sbin目录下的命令会调用的函数库
/lib64存放相对于/lib中支持64位格式的函数库
/media可移除的媒体设备,如光盘,DVD等
/mntmount,临时挂载的设备文件
/optoptional,可选的软件包,即第三方软件。我们可以将除了系统自带软件之外的其他软件安装到这个目录下
/procprocess,该目录是一个虚拟文件系统,即该目录的内容存放于内存中而不是硬盘中,存放着系统内核以及进程的运行状态信息
/root超级管理员root的主目录
/run最近一次开机后所产生的各项信息,如当前的用户和正在运行中的守护进程等
/sbin存放一些只有root账户才有权限执行的可执行文件,如init, ip, mount等命令
/srvservice,存放一些服务启动后所需的数据
/syssystem,与/proc类似也是一个虚拟文件系统,存放系统核心与硬件相关的信息
/tmptemporary,存放临时文件,可以被所有用户访问,系统重启时会清空该目录
/usrUnix Software Resource(并不是指user哦),存放着所有用户的绝大多数工具和应用程序(下文详细介绍)
/varvariable,存放动态文件,如系统日志,程序缓存等(下文详细介绍)

/usr目录

Unix Software Resource 意为 Unix系统软件资源,系统自带的软件都装在这个目录下(好比Windows系统的"C:\Windows"),用户安装的第三方软件也在这个目录下(好比Windows系统的"C:\Program Files"),不同的是,在Windows系统上安装软件通常将该软件的所有文件放置在同一个目录下,但是在Linux系统安装软件会将该软件的不同文件分别放置在/usr目录下的不同子目录下,而不应该自行创建该软件自己的独立目录。进入到/usr目录,一般有以下子目录:

[root@localhost /]# cd usr/
[root@localhost usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
目录含义
/usr/bin即/bin,用链接文件到方式将/bin链接至此
/usr/etc应用程序的配置文件
/usr/games与游戏相关的数据
/usr/includec/c++程序的头文件
/usr/lib即/lib,用链接文件到方式将/lib链接至此
/usr/lib64即/lib64,用链接文件到方式将/lib64链接至此
/usr/libexec不常用的执行文件或脚本
/usr/local应用程序的安装目录,每个应用程序目录下还会有对应的bin, etc, lib等目录
/usr/sbin即/sbin,用链接文件到方式将/sbin链接至此
/usr/share共享文件,通常是一些文字说明文件,如软件文档等
/usr/srcsource,应用程序源代码
/usr/tmp应用程序临时文件

/var

/var主要存放一些动态文件,比如程序缓存,登陆文件,程序运行所产生的文件等,常见的子目录有:

[root@localhost usr]# cd /var
[root@localhost var]# ls
adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp
cache  db     games  kerberos  local  log   nis   preserve  spool  yp
目录含义
/var/cache应用程序缓存
/var/lib应用层序运行所需的数据文件,在这个目录下各自的程序应该要有各自的目录
/var/lock文件锁,使某些文件资源一次只能被一个应用程序使用
/var/log日志文件
/var/run进程或服务PID
/var/spool队列数据,即等待处理的任务,如发送信息若发送失败则先存放至此,等发送成功后就被删除

一般来说,我们在Linux上管理文件与目录时只要记住大概的FHS标准定义下必须存在的目录以及目录含义,对于标准约束外的目录我们就可以自行配置啦

目录结构思维导图

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值