在 Windows 中,我们会看到磁盘驱动器的标识,比如C:\E:\,文件和目录名都跟在驱动器名后面。Linux 和 Windows 完全不同,在 Linux 中你可以在根目录下运行ls,观察它的目录结构:

/ - 根目录


顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点类似于 Windows中的磁盘驱动器符号。之后将会看到,所有其他目录都是以/开头的。

/bin - 存放重要的用户二进制文件目录


bin 是binary的缩写,/bin 目录存放了非常重要的用户二进制文件,其实就是一些程序。需要特别说明的是,/bin 中存放的都是在单用户维护模式下还能被操作的命令,这些命令可以被 root 和普通用户使用。在 / bin 中我们可以看到例如chmoddu这些我们经常使用的 Linux 命令程序。

/boot - 存放系统启动时需要文件的目录


/boot 中存放的主要是系统启动时需要用到的文件,比如EFIGRUB以及 Linux 内核。

/dev - 设备文件目录


Linux 将所有东西都看成文件,设备也不例外,不论是实体的硬件设备还是虚拟设备。实体硬件比如第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚拟设备比如nullrandomstderrstdinstdout

/etc - 配置文件目录


etc 的含义是Et cetera,表示一些相关的其他东西,/etc 从 UNIX 早期开始就被用来存放配置文件,一直沿用至今。需要注意的是,/etc 中存放的是系统配置文件,特定用户的配置文件放在每个用户的 / home 目录下。

/home - 用户目录


/home 目录中存放的是每个用户的用户目录,比如有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中存放的用户数据和用户配置文件,比如每个用户的.bashrc文件、.ssh目录等。普通用户只能访问自己的用户目录而不能访问别人的,root 用户则没有此限制。

/lib - 重要的共享库目录


/lib 目录中存放的是/bin/sbin中那些重要的二进制文件(程序)需要的共享库。另外/usr/bin中二进制文件(程序)需要的共享库都存放在/usr/lib

/lost+found - 恢复文件目录


每个 Linux 文件系统都有 / lost+found 目录,当文件系统崩溃时,在下次启动时将会进行文件系统自检,任何在崩溃过程中损坏的文件都将被放入 / lost+found,你可以尝试找到并恢复这些文件。

当你将一些可删除媒介挂(比如 CD,U 盘,光驱等)载到计算机上时,系统会在 / media 下自动创建子目录,之后就可以通过访问这个子目录来访问媒介。比如你在电脑上插入 CD,在 / media 目录下就会自动生成一个子目录,你可以通过访问这个子目录来访问 CD 的内容。

/mnt - 临时挂载点目录


mntmount的缩写,各种设备挂载到系统后,会在 / mnt 目录下生成相应设备的目录,比如挂载光驱、文件系统、CD 等。

/opt - 可选包目录


optOptional的意思,系统中安装的可选软件包被存放在 / opt 目录中。

/proc - 内核和进程文件目录


/proc 是一个虚拟目录,并不包含任何标准文件。当系统启动后,会对当前内核和硬件信息进行检测,并将这些信息放在这个目录中(其实都在内存中)。你可以使用cat /proc/meminfo来查看关于内存的一些信息,或者使用cat /proc/version来查看 Linux 内核信息。

/root - root 用户的 home 目录


和一般用户的 home 目录放在/home/{用户名}不同,root 用户的 home 目录专门被放在/root

/run - 应用程序状态目录


/run 目录用来存放应用程序在运行期间需要的一些短暂存在的文件,比如 socket 和 pid 文件,这些文件对这些应用程序的运行很重要,因此不能把他们放在 / tmp 目录下,因为 / tmp 目录下的文件有可能会被系统清空。

/sbin - 系统管理员用的二进制文件目录


/sbin 目录和 /bin 目录有些类似,都是存放二进制文件。比较特殊的是,/sbin 目录存放的都是系统管理的命令程序,一般只有 root 用户能使用。

/srv - 服务数据目录


/srv 目录主要用来存放一些系统提供的网络服务的数据,如果你在机器上运行一个 HTTP 服务器来对外提供静态文件时,/srv/http目录将存放这些静态文件,如果你运行一个 FTP 服务器对外提供文件,则/srv/ftp目录将存放这些文件。

/tmp - 临时文件目录


应用程序会将一些临时文件存放在 / tmp 目录中,一般来说当系统重启后,/tmp 下的文件会被自动清空,也会被一些监控程序清空。

/usr - 用户二进制文件和只读文件目录


/usr 目录下存放的是用户使用的程序,可以很明显地发现,Linux 将普通用户和系统使用的程序分开存放,比如上面提到过,系统使用的一些重要程序存放在 / bin,而那些不重要的程序就被放在 / usr/bin。不太重要的系统管理程序存放在 / usr/sbin 而不是 / sbin。usr 也被称为UNIX Software Resource,这是比较早期的说法。下面是 / usr 目录下常见的几个子目录的含义:

  1. /usr/bin 存放用户命令
  2. /usr/include 存放编程语言的头文件和包含文件
  3. /usr/lib 存放各个应用程序的库函数和目标文件
  4. /usr/local 存放系统管理员下载的软件的安装目录
  5. /usr/sbin 存放不常用的系统命令
  6. /usr/src 存放源码

/var - 变动数据目录


/var 一般用来存放经常变动的数据,比如日志文件和缓存文件。下面是 / var 目录下常见的几个子目录的含义:

  1. /var/cache 存放应用程序运行产生的临时文件
  2. /var/lib 存放程序在执行过程中需要使用到的数据文件,每个软件在此目录下都有自己独自的目录
  3. /var/lock 存放程序的锁状态
  4. /var/log 存放各种日志文件
  5. /var/mail 存放个人电子邮箱
  6. /var/run 有些程序在运行后,会将他们的 pid、socket 文件放置到这个目录中

软件安装规范

根据FHS(http://www.pathname.com/fhs/)的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下, 所以他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都能够遵循FHS的标准。 也就是说,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。 这样做好处非常多,因为Linux操作系统就能够在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。

1. 可分享的:

可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录;

2. 不可分享的:

自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。

3. 不变的:

有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;

4. 可变动的:

经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

事实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

  • /(root, 根目录):与开机系统有关

  • /usr (unix software resource):与软件安装/执行有关

  • /var (variable):与系统运作过程有关

原文链接:https://rumenz.com/rumenbiji/linux-directory-structure.html
微信公众号:入门小站

Linux之目录结构相关推荐

  1. Linux学习--目录结构

    ** Linux学习–目录结构 ** 一.基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录. 记住一句经 ...

  2. Linux的目录结构和头文件相关;哪里找- sys/types.h, sys/stat.h

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_29757283/article/ ...

  3. Linux的目录结构与目录管理

    Linux的目录结构与目录管理 Linux目录结构: 目录创建的规则 FHS 文件系统层次化标准 指定了Linux操作系统,哪些目录是一定要具备的 /boot /bin /sbin /etc /sys ...

  4. linux apache设置web访问重定向_从零开始学Linux运维|30.Linux的目录结构

    1.tree命令 linux下目录结构跟一个倒过来的树一样的,最顶层就是根目录 / tree这个命令就很形象 它够很方便的查看目录结构 使用"yum install tree -y" ...

  5. 4.Linux的目录结构

    Linux的目录结构 (1)"/"目录 Linux文件系统的入口,也是出于最高一级的目录 (2)"/bin" 基础系统所需要的那些命令位于此目录.也是最小系统所 ...

  6. Linux基本目录结构

    上一步我们已经搭建好实验环境了,这一节就来实际操作一下,到底什么是CentOS,到底什么是Linux操作系统,写什么,如何去做,如何去打开,下面我们带着这些疑惑展开这一节 1.打开终端,有些微型版的C ...

  7. 【Linux】Linux 标准目录结构

    为什么80%的码农都做不了架构师?>>>    初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程 ...

  8. Linux理论05:Linux的目录结构

    本文介绍Linux的目录结构,属于基础理论. Linux的目录 Linux的所有目录都是从根目录开始,根目录表示为/.此与Windows不同,Windows的所有目录是从盘符开始,如C:,D:. 根目 ...

  9. Linux(1) 目录结构

    Linux(1) 目录结构 一.Linux文件树 linux的文件系统是采用集层式的树状目录结构,根目录是"/",然后在次目录下再创建其它的目录. 树状图: 文件图: 二.文件目录 ...

  10. 大数据技术之_01_Linux学习_01_linux的入门+VM和linux的安装+linux的目录结构+远程登录到linux服务器+vi和vim编辑器+开机、重启和用户登录注销+用户管理+用户组管理

    大数据学习之_01_Linux学习_01 1 linux的入门 1.1 Linux的介绍 2 VM和linux的安装 2.1 安装vm和Centos 2.1.1 基本说明 2.1.2 CentOS安装 ...

最新文章

  1. 【机器学习基础】逻辑回归 + GBDT模型融合实战!
  2. 【转】windows Server2012安装iis
  3. 字节跳动---毕业旅行问题
  4. cocos2d-x学习 之一
  5. python pip install pillow_Windows下Python中pip安装Pillow报错总结(转载)
  6. 情报使能 合作共赢 | TI INSIDE计划发布会即将开始
  7. STM8S103K3和STM8S105K4原理图
  8. bp神经网络java代码_BP神经网络的Java实现
  9. 去中心化身份 DID( Decentralized Identifiers)
  10. 4k纸是几厘米乘几厘米_4K纸是多大?
  11. 怎么查看无线路由器连接的设备连接服务器,路由器怎么看几个人连接
  12. 鲁班图片压缩实现仿微信九宫格选择图片效果
  13. 拿到FaceBook注册用户的手机号有多简单?看这篇文章就够了。
  14. TokenInsight对话首席——揭秘7*24小时用数学解码交易的神秘玩家:量化交易者
  15. DNS解析出现错误故障解决
  16. 如何用A4纸排版打印并制作成四分之一大小的册子(简易说明书)
  17. Python基础课程-面向对象编程
  18. 智策网的泸州止盈,行情的结束以放量信号而结束的
  19. 65Z5的芯片,65Z5三极管,稳压输出3V的IC资料
  20. 蓝桥杯 STEMA 考试 C++ 编程题模拟题

热门文章

  1. window桌面版太空人
  2. OGG|Oracle GoldenGate 微服务架构
  3. 做一个浏览器上的Excel(一)
  4. 20220415拿掉MT6739在android10下的DebugLoggerUI的方法(eng模式)
  5. 2023年测试工程师核心竞争力?功能到自动化测试开发收割28k的offer...
  6. C++ 文件流的详解
  7. 软件需求用例如何写?
  8. 【对讲机的那点事】酒店通信数字调度管理系统的搭建
  9. 工业自动化应用智能制造技术有哪些作用?
  10. 来凯医药冲刺港交所上市:斥巨资购买专利许可权,将持续受制于人