美文网首页
Linux各目录含义

Linux各目录含义

作者: yousiku | 来源:发表于2018-11-27 00:15 被阅读0次

    对于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系统该有哪些目录,各个目录应该存放什么,起什么作用等等。具体说明如下:

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

    /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/include c/c++程序的头文件
    /usr/lib 即/lib,用链接文件到方式将/lib链接至此
    /usr/lib64 即/lib64,用链接文件到方式将/lib64链接至此
    /usr/libexec 不常用的执行文件或脚本
    /usr/local 应用程序的安装目录,每个应用程序目录下还会有对应的bin, etc, lib等目录
    /usr/sbin 即/sbin,用链接文件到方式将/sbin链接至此
    /usr/share 共享文件,通常是一些文字说明文件,如软件文档等
    /usr/src source,应用程序源代码
    /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标准定义下必须存在的目录以及目录含义,对于标准约束外的目录我们就可以自行配置啦

    目录结构思维导图

    Linux各目录含义.png

    相关文章

      网友评论

          本文标题:Linux各目录含义

          本文链接:https://www.haomeiwen.com/subject/ggviqqtx.html