Linux系统介绍(二)文件系统结构

来源:互联网 发布:yum 不支持python 2.7 编辑:程序博客网 时间:2024/05/14 23:35

Linux系统介绍(二)文件系统结构http://blog.csdn.net/Walkerhau/article/details/78583287

概述

多数Linux发行版本都是遵循文件系统结构标准(Filesystem Hierarchy Standard, 简称FHS),可以在这里找到该标准。本文对Linux的文件系统结构进行简单的介绍。

根目录/

所有的Linux系统都有根目录,由/表示。Linux系统的所有内容都在该目录下。

二进制目录

目录说明/bin包括了可执行的二进制文件,通常这些二进制文件可以被所有用户访问。FHS规定,该目录至少包括/bin/cat/bin/date文件/sbin包括了系统的二进制文件,通过需要root权限,用来配置系统/lib包括了/bin所依赖的库/lib/modulesLinux将从/lib/modules/$kernel-version/目录下载入内核模块/lib32和/lib64顾名思义,分别存放不同位数的库/opt该目录用来存放一些可选的软件,通常情况下,很多第三方的客户软件会选择安装在该目录下

配置文件目录

目录说明/boot顾名思义,用来存放系统启动的配置文件,如grub引导的配置文件/boot/grub/grub.cfg/etc几乎大部分配置文件都放在改目录下。历史上etc的全称是etcetera,不过,现在一般认为是Editable Text Configuration的缩写/etc/init.d存放daemon启动、停止等的脚本文件。不过在引入systemd之后,启动脚本有所变化/etc/skel存放创建新用户之后所需的配置文件的模板,如.bashrc文件,默认会从该目录拷贝到用户目录/etc/sysconfig一般出现在RedHat系列的Linux系统中,存放系统有关配置,如IP的配置文件等

数据目录

目录说明/home当创建一个新用户的时候,默认情况下,系统会为用户创建一个/home/<username>的目录用来存放个人数据。/root该目录被很多Linux系统用来存放root用户的个人数据/srv可以被解释为served by your system。FHS允许rsyncftpwww等数据存放在改目录/media该目录通常被用来挂载可移除设备,如CD-ROM,U盘等/mnt根据FHS,该目录通常被用来作为短期的挂载点/tmp该目录用来存放一些短期的文件,不要再该目录下存放重要文件,该目录下的文件有可能会被系统回收

内存目录

Linux系统中,几乎所有的东西都被映射成文件,文件有的是对应着硬盘、设备(CD-ROM等)等,有的则被Linux映射到内存中。这一节介绍映射到内存中的目录。

/dev目录

/dev目录映射了各种设备文件,这些文件由系统启动的时候扫描硬件生成。

物理设备文件

物理设备包括很多种,如硬盘,CD-ROM等。不同的物理设备映射为/dev目录下不同的文件。如SATA/SCSI设备或USB通常被映射为/dev/sd*,其中*可以为[a-z]中的任意字符;而IDE设备通常被映射为/dev/hd*,其中*[a-z]中任意字符。

/dev/tty跟/dev/pts

首先需要搞清楚tty设备跟pts设备的区别。这两者都是终端设备,所谓终端设备通常指的是能够接受命令输入,并可能同时能够输出的设备,但是这两者是有本质的不同的:

  • tty设备

    ttyTeletype的简称,表示原生的终端设备,通常指的是物理终端设备如串口,键鼠接口等,以及系统内核模拟的终端设备。

  • pts设备

    ptsPseudo Terminal Slave的简称,表示伪终端设备,通常由应用进程模拟出来,如ssh开启的终端等。

tty设备通常被映射为/dev/tty*,其中*代表数字,如/dev/tty1等。而pts设备被映射为/dev/pts/*,其中*表示数字,如/dev/pts/1

/dev/null

该文件在Linux中有着特殊的意义,是一个只有输入的文件,且文件有无限的大小,你不能从该文件读出任何东西,任何写入的内容逻辑上相当于消失了。从实现的角度,实际上任何写入的内容都被系统丢弃了。

/proc目录

该目录用来记录内核以及内核进程的实时信息,可以通过它轻而易举的实现对内核状态的获取甚至改变。

目录说明/proc/几乎每个进程都会在该目录下有映射的文件/proc/*,其中<id>代表进程的ID。该目录记录的该进程的几乎所有的状态信息。/proc/cpuinfo记录了系统的CPU信息,通常通过该文件可以知道系统有多少个CPU(核数)。/proc/meminfo记录了系统的内存信息,可以通过它知道系统有多少内存/proc/sys在/proc目录下的绝大部分文件都是只读的文件,但是在该目录下有些文件是可写的,可以通过它们改变内核状态/proc/interrupts记录了当前系统的中断信息/proc/kcore这个文件代表了系统的物理内存,其大小就是物理内存的大小,因此千万不要用cat来试图显示该文件内容

/usr目录

/usr目录估计是被误解最多的目录,一般大家都以为它是user的简写,感觉应该存放的是用户相关的东西,但是实际上完全不是这样。它其实是Unix System Resources的简写,表示Unix系统资源。通常情况下,该目录以只读的权限被挂载。

目录说明/usr/bin很多命令都存放在这个目录下面,事实上,在Centos跟Solaris系统中,/bin目录实际上只是一个软连接,连接到此目录/usr/include存放大量的头文件,可能会被C代码引用/usr/lib存放库文件,同样,在Centos跟Solaris系统中,/lib其实就是软连接到此目录/usr/lib64存放64位的库文件,在Centos中,/lib64也是软连接到此目录/usr/sbin很多daemon程序都是放在此目录下,在Centos中,/sbin也是软连接到此目录/usr/local此目录通常用来安装一些本地的应用/usr/share此目录通常用来存放各种体系无关的数据。/usr/share/man就是用来存放man命令用到的帮助文档/usr/src此目录通常存放内核的代码文件

/var目录

/var目录用来存放可变的数据,如日志,数据库文件等。

目录说明/var/log此目录用来存放各种日志文件,包括系统跟应用的日志/var/log/messages在RedHat系列系统中,此文件用来记录系统刚刚发生的事情。在Debian和Ubuntu系统中,对应的文件是/var/log/syslog/var/cache此目录存放很多应用的缓存数据,如yum命令可能会缓存部分数据在此目录/var/spool一般情况下,该目录会存放邮件cron任务等数据/var/lib通常此目录下会存放应用的状态信息,如/var/lib/mysql存放mysql数据库,/var/lib/docker存放docker的数据

本博文还可以在博主个人主页中找到。


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 油压支撑缸 液压缸千斤顶 伸缩液压缸 大型液压缸生产厂家 液压缸 气缸 自制液压缸 液压缸 品牌 辊压机液压缸 液压缸的机械效率 旋转液压油缸 双节液压缸 液压缸及其设计 轻型拉杆式液压缸 液压缸行程系列 液压缸作用 变幅液压缸 重载液压缸 修液压油缸 液压缸型号大全 轻型液压油缸 卧式液压油缸 液压手拉车 液压拉车 液压小车 手动叉车液压缸 电动液压车 电动液压车价格 液压装卸车 液压平板车 液压扫路车 液压滤油车 液压车价格 手动液压车价格 液压车维修 升降液压车 半自动液压车 液压车图片 诺力手动液压车 小型液压升降车 液压车油封 液压移车器