Linux系统目录结构详解

Linux和Windows系统的显着区别之一就是目录结构的不同,Linux的目录结构遵循文件系统层级结构标准。Linux的目录结构比较复杂,但设置合理、层次鲜明。我们可以将整个Linux文件系统看做一棵树,这棵树的树根叫做根目录,用/表示。本文将详解Linux的目录结构及及其存放内容。

根目录有以下子目录:

/bin:该目录中存放了供所有用户使用的完成基本维护任务的命令。其中bin是binary的缩写,表示二进制文件,通常为可执行文件。一些常用的系统命令,如cp、ls等保存在该目录中。

/boot:该目录存放着Linux系统启动时需要加载的一些核心文件(LILO或GRUB),包括一些连接文件以及镜像文件。

/dev:dev是Device的缩写,该目录包含了Linux使用的所有系统设备文件,如CD-ROM,磁盘驱动器,调制解调器和内存等。系统设备都被看做文件,从该目录可以访问各种系统设备。在该目录中还包含有各种实用功能,如用于创建设备文件的MAKEDEV。

/etc:该目录中包含系统和应用软件的配置文件,也包含启动、关闭某个特定程序的脚本。

/etc/passwd:该目录中包含了系统中的用户描述信息,每行记录一个用户的信息。

/home:该目录是存储普通用户的个人文件。在Linux中,每个用户在/home下都有一个以自己的账号命名的主目录,用来存放该用户的数据。

/lib:这个目录里存放着Linux系统最基本的共享链接库和内核模块,共享链接库在功能上类似于Windows里的.dll文件,,几乎所有的应用程序都会用到该目录下的库文件。

/lib64:Linux 64位系统有这个文件夹,64位程序的库。

/lost+found:这并不是Linux目录结构的组成部分,而是ext3文件系统用于保存丢失文件的地方。不恰当的关机操作和磁盘错误均会导致文件丢失,这意味着这些被标注为“在使用”,但却并未列于磁盘上的数据结构上。正常情况下,引导进程会运行fsck程序,该程序能发现这些文件。除了“/”分区上的这个目录外,在每个分区上均有一个lost+found目录。该目录在一般情况下都是空的。当突然停电或者Linux非正常关机后,有些文件就临时存放在这里。

/misc:misc意思是杂物箱,该目录可以让多用户堆积和临时转移自己的文件。

/media:该目录是可移动设备的挂载点,Linux系统通常会把U盘等设备自动挂载到该目录下。

/mnt:该目录是用于临时挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可以访问设备里面的文件了。

/opt:多数第三方软件默认安装到这个目录,如Adobe Reader、google-earth等。所以你没有安装此类软件时它是空的。并不是每个系统都会创建这个目录。

/proc:它是存在于内存中的虚拟文件系统,里面包含了内核和进程的状态等系统信息,多为文本文件,可以直接查看。如/proc/cpuinfo保存了有关CPU的信息。这些信息是在内存中由系统产生的,该目录的内容不在硬盘上而在内存里。

/root:根用户(也叫超级用户或系统管理员)的Home目录,用来存放根用户的个人文件。

/sbin:s就是super user的意思,里面存放着供根用户使用的可执行文件,多是系统管理命令,如fsck, reboot, shutdown, ifconfig等,用于系统维护。

/selinux:该目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关文件的。

/srv:该目录存放着一些服务启动之后需要提取的数据。

/sys:该目录下安装了2.6内核中新出现的一个文件系统sysfs,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。这是linux2.6内核的一个很大的变化。

/tmp:该目录用以保存不同程序执行时产生的临时文件。该目录具有Sticky特殊权限,所有用户都可以在这个目录中创建、编辑文件。但只有文件拥有者才能删除文件。为了加快临时文件的访问速度,有的实现把/tmp放在内存中。

/usr:usr最早是user的缩写,目前其通常被认为是User System Resources的缩写,该目录通常存放用户级的应用软件等,类似与windows下的program files目录。

  /usr/bin:存放多数日常应用管理程序和系统守护程序,是对/bin的补充。

/usr/include:存放系统C/C++头文件的目录。

/usr/lib:存放系统的库文件。

  /usr/local:包含了用户编译源代码安装的应用程序,安装了软件的/usr/local里的目录结构与/usr相似。

  /usr/local/bin:可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。

  /usr/sbin:在单用户模式中不用的系统管理程序,如apache2等。

/usr/share:与架构无关的数据,多数软件安装在此。

/usr/src:存放Linux内核源代码。

/usr/X11R6:保存运行X-Window所需的所有文件,该目录中还包含用于运行GUI要的配置文件和二进制文件。

/var:该目录是一个不断增长的目录,存放那些经常被修改的一些数据文件,包括各种日志文件。

/var/cache:应用程序的缓存文件

/var/lib:应用程序的信息、数据。如数据库的数据等都存放在此文件夹。

/var/local:/usr/local中程序的信息、数据

/var/lock:锁文件

/var/log:日志文件

/var/opt:/opt中程序的信息、数据

/var/run:正在执行着的程序的信息,如PID文件应存放于此

/var/spool:存放程序的假脱机数据(即spool data)

/var/tmp:临时文件

在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc:上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin、/sbin、/usr/bin、/usr/sbin:这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是/bin、/usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

/var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

参考资料:

Linux目录结构

时间: 2024-10-29 11:44:25

Linux系统目录结构详解的相关文章

Linux文件目录结构详解

整理自<鸟哥的私房菜> 对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识. 当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看

Linux目录结构详解

由于利用Linux来开发产品的团队和个人实在太多了,想象一下,如果每个人都以自己的想法来配置文件放置的目录,那么管理上将会非常的困扰.为控制解决Linux文件目录配置极其混乱的局面,Linux目录配置标准FHS(Filesystem Hierarchy Standard)就这样出炉了,FHS的重点就在于规范每个特定的目录下应该放什么样的数据.这样就大大方便了独立的软件开发商.操作系统制作者及系统维护人员. FHS针对目录树架构定义出三层目录下应该放置什么样的数据,三层目录分别是: 1./(roo

Linux下的文件目录结构详解

Linux下的文件目录结构详解 / Linux文件系统的上层根目录 /bin 存放用户可执行的程序 /boot 操作系统启动时所需要的文件 /dev 接口设备文件目录,例如:had表示硬盘 /etc 有关系统设置与管理的文件 /home 一般用户的主目录或者FTP站点管理目录 /mnt 装置的文件系统加载点,例如:光驱.软盘等... /proc 目前系统核心与程序执行的信息. /root 管理员的主目录 /sbin 此目录存放系统启动时所需要执行的程序 /tmp 用来存放暂存盘的目录 /usr

Linux 内核 hlist 详解

在Linux内核中,hlist(哈希链表)使用非常广泛.本文将对其数据结构和核心函数进行分析. 和hlist相关的数据结构有两个:hlist_head 和 hlist_node //hash桶的头结点 struct hlist_head { struct hlist_node *first;//指向每一个hash桶的第一个结点的指针 }; //hash桶的普通结点 struct hlist_node { struct hlist_node *next;//指向下一个结点的指针 struct hl

linux sed&awk详解

sed sed为文本处理三剑客之一.本身就是一个管道命令,可以将文件进行增加,修改,删除,选取等操作. 格式:sed [-nrefi] [command] "文本字符串" 选项: -r: 支持扩展正则表达式: -n: 静默模式:(sed有个模式空间和保持空间,默认sed会将执行的结果保存到模式空间里面,而模式空间默认情况是输出在屏幕上,加了-n,则阻止将模式空间的内容输出到屏幕上) -f:/path/to/script_file:从指定的文件中读取脚本并运行 -e script1 -e

linux中断流程详解

异常体系比较复杂,但是linux已经准备了很多的函数和框架,但是因为中断是和具体的开发板相关,所以中断需要我们自己来处理一些方面,但是这也是很少的一部分,很多公用的处理函数内核已经实现,linux内核搭建了一个非常容易扩充的中断处理体系. 中 断系统结构涉及的方面很多,而且分布在很多的函数中,这里我主要理清一些结构和流程顺序已经在哪些函数中实现,我不知道其他人怎么样?但是我自己一开始怎 是找不到linux内核是怎么把GPIO设置成中断的,我找了很久都找不到,还有我们很多的设置,初始化等等东西好像

HP-lefthand底层结构详解及存储灾难数据恢复

一.HP-lefthand的特点 HP-lefhand是一款非常不错的SAN存储,使用iscsi协议为客户端分配空间.它支持RAID5.RAID6以及RAID10.并且还支持卷快照,卷动态扩容等.常见的型号有:P4500,P4300,P4000等,基于市场占有量和软件定义存储的弊端,有一定的数据恢复市场需求. HP-lefhand的存储系统是一款嵌入式LINUX系统,需要安装客户端软件才能配置lefthand. 服务端: 客服端: 二.HP-lefthand的存储结构 Lefthand存储一共分

linux stat函数详解

linux stat函数详解 表头文件: #include <sys/stat.h> #include <unistd.h> 定义函数: int stat(const char *file_name, struct stat *buf); 函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中 返回值: 执行成功则返回0,失败返回-1,错误代码存于errno 错误代码: ENOENT 参数file_name指定的文件不存在 ENOTDIR 路径中的

Linux基础命令详解

Linux基础命令详解 长久以来呢,Linux操作系统以其稳定.高效且可靠等优点被大量的应用于企业服务器领域.大部分对Linux服务器的管理和维护都是通过远程登录的方式来进行的.而绝大部分的管理维护操作都是基于Linux命令来实现的,所以Linux命令在工作中就显得至关重要.在将Linux命令之前,先得了解它的工作原理原理很简单,其实就是我们用户输入一串字符命令,由shell将这条命令"翻译"为系统内核能够懂的"语言",然后系统内核便根据这条命令去执行相关操作.讲完