一,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. 数据库Oracle数字函数

    数字函数不多: ROUND(arg1):四舍五入保留整数. arg1:数字类型.原数字. arg2:整数类型.小数点保留的位数. SQL> select round(1256.564,2) fr ...

  2. 2017 CCPC秦皇岛 G题 Numbers

    DreamGrid has a nonnegative integer . He would like to divide  into nonnegative integers  and minimi ...

  3. 矩阵解压,网络流UESTC-1962天才钱vs学霸周2

    天才钱vs学霸周2 Time Limit: 500 MS     Memory Limit: 128 MB Submit Status 由于上次的游戏中学霸周输了,因此学霸周想出个问题为难天才钱,问题 ...

  4. 如何手动实现TryInsert和InsertOrUpdate

    在日常开发中,我们有时会需要对数据的插入操作进行定制.比如,如果表里已有某某记录就不写入新纪录,或者表里没该记录就插入,否则就更新.前者我们称为TryInsert,后者为InsertOrUpdate( ...

  5. MFC unicode字符集与多字节字符集 问题之彻底终结!

    Unicode 和多字节字符集 (MBCS) 支持 Visual Studio .NET 2003   有些国际市场以大字符集来使用日文和中文等语言.为了支持这些市场的编程,Microsoft 基础类 ...

  6. Lua-Async 协程的高级用法

    Lua-Async 这是一个基于协程的异步调用库, 该库的设计思路类似JavaScript的Promise, 但相比Promise, 它有更多的灵活性. -- 引入Async local Async ...

  7. centos7制作U盘启动盘

    一.准备相关软件 1.8G以上U盘 2.UltraISO虚拟光驱(试用版即可)最新版 下载地址:https://cn.ultraiso.net/xiazai.html  点击下载试用 3.CentOS ...

  8. C语言每日一练——第5题

    一.题目要求 选出大于100小于1000的所有个位数与十位数字之和被10除所得余数恰好是百位数字的所有数字(如293).计算并输出上述这些素数的个数cnt以及这些素数值得sum,最后把结果cnt和su ...

  9. Redis有哪几种数据类型

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string 是 redi ...

  10. 《Java Spring框架》SpringXML配置详解

    Spring框架作为Bean的管理容器,其最经典最基础的Bean配置方式就是纯XML配置,这样做使得结构清晰明了,适合大型项目使用.Spring的XML配置虽然很繁琐,而且存在简洁的注解方式,但读懂X ...