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反向代理多个服务器的实现方法
Mar 31 Servers
Nginx的反向代理实例详解
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
nginx配置虚拟主机的详细步骤
Jul 21 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
nginx配置限速限流基于内置模块
May 02 Servers
nginx 配置缓存
May 11 Servers
Docker安装MySql8并远程访问的实现
Jul 07 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
Aug 05 Servers
Windows Server 2008配置防火墙策略详解
nginx之queue的具体使用
nginx之内存池的实现
vscode远程免密登入Linux服务器的配置方法
vscode内网访问服务器的方法
云服务器部署 Web 项目的实现步骤
在虚拟机中安装windows server 2008的图文教程
You might like
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php中session使用示例
2014/03/29 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
Python获取网页上图片下载地址的方法
2015/03/11 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
python逆向入门教程
2018/01/15 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
python让列表倒序输出的实例
2018/06/25 Python
python求质数的3种方法
2018/09/28 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书