一,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. ZOJ-1709

    The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu ...

  2. CodeForces 607B zuma

    Genos recently installed the game Zuma on his phone. In Zuma there exists a line of n gemstones, the ...

  3. ARTS-S mac终端ftp命令行上传下载文件

    上传 ftp -u ftp://root:123456@10.11.12.3/a.txt a.txt 下载 ftp -o a.txt ftp://root:123456@10.11.12.13/a.t ...

  4. 【CSS】381- 提升你的CSS选择器技巧

    我已经使用CSS多年了,但直到最近我才深入研究了一下CSS选择器. 我为什么要这样做呢?我们都知道选择器,但麻烦的是随着时间的推移,很容易习惯于在每个项目中使用相同的可信任选择器来实现你需要做的事情. ...

  5. 【Seleniuem】selenium.common.exceptions.InvalidSelectorException

    selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illega ...

  6. 量化投资学习笔记01——初识Pyalgotrade量化交易回测框架

    年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotra ...

  7. CentOS 7.4搭建LAMP,LAMP:Linux、Apache、MySQL、PHP

    CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录: 第一部分 准备工作 第二部分 安装Apache服务 第三部分 安装MySQL服务 第四部分 搭建PH ...

  8. Spring Cloud第十篇 | 分布式配置中心Config

    ​ 本文是Spring Cloud专栏的第十篇文章,了解前九篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Clo ...

  9. c++之指针

    一.指针的基本概念 指针的作用:可以通过指针间接访问内存. 内存编号是从0开始记录的,一般用十六进制数字表示. 可以利用指针变量保存地址. 二.指针变量的定义和使用 指针变量定义语法:数据类型 *变量 ...

  10. 解决visual studio换行(回车键)不能代码补全问题

    打开工具--选项:将标红的位置改为true即可.