`

简述Linux 文件系统的目录结构

阅读更多

摘要: Linux文件系统是呈树形结构,了解Linux文件系统的目录结构,对于我们驾驭Linux还是有必要的。本文对Linux下比较重要的目录加以解说,以答初学者所说的“杂乱无章”目录结构,给一个简要的说明。


++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++

Linux文件系统结的结构是树形结构,其入口从/开始,了解Linux文件系统的结构,对于我们需要掌握的基础知识点之一。


文件系统的组织结构简说:

当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为 树形结构。

查看文件系统的结构,我们可以通过tree命令来实现;

[root@localhost ~]# tree

不过tree 这个命令目前在Fedora Core 5.0 中已经消失,在Slackware 10.2的版本中仍有保留。不过其它版本的Linux应该有;由tree命令的输出结果来看,最顶端应该是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的 领导者。

下面我们把Linux文件系统的树形结构的主要目录列一下,主要


文件系统的组织结构分析:

文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、/etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版 本也会存在一些小小的差异,但总体来说,还是大体差不多。

Linux发行版本之间的差别其实很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同,除此之外,没有什么大的差别; 比如Fedora软件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;

言归正传,我们接着说文件系统组织结构。

/ Linux文件系统的入口,也是处于最高一级的目录;

/bin 基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。做为基础系统所需要的最基础的命令就是放在这里。

/boot Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

/dev 设备文件存储目录,比如声卡、磁盘... ...

/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;

/home 普通用户家目录默认存放目录;

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损 坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/media 即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录 ;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom 的目录。这个只有在最新的发行套件上才有,比如Fedora Core 4.0 5.0 等。可以参看/etc/fstab的定义;

/misc

/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎 么定义了;比如光驱可以挂载到/mnt/cdrom 。

/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录 。

/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。

/root Linux超级权限用户root的家目录;

/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的; 我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。 如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。

/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

 

我们再补充一下一些比较重要的目录的用途;

/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;
/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。

/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。

/etc/X11 是X-Windows相关的配置文件存放地;
比如下面的例子:

[root@localhost ~]# /etc/init.d/sshd start   注:启动sshd服务器
[root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd服务器
启动 sshd:                                                [确定]

这就是典型的sshd 服务器 System V模式启动脚本,通过这运行这个脚本可以启动sshd服务器了。

/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行; 当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin; 有时/usr/bin中的文件是/usr/local/bin的链接文件;

/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。

/usr/lib 和/lib 目录相似,是库文件的存储目录;

/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,是用户都共用的吧。

/usr/share/doc和/usr/share/man帮助文件,也是共用的吧;

/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在/usr /src/redhat相应的目录中。另外Fedhat 4.0 5.0,他的内核源码包的目录位于/usr/src/kernels目录下的某个目录中(只有安装后才会生成相应目录);

/var/adm 比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。
/var/log 系统日志存放,分析日志要看这个目录的东西;
/var/spool 打印机、邮件、代理服务器等假脱机目录;

分享到:
评论

相关推荐

    Linux 文件系统的目录结构

    简述Linux 文件系统的目录结构 目录 1、什么是文件系统; 2、文件系统的组织结构简说; 3、文件系统的组织结构分析; 4、本文未尽事宜; 5、关于本文; 6、后记; 7、参考文档; 8、相关文档;

    LINUX常用文件系统

    文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不...

    Linux试题(简答详细)

    1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。参考答案:Linux通过i节点表将文件的逻辑结构和物理结构进行转换。i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小...

    Linux期末考试(题多 有点难度)

    1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux通过i节点表将文件的逻辑结构和物理结构进行转换。 i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件...

    linux 面试题

    1.简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux 通过 i 节点表将文件的逻辑结构和物理结构进行转换。 i 节点是一个 64 字节长的表,表中包含了文件的相关信息,...

    嵌入式系统开发基础——基于ARM微处理器和Linux操作系统[滕英岩][习题解答]

    目录第1章 嵌入式系统基础知识 1.1 嵌入式系统的特点及分类 1.1.1 嵌入式系统的特点 1.1.2 嵌入式系统的分类 1.2 嵌入式系统的软硬件结构 1.3 嵌入式微处理器ARM 1.3.1 ARM简述 1.3.2 ARM编程模型 1.3.3 ARM...

    Android驱动开发权威指南

    5.1.1 Linux文件系统的目录结构 5.1.2设备驱动与Linux文件系统的关联 5.2 Linux设备文件系统 5.2.1 devfs设备文件系统 5.2.2 udev设备文件系统 5.2.3 sysfs文件系统与Linux设备 5.2.4 udev的组成 5.2.5 udev规则文件...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第一部分

    实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 ...

    嵌入式Linux程序设计案例与实验教程-实例代码

    实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和...

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第二部分

    实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 ...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第三部分

    实验1.1 熟悉Linux基本命令与文件目录系统2 1.3 全屏幕编辑器与vi6 1.3.1 vi简介6 1.3.2 基本命令7 1.3.3 常用操作7 实验1.2 全屏幕编辑器vi的使用7 1.4 Linux Shell编程8 1.4.1 Shell程序的编写和执行8 ...

    云计算工程师 Linux运维工程师 关于网络运维方面的面试题

    15.请用一条命令创建以下目录结构 16.执行两个操作chown -R :student /test 与 chmod g+s /test,这两个操作有何不同 ? 17.请写出Linux系统关机命令、重启命令、文件夹赋权命令及执行shell脚本命令。 等等

    Ubuntu权威指南(2/2)

    4.1 文件系统的层次结构 87 4.1.1 树形层次结构 87 4.1.2 路径名 88 4.2 文件系统的组织结构 88 4.3 文件的类型 92 4.3.1 普通文件 92 4.3.2 目录文件 94 4.3.3 特殊文件 95 4.3.4 链接文件 98 4.3.5 符号链接文件 ...

    Ubuntu权威指南(1/2)

    4.1 文件系统的层次结构 87 4.1.1 树形层次结构 87 4.1.2 路径名 88 4.2 文件系统的组织结构 88 4.3 文件的类型 92 4.3.1 普通文件 92 4.3.2 目录文件 94 4.3.3 特殊文件 95 4.3.4 链接文件 98 4.3.5 符号链接文件 ...

    《计算机操作系统》期末复习指导

    对考试很有帮助的.......... 《计算机操作系统》期末复习指导 第一章 计算机操作系统概述 ...(1)操作系统文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定...

    华南理工网络课程2021(嵌入式控制系统)平时作业.docx

    8、简述嵌入式控制系统的性能指标 答:嵌入式操作系统除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点 支持开放性和可伸缩性的体系结构,具有可裁减性; 提供统一的...

    从操作系统角度看可执行文件的装载和执行

     创建一个虚拟地址空间并不是真正地创建空间而是创建映射函数所需要的相应的数据结构,在i386的linux下,创建虚拟地址实际上只是分配一个页目录(Page Directory)可以了。这一步的映射关系式虚拟空间到物理内存的...

    嵌入式实验报告四.doc

    /proc file system support:/proc文件系统是Linux提供给用户和系统进行交互的通道 。 2.简述NORflash和NANDflash的区别。 答:NOR比较适合存储程序代码,其容量一般较小(比如小于32MB),价格较高,而NAN D...

    嵌入式系统/ARM技术中的Linux内核模块编程入门学习

    内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。...模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上

Global site tag (gtag.js) - Google Analytics