Linux系统介绍(二)文件系统结构
Table of Contents
- 概述
- 根目录
/
- 二进制目录
- 配置文件目录
- 数据目录
- 内存目录
- /dev目录
- 物理设备文件
- /dev/tty跟/dev/pts
- /dev/null
- /proc目录
- /dev目录
- /usr目录
- /var目录
概述
多数Linux发行版本都是遵循文件系统结构标准(Filesystem Hierarchy Standard, 简称FHS)
,可以在这里找到该标准。本文对Linux的文件系统结构进行简单的介绍。
根目录/
所有的Linux系统都有根目录,由/
表示。Linux系统的所有内容都在该目录下。
二进制目录
目录 | 说明 |
---|---|
/bin |
包括了可执行的二进制文件,通常这些二进制文件可以被所有用户访问。FHS规定,该目录至少包括/bin/cat 跟/bin/date 文件
|
/sbin | 包括了系统的二进制文件,通过需要root权限,用来配置系统 |
/lib |
包括了/bin 所依赖的库
|
/lib/modules |
Linux将从/lib/modules/$kernel-version/ 目录下载入内核模块
|
/lib32和/lib64 | 顾名思义,分别存放不同位数的库 |
/opt | 该目录用来存放一些可选的软件,通常情况下,很多第三方的客户软件会选择安装在该目录下 |
配置文件目录
目录 | 说明 |
---|---|
/boot |
顾名思义,用来存放系统启动的配置文件,如grub引导的配置文件/boot/grub/grub.cfg
|
/etc |
几乎大部分配置文件都放在改目录下。历史上etc 的全称是etcetera ,不过,现在一般认为是Editable Text Configuration 的缩写
|
/etc/init.d | 存放daemon启动、停止等的脚本文件。不过在引入systemd之后,启动脚本有所变化 |
/etc/skel |
存放创建新用户之后所需的配置文件的模板,如.bashrc 文件,默认会从该目录拷贝到用户目录
|
/etc/sysconfig | 一般出现在RedHat系列的Linux系统中,存放系统有关配置,如IP的配置文件等 |
数据目录
目录 | 说明 |
---|---|
/home |
当创建一个新用户的时候,默认情况下,系统会为用户创建一个/home/<username> 的目录用来存放个人数据。
|
/root | 该目录被很多Linux系统用来存放root用户的个人数据 |
/srv |
可以被解释为served by your system 。FHS允许rsync ,ftp ,www 等数据存放在改目录
|
/media | 该目录通常被用来挂载可移除设备,如CD-ROM,U盘等 |
/mnt | 根据FHS,该目录通常被用来作为短期的挂载点 |
/tmp | 该目录用来存放一些短期的文件,不要再该目录下存放重要文件,该目录下的文件有可能会被系统回收 |
内存目录
Linux系统中,几乎所有的东西都被映射成文件,文件有的是对应着硬盘、设备(CD-ROM等)等,有的则被Linux映射到内存中。这一节介绍映射到内存中的目录。
/dev目录
/dev
目录映射了各种设备文件,这些文件由系统启动的时候扫描硬件生成。
物理设备文件
物理设备包括很多种,如硬盘,CD-ROM等。不同的物理设备映射为/dev
目录下不同的文件。如SATA/SCSI设备或USB通常被映射为/dev/sd*
,其中*
可以为[a-z]
中的任意字符;而IDE设备通常被映射为/dev/hd*
,其中*
为[a-z]
中任意字符。
/dev/tty跟/dev/pts
首先需要搞清楚tty
设备跟pts
设备的区别。这两者都是终端设备,所谓终端设备通常指的是能够接受命令输入,并可能同时能够输出的设备,但是这两者是有本质的不同的:
tty设备
tty
是Teletype
的简称,表示原生的终端设备,通常指的是物理终端设备如串口,键鼠接口等,以及系统内核模拟的终端设备。pts设备
pts
是Pseudo Terminal Slave
的简称,表示伪终端设备,通常由应用进程模拟出来,如ssh开启的终端等。
tty
设备通常被映射为/dev/tty*
,其中*
代表数字,如/dev/tty1
等。而pts
设备被映射为/dev/pts/*
,其中*
表示数字,如/dev/pts/1
。
/dev/null
该文件在Linux中有着特殊的意义,是一个只有输入的文件,且文件有无限的大小,你不能从该文件读出任何东西,任何写入的内容逻辑上相当于消失了。从实现的角度,实际上任何写入的内容都被系统丢弃了。
/proc目录
该目录用来记录内核以及内核进程的实时信息,可以通过它轻而易举的实现对内核状态的获取甚至改变。
目录 | 说明 |
---|---|
/proc/ |
几乎每个进程都会在该目录下有映射的文件/proc/* ,其中<id> 代表进程的ID。该目录记录的该进程的几乎所有的状态信息。
|
/proc/cpuinfo | 记录了系统的CPU信息,通常通过该文件可以知道系统有多少个CPU(核数)。 |
/proc/meminfo | 记录了系统的内存信息,可以通过它知道系统有多少内存 |
/proc/sys |
在/proc 目录下的绝大部分文件都是只读的文件,但是在该目录下有些文件是可写的,可以通过它们改变内核状态
|
/proc/interrupts | 记录了当前系统的中断信息 |
/proc/kcore |
这个文件代表了系统的物理内存,其大小就是物理内存的大小,因此千万不要用cat 来试图显示该文件内容
|
/usr目录
/usr
目录估计是被误解最多的目录,一般大家都以为它是user
的简写,感觉应该存放的是用户相关的东西,但是实际上完全不是这样。它其实是Unix System Resources
的简写,表示Unix系统资源。通常情况下,该目录以只读的权限被挂载。
目录 | 说明 |
---|---|
/usr/bin |
很多命令都存放在这个目录下面,事实上,在Centos跟Solaris系统中,/bin 目录实际上只是一个软连接,连接到此目录
|
/usr/include | 存放大量的头文件,可能会被C代码引用 |
/usr/lib |
存放库文件,同样,在Centos跟Solaris系统中,/lib 其实就是软连接到此目录
|
/usr/lib64 |
存放64位的库文件,在Centos中,/lib64 也是软连接到此目录
|
/usr/sbin |
很多daemon程序都是放在此目录下,在Centos中,/sbin 也是软连接到此目录
|
/usr/local | 此目录通常用来安装一些本地的应用 |
/usr/share |
此目录通常用来存放各种体系无关的数据。/usr/share/man 就是用来存放man 命令用到的帮助文档
|
/usr/src | 此目录通常存放内核的代码文件 |
/var目录
/var
目录用来存放可变的数据,如日志,数据库文件等。
目录 | 说明 |
---|---|
/var/log | 此目录用来存放各种日志文件,包括系统跟应用的日志 |
/var/log/messages |
在RedHat系列系统中,此文件用来记录系统刚刚发生的事情。在Debian和Ubuntu系统中,对应的文件是/var/log/syslog
|
/var/cache |
此目录存放很多应用的缓存数据,如yum 命令可能会缓存部分数据在此目录
|
/var/spool | 一般情况下,该目录会存放邮件cron任务等数据 |
/var/lib |
通常此目录下会存放应用的状态信息,如/var/lib/mysql 存放mysql 数据库,/var/lib/docker 存放docker 的数据
|
转载于:https://www.cnblogs.com/treasure716/p/9668441.html
Linux系统介绍(二)文件系统结构相关推荐
- Linux嵌入式开发——文件系统结构
文章目录 Linux嵌入式开发--文件系统结构 一.根目录"/" 二.Ubuntu文件系统结构 三.绝对路径和相对路径 Linux嵌入式开发--文件系统结构 一.根目录" ...
- linux文件系统、文件系统结构、虚拟文件系统
参考:linux文件系统及其目录结构.虚拟文件系统 作者:丶PURSUING 发布时间: 2021-02-15 09:33:29 网址:https://blog.csdn.net/weixin_447 ...
- Linux 文件系统类型 文件系统结构 与Windows文件系统的比较
Linux 文件系统类型 磁盘文件系统. 包括硬盘.CD-ROM.DVD.USB存储器.磁盘阵列等.常见文件系统格式有:autofs.coda.Ext(Extended File sytem,扩展文件 ...
- linux实验二文件与文件夹操作
1.使用用户root登录linux,创建目录/姓名全拼(如:于翔同学,创建目录/yuxiang),/姓名全拼目录下创建文件姓名首字母(如于翔同学:创建文件yx),授予目录/姓名全拼是有用户都有rwx权 ...
- 淮海工学院linux实验二文件IO操作,淮海工学院计算机科学系
<淮海工学院计算机科学系>由会员分享,可在线阅读,更多相关<淮海工学院计算机科学系(15页珍藏版)>请在技术文库上搜索. 1.淮海工学院计算机科学系实验报告书课 程名: 数据结 ...
- Linux系统中文件系统管理
一.文件系统的基本组成和文件系统结构 1.Linux 系统的基本组成 图例: Linux系统由Linux内核和一系列GNU库及程序组成.根据其所处的位置,从内向外依次分为:内核.运行 ...
- linux+网络根文件系统,认识Linux根文件系统结构
INTRO 认识Linux根文件系统结构,尽管Linux的根文件系统在形式表现上是一体的(所有数据目录均为根目录下的子目录),但实际它们是多个不同的[逻辑主体](为了实现不同的逻辑 功能)组合在一起的 ...
- linux sed 测试文件夹,测试开发笔记二(Linux与Shell脚本)
01 | Linux系统和Shell环境准备 运行shell test.sh #!/bin/bash echo "hello" 运行脚本 方式一: chmod+x ./test.s ...
- Linux根文件系统结构再认识
Linux根文件系统结构再认识 刘建文(http://blog.csdn.net/keminlau ) INTRO 尽管Linux的根文件系统在形式表现上是一体的(所有数据目录均为根目录下的子目录), ...
最新文章
- 创建节约内存的JavaBean
- Redis 系统学习目录
- 基于动态代码生成技术的动态对象工厂
- Visual Studio 即时窗口实用技巧
- stm32f103c8t6 AD DMA连续采集8个通道
- ehcache常用API整理
- sublime html乱码,HTML5 sublime 编码出现乱码怎么处理
- 终极人机大战要来了?AI打星际2即将直播,DeepMind暴雪发出神秘预告
- C 中细节问题的试题
- c语言 和 运算顺序,二 如何学习C语言的运算符和运算顺序
- mysql修改最大连接数笔记
- php实现mkv视频播放,mkv怎么合并视频文件
- tp-link与台式计算机连接教程,【详细图解】TP-Link TL-WDR6510路由器电脑设置教程...
- 移植Python3到TQ2440(二)
- C6能比C8快多少(Altera的FPGA速度等级)
- 心流体验:专注的快乐--读书笔记
- via自定义搜索引擎代码_Via浏览器自定义主页
- 洛谷P1282 多米诺骨牌 题解
- Spring获取上下文的四种方式方式
- 微信开放平台 错误码61007: api is unauthorized to component
热门文章
- [转]Linux 进程间通信:共享内存
- Node.js获取本机IP
- STM32单片机SIM800C创客GSM短信GPRS可编程模块SDK二次开发DIY
- 个人博客满血复活,求测试~~~
- matlab 基础知识class lt; superclass_name
- 《学习opencv》笔记——矩阵和图像处理——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize...
- SQLServer学习笔记系列6
- S01E05 Android体系结构
- #100天计划# 2013年10月1日
- php下扩展php_curl.dll的安装