一,linux的目录结构

  • /bin:所有用户都可以使用的可执行程序

  • /sbin:系统管理员使用的可执行程序

  • /boot:引导加载器必须用到的静态文件:kernel,initramfs,grub等。

  • /dev:设备文件和特殊文件(虚拟设备等)。设备有2种

    • 字符设备(线性设备,有顺序依次处理):逐个字符处理。比如,显示器,键盘等
    • 块设备(随机设备,无顺序跳跃处理):多个字符一起处理。比如,硬盘等
  • /etc:进程的配置文件。必须是文本文件。它下面必须有以下4个目录

    • opt:Configuration for /opt
    • X11:Configuration for the X Window system(optional)
    • sgml:Configuration for SGML(optional)
    • xml:Configuration for XML(optional)
  • /home:用户使用的家目录的集中位置。

  • /root:管理员的家目录。

  • /lib:为系统启动或者/bin和/sbin目录下的可执行程序提供共享库,以及为内核提供内核模块。

    • libc.so.*:动态链接的C库。
    • ld*:运行时的链接器/加载器
    • /lib/modules目录:用于存放内核模块的目录。
  • /lib64:64系统的动态库文件

  • /media:便携式设备挂载点,比如cdrom,软盘,u盘等

  • /mnt:其他文件系统的临时挂载点。

  • /opt:Add-on application software packages。第三方程序的安装目录。

  • /srv:当前主机为服务提供的数据,一般不使用。

  • /tmp:为那些会产生临时文件的进程,提供用于存储临时文件的目录。可供所有用户提供写入操作。

  • /usr:全局共享的只读数据路径。

    • /bin,/sbin
    • /lib,/lib4
    • /include:c的头文件
    • /share:命令手册和自带文档
    • /local:第三方的安装程序的存放目录。让系统管理人员安装新版本的程序,并保留老版本的程序。
    • /src:程序源码文件
  • /var:数据经常发生的目录。比如日志。

    • /cache:application cache data
    • /lib:variable state information
    • /local:variable data for /usr/local
    • /lock:Lock files
    • /log:Log files and directories
    • /opt:variable data for /opt
    • /run:data relevant to running processes
    • spool:application spool data
    • tmp:temporary files preserved between system reboots
  • /proc:基于内存的虚拟文件系统。内核是有属性信息(版本号等)的,那么如何查看,正在运行中的内核的属性信息呢?内核把它的属性信息抽象成filesystem。比如内核属性:net.ipv4.ip_forward,抽象成了/proc/sys/net/ipv4/ip_forward文件,这个文件里的内容就是此属性的值。进程和内核一样,也把自己的属性信息,抽象成了filesystem。符合Linux里,一切都是文件的理念。

  • /sys:sysfs虚拟文件系统提供了比/proc更好的访问内核属性数据的途径,其主要作用:为管理linux设备提供了统一的接口。以后有可能取代/opt。从2.6内核开始才有此目录。

    # ls /sys
    block class devices fs kernel power
    bus dev firmware hypervisor module

二,文件类型

ls -l后,

# ls -lrt /dev
total 0
drwxrwxrwt. 2 root root 40 Dec 14 18:26 shm
lrwxrwxrwx. 1 root root 15 Dec 14 18:26 stdout -> /proc/self/fd/1
crw-------. 1 root root 10, 239 Dec 14 18:26 uhid
brw-rw----+ 1 root cdrom 11, 0 Dec 14 18:26 sr0
drwxr-xr-x. 3 root root 60 Dec 14 18:26 bus
  • ls -lrt /dev的输出结果中的第一个数字10:major number:主设备号,用于标识设备类型的,进而确定要加载的驱动程序。
  • ls -lrt /dev的输出结果中的第二个数字239:minor number:次设备号,用于标识同一类型中的不同设备。
  • -:常规文件
  • d:目录
  • b:block device,块设备文件,可以以block单位,进行随机访问
  • c:character device,字符设备文件,以字符为单位,进行线性访问
  • l:symolic link,符号链接,软链接文件
  • p:pipe,有名字的管道文件
  • s:socket,套接字文件,用于本地进程间通信

ps:用file命令可以查看文件的类型。

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

Linux 文件系统简介(FHS:Filesystem Hierarchy Standard)的更多相关文章

  1. Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)

    Linux FHS_2.3标准文档:http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf

  2. Linux & Filesystem Hierarchy Standard

    Linux & Filesystem Hierarchy Standard The Filesystem Hierarchy Standard of Linux https://zhuanla ...

  3. The Filesystem Hierarchy Standard of Linux

    The Filesystem Hierarchy Standard of Linux linux directory https://zhuanlan.zhihu.com/p/23862856 htt ...

  4. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  5. linux文件系统简介

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  6. Linux文件系统简介----转载

    原文地址:Linux文件系统 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载 ...

  7. 【转载】linux文件系统简介

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  8. Linux文件系统简介及常用命令

    在linux系统中一切皆是文件,下面简要总结了一下linux文件系统中分区类型.文件系统类型以及常用命令. 一.分区类型1.主分区:最多只能有四个2.扩展分区:只能有一个,也可以看做是主分区的一种.即 ...

  9. Filesystem Hierarchy Standard (Unix, Linux etc)

    http://www.pathname.com/fhs/ /boot -- Static files of the boot loader Purpose: contains everything r ...

随机推荐

  1. 小程序如何支持使用 async/await (构建npm版)

    前言 小程序本身是不支持async/await语法的,但有些应用场景,我们使用async/await会使得代码更简洁,也更易于维护,用过都知道是有多爽的.既然小程序不支持,那我们可以借助 fackbo ...

  2. 【算法】342- JavaScript常用基础算法

    一个算法只是一个把确定的数据结构的输入转化为一个确定的数据结构的输出的function.算法内在的逻辑决定了如何转换. 基础算法 一.排序 1.冒泡排序 //冒泡排序function bubbleSo ...

  3. 【算法】273-每周一练 之 数据结构与算法(Tree)

    这是第六周的练习题,最近加班比较多. 下面是之前分享的链接: [算法]200-每周一练 之 数据结构与算法(Stack) [算法]213-每周一练 之 数据结构与算法(LinkedList) [算法] ...

  4. rails 构建 API

    我是来鼓吹使用 Rails 写 API 的. 原文在此: https://labs.kollegorna.se/blog/2015/04/build-an-api-now/ 原文有一个很大的缺陷就是读 ...

  5. Microsoft store应用商店打不开0x80131500

    开始安装Windows的Linux子系统发现没办法打开应用商店,开始了三个小时的挖贴之路,最终于百度贴吧最底层发现解决办法,同样错误貌似只有两个人.... 首先介绍一下网上普遍的方法↓↓↓ 第一种—— ...

  6. 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程

    相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...

  7. 2016/10/13 Oracle COALESCE()

    语法:COALESCE(s1,s2,...,sn),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值. 现有表tb_a: 实例1:在tb_a表中给sname列为空的人员设 ...

  8. CMAKE同时编译C++和CUDA文件

    1. 首先是运行环境 Ubuntu 16.04 G++ 5.4.0 CUDA 8.0 2. 文件结构 cv@cv:~/myproject$ tree src src/ |-- CMakeLists.t ...

  9. 如何快速将多个excel表格的所有sheet合并到一个sheet中

    1.将需要合并的excel文件放在同一个文件夹下: 2.新建一个excel表格并打开,右键sheet1,查看代码,然后复制下方的代码到代码框里,点击菜单栏中的“运行”–“运行子过程/用户窗体”,等待程 ...

  10. Gitlab + Jenkins 的 CI 实践

    0x00 事件 为了开发人员更高效的更新应用而采取的 CI 方式实践. 0x01 过程记录 1.Jenkins 设置 安装插件 Gitlab Hook Plugin Build Authorizati ...