Linux 文件系统简介(FHS:Filesystem Hierarchy Standard)

一,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

原文地址:https://www.cnblogs.com/xiaoshiwang/p/12041828.html

时间: 2024-10-13 15:30:36

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

Linux 文件系统简介

Linux 文件系统Linux的基本思想之一,一切皆文件 Linux文件结构类似一个树形结构,而树根就是 / 目录,即根目录或者用root表示 首先,需要了解FHS(Filesystem Hierarchy Standard) 文件系统层级标准关于FHS的介绍 https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard 根目录下的子目录介绍:/dev: 设备文件目录每一个设备都需要有对应的设备文件才可以被访问设备文件:    在Linu

嵌入式 Linux根文件系统移植(一)——Linux文件系统简介

嵌入式 Linux根文件系统移植(一)--Linux文件系统简介 本文对文件系统分析的代码来源于linux 2.6.35.7版本. 一.文件系统的体系结构 文件系统是对存储设备上的数据和元数据进行组织的机制,便于用户和操作系统的交互.Linux支持多种文件系统,文件系统接口实现为分层的体系结构,将用户接口层.文件系统实现和操作存储设备的驱动程序分隔开.Linux文件系统的体系结构如下: 用户空间包含一些应用程序(例如,文件系统的使用者)和 GNU C库(glibc),为文件系统调用(打开.读取.

Linux 文件系统结构(Filesystem Hierarchy Standard)

Linux 文件系统类似一颗倒置的树状结构,由/根目录开始向下伸展开来,每一个文件是一个节点.值得注意的是目录是一个特殊文件,当然是节点.如果从根开始向下伸展,可能经过数个节点到达终点,不能继续伸展,这个文件也称作叶子节点.从根开始经过数个节点找到所需的最终文件,整个经过的节点串起来,也就是结对路径.如果是从当前目录开始向最终文件所经过的节点的串联,称作相对路径. tree命令查看文件系统层级结构树:tree -L 1 -d  /        -L 选项指定文件系统的层数 -d  选项指定从何

linux文件系统简介

文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接硬链接.和常见目录的介绍.相信有了这些知识对于深入的学习linux会有一定的帮助.文章例子主要是基于ubuntu发行版. 如有不对之处请大家多多指出. 1.Linux磁盘分区和目录 Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同.目录结构基本上都是一样的.

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

原文地址:Linux文件系统 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接硬链接.和常见目录的介绍.相信有了这些知识对于深入的学习linux会有一定的帮助.文章例子主要是基于ubuntu发行版. 如有不对之处请大家多多指出. 1.Linux磁盘分区和目录 Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不

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

在linux系统中一切皆是文件,下面简要总结了一下linux文件系统中分区类型.文件系统类型以及常用命令. 一.分区类型1.主分区:最多只能有四个2.扩展分区:只能有一个,也可以看做是主分区的一种.即主分区加扩展分区最多只能有四个.但是扩展分区不能存储数据和格式化,必须要划分成逻辑分区才能使用.3.逻辑分区:是在扩展分区中划分得到的,分区号从5开始(1-4被主分区和扩展分区占用),如果是IDE硬盘linux最多支持59个逻辑分区,如果是SCSI硬盘linux最多支持11个逻辑分区. 格式化:写入

Linux文件系统简介和软链接和硬链接的区别

Linux有着极其丰富的文件系统,大体可分为如下几类: 网络文件系统:如nfs.cifs等: 磁盘文件系统:如ext3.ext4等: 特殊文件系统:如prco.sysfs.ramfs.tmpfs等: 一.Linux系统中一切皆文件(除进程以外) Linux系统的顶层目录结构如下 1 / 根目录 2 3 ├── bin 存放用户二进制文件 4 5 ├── boot 存放内核引导配置文件 6 7 ├── dev 存放设备文件 8 9 ├── etc 存放系统配置文件 10 11 ├── home 用

(2) linux文件系统简介

bin -- 存放可执行的命令程序 sbin -- 系统管理相关的命令程序 boot -- 存放启动相关的内容 dev -- 存放设备和硬件 etc -- 存放程序,系统的配置文件 home -- 存放用户目录.每个用户都有自己的主目录,所有用户的主目录都存放在home文件夹下(除root用户有自己单独的主目录root) lib,lib64 -- 存放公用库文件 media -- 存放外部媒体(光驱,USB等) usr -- unix的共享资源(多数linux客户端用户都可能需要的资源) tmp

Filesystem Hierarchy Standard