当前位置: 首页 > news >正文

Linux入门基础 #4:文件系统

Linux文件系统结构



  • /bin      存放二进制文件(可执行命令rm,cd,cp等),所有用户都有权限

  • /dev     (device设备的缩写)存放设备文件
在Linux中,所有的硬件设备都被抽象成一个文件

  • /boot    存放内核与启动程序相关文件
最主要的是文件vmlinuz-3.2.0-23-generic-pae,是操作系统的内核
还有所有跟引导和系统启动相关的东西

  • /etc  几乎所有的操作系统相关的配置文件。多数是以.conf .cnf结尾的

  • /home  用户家目录 

  • /lib      存放系统库文件

  • /media  挂载U盘,光盘等自动挂载,在这里,有些系统没有

  • /mnt    也是挂载,所有系统一定有,以前都是挂载这里

  • /opt  通常用来安装一些大软件。但放在哪里不是强制的,约定俗成在这里。

  • /proc    不存在硬盘上,只存在于内存中的文件系统,是虚拟的文件系统。保存操作系统的实时信息
ll查看相关文件。例如显示cpuinfo, meminfo可以查看相关信息.
数字的文件夹是进程信息

  • /sbin    存放特权级二进制文件(特权级可执行命令,而/bin是所有人都有权限)
  • /sys 是系统底层的东西
  • /tmp  临时的目录,会自动删除
  • /usr     一般存放默认安装程序(大型的软件是在/opt),
  • /var     一般存放经常变化的数据,如服务数据、日志文件等
  • /root    特权用户(root)家目录




文件系统

操作系统通过文件系统管理文件及数据, 磁盘或分区需要创建文件系统之后才能够为操作系统使用,创建文件系统的过程又称为格式化.
  • 没有文件系统的设备又称之为裸(raw)设备
  • 常见的文件系统由fat32, NTFS, ext2, ext3, ext4, xfs, HFS等
  • 文件系统之间的区别: 日志, 支持的分区大小, 支持的单个文件大小,  性能等

windows下的主流文件系统是: NTFS
Linux的主流文件系统是: ext3, ext4


不同的文件系统性能是有区别的




Linux支持的一些文件系统:
  • ext2
  • ext3
  • ext4
  • fat(msdos)
  • vfat
  • nfs
  • iso9660
  • proc
  • gfs
  • jfs





命令mke2fs用来创建文件系统

$ mke2fs  -t  ext4  /dev/sda3

常用参数:
-b  blocksize  指定文件系统块的大小
-c     建立文件系统时检查坏损块
-L  label  指定卷标
-j      建立文件系统日志(ext3,ext4默认是带日志的,不需要带这个参数)



命令mkfs
也可用于创建文件系统,相较于mke2fs简单,但支持的参数较少,不能进行精确控制
  • $ mkfs.ext3  /dev/sda3
  • $ mkfs.ext4  /dev/sda4
  • $ mkfs.vfat   /dev/sda3



命令dumpe2fs
可以用来查看分区的文件系统信息
$ dumpe2fs  /dev/sda2




journal日志
带日志的文件系统(ext3, ext4)拥有较强的稳定性, 在出现错误时可进行恢复
使用带日志的文件系统,文件系统会使用一个叫做"两阶段提交"的方式进行磁盘操作,当进行磁盘操作时,文件系统进行以下操作:
  • 1. 文件系统将准备执行的事务的具体内容写入日志
  • 2. 文件系统进行操作
  • 3. 操作成功后,将事务的具体内容从日志中删除

这样做的好处是,当事务执行的时候如果出现意外(如断电或磁盘故障), 可以通过查询日志进行恢复操作.缺点是会丧失一定的性能(额外的日志读写操作)



命令e2label
查看和设置文件系统的标签
  • $ e2label  /dev/sda2   显示sda2的系统标签
  • $ e2label  /dev/sda2  SHUANGDE   把sda2标签设置为SHUANGDE ,  标签一般都用大写字母组成



命令fsck
用来检查并修复损坏的文件系统
$ fsck  /dev/sda2     检查sda2. .要检查一个文件系统,必须要先卸载那个文件系统

  • 使用-y参数不提示而直接进行修复
  • 默认fsck会自动判断文件系统类型, 如果文件系统损坏较严重, 最好用-t参数指定文件系统类型
  • 对于识别为文件的损坏数据(文件系统无记录), fsck会将该文件放入lost + found目录. 每个格式化的磁盘都会有lost + found目录, 一般这个目录都是空的
  • 系统启动时会对磁盘进行fsck操作

相关文章:

  • Linux入门基础 #5:Linux文件系统挂载管理
  • Linux入门基础 #6:Linux用户基础
  • Linux入门基础 #7:Linux权限机制
  • OI算法汇总[大纲]
  • [C++]高精度 bign (重载运算符版本)
  • [高精度][codevs 1145]Hanoi双塔问题
  • C/C++头文件一览
  • [MZ test.16]P1 评测
  • [MZ test.16]P2 math 乘方e
  • codevs#1287[题解] Key:矩阵乘法
  • codevs#3147[题解]矩阵乘法2
  • MZ test17# NOIP模拟题 # T1 第1题 时间计算(heaven.pas/cpp)[key.模拟]
  • MZ test17# NOIP模拟题 # T2 第2题 最优时间表(sche.pas/cpp) [key.DP]
  • MZ test17# NOIP模拟题 #T3 第3 题 登山机器人(robot.pas/cpp)
  • MZ test17# NOIP模拟题 # T4 第4题 路线统计(route.cpp/pas)[key:矩阵]
  • 10个确保微服务与容器安全的最佳实践
  • C++入门教程(10):for 语句
  • codis proxy处理流程
  • java中具有继承关系的类及其对象初始化顺序
  • mysql innodb 索引使用指南
  • Python socket服务器端、客户端传送信息
  • SQLServer之创建数据库快照
  • Vue全家桶实现一个Web App
  • 编写符合Python风格的对象
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 让你的分享飞起来——极光推出社会化分享组件
  • 使用common-codec进行md5加密
  • 数据结构java版之冒泡排序及优化
  • mysql面试题分组并合并列
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $(function(){})与(function($){....})(jQuery)的区别
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ***通过什么方式***网吧
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net 设置默认首页
  • .NET/C# 的字符串暂存池
  • .Net6 Api Swagger配置
  • .NET分布式缓存Memcached从入门到实战
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @基于大模型的旅游路线推荐方案
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [20190113]四校联考
  • [HDU5685]Problem A
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
  • [luoguP3159] [CQOI2012]交换棋子(最小费用最大流)
  • [nlp] 损失缩放(Loss Scaling)loss sacle