Linux中各个目录的作用与内容


Posted in Servers onJune 28, 2022

Linux中各个目录的作用与内容

在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。FHS 标准规定了 Linux 根目录各文件夹的名称及作用,统一了Linux界命名混乱的局面。

无论何种版本的 Linux 发行版,桌面、应用是 Linux 的外衣,文件组织、目录结构才是Linux的内心。

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

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

FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态,如下表所示:

Linux中各个目录的作用与内容

/:根目录,一般根目录下只存放目录,不要存放件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

Linux中各个目录的作用与内容

/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11 存放与 x windows 有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。

/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

一切皆文件

Linux 对数据文件(.mp3、.bmp),程序文件(.c、.h、*.o),设备文件(LCD、触摸屏、鼠标),网络文件( socket ) 等的管理都抽象为文件,使用统一的方式方法管理。

文件分类:

  • 1)普通文件( 数据文件 )

普通文件是用于存放数据、程序等信息的文件,一般都长期地存放在外存储器(磁盘)中。普通文件又分为文本文件和二进制文件。

  • 2)目录文件

目录文件是文件系统中一个目录所包含的目录项所组成的文件。

  • 3)设备文件

设备文件是用于为操作系统与设备提供连接的一种文件。在Linux系统中将设备作为文件来处理,操作设备就像是操作普通文件一样。每一个设备对应一个设备文件,存放在 /dev 目录中。

  • 4)链接文件

似于 windows 下的快捷方式,链接又可以分为软链接(符号链接)和硬链接。

  • 5)管道文件

管道文件主要用于在进程间传递数据的一种特殊文件。

  • 6)套接口文件

主要用于不同计算机间网络通信的一种特殊文件。

Linux中各个目录的作用与内容

Linux中各个目录的作用与内容

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。


Tags in this post...

Servers 相关文章推荐
Nginx服务器添加Systemd自定义服务过程解析
Mar 31 Servers
nginx对http请求处理的各个阶段详析
Mar 31 Servers
nginx简单配置多个server的方法
Mar 31 Servers
Nginx解决403 forbidden的完整步骤
Apr 01 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
docker compose 部署 golang 的 Athens 私有代理问题
Apr 28 Servers
鲲鹏 CentOS 7 安装Python3.7
May 11 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 Servers
openEuler 搭建java开发环境的详细过程
Jun 10 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
Windows Server 2008配置防火墙策略详解
nginx之queue的具体使用
nginx之内存池的实现
vscode远程免密登入Linux服务器的配置方法
vscode内网访问服务器的方法
云服务器部署 Web 项目的实现步骤
在虚拟机中安装windows server 2008的图文教程
You might like
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
学Python 3的理由和必要性
2019/11/19 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
计算机专业个人简短的自我评价
2013/10/23 职场文书
自荐信封面
2013/12/04 职场文书
物业招聘计划书
2014/01/10 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
活动总结格式范文
2014/04/26 职场文书
个人授权委托书模板
2014/09/14 职场文书
人大代表选举标语
2014/10/07 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers