技术源于努力
努力实现梦想

FHS文件目录结构详解 linux入门

在类Unix系统中并不存在C/D/E/F盘符呦,一切的文件都是从“根(/)”目录开始的并按照文件系统目录标准FHS采用树形结构来存放文件并定义了每个区域的用途

目录名称严格的区分大小写,例如root、rOOt、Root、rooT等等均代表是不同的独立目录,并且名称中不得包含反斜杠(/)。

主要常见的目录定义:

目录名称

应放置文件的内容

/boot

开机所需文件——内核,开机菜单及所需配置文件等

/dev

任何设备与接口都以文件形式存放在此目录

/etc

配置文件,或者子目录下创建的配置文件,所以大多数的纯文本格式

Linux重要哲学思想之一就是:将常用的配置文件保存为纯文本格式

/home

用户主目录

/bin

单用户维护模式下还能够被操作的命令。Binary:可执行命令,一般是用户执行的命令

/lib

开机时用到的函数库及/bin/sbin下面命令要调用的函数

/lib/modules:内核模块文件

静态库:.a

动态库:动态链接库 .so(share object)

/sbin

开机过程中需要的。Super binary,系统管理员用到的可执行文件。就是管理命令。

/media

一般挂载或删除的设备,挂载点目录,用于挂载临时的移动设备

/opt

放置第三方的软件,option,可选目录,早起orcal就是安装在这个目录下

/root

系统管理员的主文件夹

/srv

一些网络服务的数据目录

/tmp

任何人均可使用的共享临时目录,每隔一个月,当这个文件没有被访问,那么就会被linux删除掉,每个人都可以在这个目录下创建文件,但是却删除不了别人的创建的文件。/var/tmp就是另外一个临时文件存储位置。

/proc

虚拟文件系统,例如系统内核,进程,外部设备及网络状态等。这是一个伪文件系统,没有任何内容,系统不启动就是空的,启动了系统就不空了。这里面都是内核工作的参数,比如网卡的数据包等都在这里,如果我们要改内核的属性,通过修改这些文件来实现,这里的文件其实就是系统内核映射的文件,表现成文件的样子,实际上不是文件。

/usr

Universal
shared read-only
就是全局的共享的只读文件。这个目录下的文件都是提供的非系统启动提供基本功能的命令

/usr/local

用户自行安装的软件

/usr/local/bin

第三方软件需要功能的用户命令

/usr/local/sbin

第三方软件需要功能的管理命令

/usr/local/lib

第三方软件需要功能的库文件

/usr/sbin

非系统开机时需要的软件/命令/脚本

/usr/lib

如果不是/bin或者/sbin依赖的/lib公共提供的库文件,那么就将这些库文件放在这个目录下

/usr/share

帮助与说明文件,也可放置共享文件。

/var

主要存放经常变化的文件,如日志。/var/run每一个进程运行启动后就会有一个进程ID,很多服务存储进程id于文件,这些文件通常就放在这个文件下,格式通常就是*.Pid/var/tmp就是另外一个临时文件存储位置。

/lost+found

当文件系统发生错误时,将一些丢失的文件片段存放在这里

/mnt

mount一般挂载或删除的设备,挂在点目录。在这目录下建立目录,来挂载额外临时的文件系统

/sys

/proc一样是一个伪文件系统,跟硬件设备相关的属性映射文件,跟内核相关,只不过独立出来了,来实现对硬件的管理。比如修改磁盘I/O阵列就是通过改这里面的文件,系统关闭后,这个目录就是空的,只有当系统启用后才会有文件

如果这是用户和管理员必备的二进制文件,就会放在/bin。如果这是系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在 /sbin。相对而言。如果不是用户必备的二进制文件,多半会放在/usr/bin;如果不是系统管理员必备的工具,多半会放在/usr/sbin。

物理设备的命名:

Linux系统中一切都是文件,那么硬件也不外乎。既然是文件就必须有名称啦,系统内核的设备管理器(Udev)会自动将硬件名称规范起来,让我们可以通过设备名称猜出设备大致的属性以及分区信息等,Udev会一直以守护进程的形式运行并侦听来自内核发出的uevent来管理/dev目录下的设备文件。

Udev会根据内核发出的uevent来动态添加或删除/dev目录中的设备文件,这个过程是系统自动的,具体步骤如下:

常见的硬件命名如下:

硬件设备

文件名称

IDE设备

/dev/hd[a-d]

SCSI/SATA/U

/dev/sd[a-p]

软驱

/dev/fd[0-1]

打印机

/dev/lp[0-15]

光驱

/dev/cdrom

鼠标

/dev/mouse

磁带机

/dev/st0/dev/ht0(IDE设备)

一般硬盘设备都会是以“/dev/sd”开头的,而一台主机上可以有多块硬盘,系统便会用a-p来代表16块不同的硬盘(默认从a开始分配)且分区编号也很有讲究。
主分区编号从1开始至4结束,按顺序(也可指定分配数字)。
逻辑分区从编号5开始按顺序(也可指定分配数字)。

1.首先/dev目录下的都是硬件。
2.其次sd开头的是存储设备。
3.然后a代表第一个被识别到的设备。

4.最后5代表它是逻辑分区。


设备文件:都是颜色的,换色字体黑色背景

特点:这些文件都是没有大小的,直接存储为元数据,而且作为设备的访问入口存在,而这两个数字就是设备的设备号(主设备号和次设备号,他们处理同一条总线,属于同一种类型。),一个设备只能有设备文件才能被linux访问的。

    块设备:随机访问,没有先后,按照组织成对应的数据块进行访问block
    字符设备:线性访问,有次序的按字符为单位进行访问,鼠标、显示器就是字符设备。

文件命令规则:

1、 长度不能超过255个字符
2、 不能使用”/“当文件名,因为/是根的意思,除此之外无限制
3、 严格区分大小写

赞(0) 感谢小主打赏
未经允许不得转载:新域软件科技 » FHS文件目录结构详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏