博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux目录结构介绍
阅读量:5730 次
发布时间:2019-06-18

本文共 3192 字,大约阅读时间需要 10 分钟。

hot3.png

目录树

在Linux底下,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头, 然后再一个一个的分支下来,因此,我们也称这种目录配置方式为:目录树(directory tree)。目录树的启始点为根目录“/”

 

150006_mX5a_3452433.png

 

文件系统层次化标准(FHS,Filesystem Hierarchy Standard )

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。

第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

FHS官方文件:

 

根目录(/)

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关。 由于系统开机时需要特定的开机软件、核心文件、开机所需程序、 函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。 因为根目录是这么的重要,所以在FHS的要求方面,他希望根目录不要放在非常大的分区, 因为越大的分区内你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

因此FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。

根据以上原因,FHS认为根目录(/)下应该包含如下子目录:

目录

应放置档案内容

/bin

基础命令的二进制文件。

主要有:cat,chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。

/boot

开机引导加载的静态文件。

包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz 。

/dev

设备驱动文件。 

只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等

/etc

系统主要的配置文件。

例如人员的帐号密码档、各种服务的启始档等等。 

/home

这是系统预设的使用者家目录(home directory)。 

在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号: ~ :代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。

/lib

基本共享函数库和内核模块。

系统和软件所使用的函数库将保存在这里,比如java的jdk、jvm等。

/lib/modules/很重要存放了内核所需的模块。

/media

可移动多媒体设备挂载点。

包括软碟、光碟、DVD等等装置都暂时挂载于此。

/mnt

临时外设挂载点。

/opt

附加应用程序软件包。

/root

root用户家目录。

/sbin

基础系统二进制文件。

常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/srv

系统提供的服务(service)。

常见的服务例如WWW, FTP等等。 

/tmp

临时目录。

另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分区则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分区去。/etc、/bin、/dev、/lib、/sbin这五个目录千万不可与根目录分开在不同的分区。

FHS未规定的常见目录

目录

应放置档案内容

/lost+found

ext2/ext3档案系统发生错误时,将一些遗失的片段放置到这个目录下。

/proc

虚拟文件系统,访问的是内存的内容。

/sys

虚拟文件系统,访问的是核心相关信息。

 

软件目录(/usr)

/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录。 FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。

因为是所有系统默认的软件都会放置到/usr底下,因此这个目录有点类似Windows 系统的C:\Program files\这个目录,系统刚安装完毕时这个目录会占用最多的硬盘容量。

目录

应放置文件内容

/usr/bin/ 

大部分的用户命令。

/usr/include/ 

c/c++等程序语言的头文件(header)与包含文件(include)放置处。

/usr/lib/ 

函数库

/usr/local/ 

本地程序主要安装目录。

我们自己安装的程序一般放在这里。

/usr/sbin/ 

系统非必要的二进制文件。

最常见的就是某些网络服务器软件的服务指令(daemon) 

/usr/share/ 

共享文件目录。

/usr/src/ 

一般原始码建议放置到这里,src有source的意思。

 

运行文件目录(/var)

如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如MySQL数据库的文件等等。常见的次目录有:

目录

应放置文件内容

/var/cache/

应用程序缓存数据。

/var/lib/

程序执行中变化的状态信息。

/var/local/ 本地/usr/local程序变化的数据。

/var/lock/

锁文件。

某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。

/var/log/

日志和目录。

/var/opt/

本地/opt程序变化的数据。

/var/run/

与运行过程相关的数据。

某些程序或者是服务启动后,会将他们的PID放置在这个目录下

/var/spool/

队列数据。

/var/tmp/ 系统重启时保存的临时文件。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

绝对路径与相对路径

绝对路径

由根目录(/)开始写起的文件名或目录名称, 

例如 /home/dmtsai/.bashrc;

相对路径

相对于目前路径的文件名写法。 例如 ./home/dmtsai

.  :代表当前的目录,也可以使用 ./ 来表示;

.. :代表上一层目录,也可以 ../ 来代表。

转载于:https://my.oschina.net/u/3452433/blog/1813451

你可能感兴趣的文章
zabbix详解:(二)添加被监控机器
查看>>
设计模式单列
查看>>
人像模式的灯光效果?iPhone 8开挂袭来
查看>>
Linux下MongoDB安装与配置
查看>>
DSL配置(PPPOA)
查看>>
WEBRTC执行流程
查看>>
Spring Boot 入门系列
查看>>
Spring Cloud版——电影售票系统<六>使用 Spring Cloud Config 统一管理微服务配置
查看>>
Java not support java EE1.3
查看>>
iptables规则备份及恢复、firewalld九个zone,service的操作
查看>>
www.conf配置文件的参数详解
查看>>
如何实现邀请好友帮抢票功能?
查看>>
深圳联通特邀湖北籍企业参观公司总部大楼举行
查看>>
告警系统主脚本、告警系统配置文件、告警系统监控项目
查看>>
Python 和 PyCharm 在 windows10 环境的安装和设置
查看>>
B-树,B+树与B*树的优缺点比较
查看>>
C语言入门基础之数组——数学和编程的完美结合(图)
查看>>
《远见》的读后感作文1000字范文
查看>>
重置密码、单用户模式、救援模式
查看>>
LAMP环境搭建1-mysql5.5
查看>>