linux-文件系统

目录

一、文件系统

1.分区

2.文件系统分类

3.文件系统创建工具

4.查看文件系统的属性

5.挂载

6.buffer和cache


一、文件系统

1.分区

1-4个主分区

第五个序号开始,是逻辑分区

2.文件系统分类

vfs文件系统 ------------- virtualenv file System,不同系统的文件格式不同,互相传输文件不需要担心内核的编译问题

linux系统的文件系统格式有

  • ext2
  • ext3
  • ext4

不同的文件系统,使用的文件系统也各不相同

windows98平台

  • fat
  • fat16
  • fat32

windows2000

  • ntfs文件系统

linux的文件系统

  • ext2
  • ext3 centos5
  • ext4 centos6
  • xfs centos7

网络共享文件系统

  • nfs,network file system
  • smb,server message block 服务消息块

集群文件系统

  • gfs google file system 是goole公司为了存储海量的数据而开发的文件系统
  • ocfs oracle cluster file system 是 oracle 公司为了数据库研发平台,而定制的文件系统
  • ceph 为了存储的可靠性和扩展性的分布式文件系统

交换文件系统

  • swap

区别主要在于 是否是日执行类文件系统

3.文件系统创建工具

  • 创建文件系统

mkfs命令

mkfs把分区格式化为某种文件系统

mkfs

  • 修复文件系统

检查并修复Linux文件系统

fsck

4.查看文件系统的属性

对于centos7之前的文件系统,使用dumpe2fs命令,打印文件系统的块组信息,适用于ext2、ext3、ext4

对于centos7之后的系统而言默认用的是xfs文件系统,使用xfs_info打印文件系统信息

tune2fs命令

设置linux是否开机自动检查文件系统正常与否

lsblk命令

列出所有的设备以及文件系统信息

5.挂载

挂载通常是将一个存储设备挂接到另外一个已经存在的文件夹中,访问这个文件夹,就是访问该存储设备的内容了

#windows 分区 C盘 D盘 E盘

#U盘

将linux本身的普通文件夹和u盘的设备文件合二为一,这个过程就是挂载的过程

挂载完事之后,linux的普通文件夹,称为挂载点

mount 命令常用参数

-l 显示系统所有挂载的设备信息

-t 指定设备的文件系统类型,如果不指定,mount自动选择挂载的文件系统类型

-o 添加挂载的功能选项,用的很多

-r read,挂载后的设备,是只读

-w 读写参数,-o rw权限,允许挂载后读写操作

mount -o 参数

async 以一部的方式处理文件系统IO,加速写入,数据不会同步的写入磁盘,写入到另外一个缓冲区,提高系统性能,存世数据安全性

sync 所有的io操作同步处理,数据同步写入到磁盘,提高数据读写的安全性

atime/noatime 文件被访问的时候,是否修改其时间戳,能够提升磁盘IO速度

auto/noauto 可以通过-a参数自动挂载,不自动挂载

defaults 这个默认参数,覆盖了 rw,suid,dev,dev,exec,auto,nouser,

exec/noexec 是否允许执行挂载点内的可执行命令,使用noexec,提升安全性

对于centos7的mount选项有:

att2 在磁盘上存储内连续扩展属性,提升磁盘性能

inode64 允许在文件系统的任意位置创建inode

noquota 强制关闭文件系统的限额功能

6.buffer和cache

buffer是写入加速

cache是读取加速

我的内存被吃掉了,无辜提示内存不足了怎么办,但是cache,buffer中又有大量内存空间,我们如何释放buffer和cache来扩充内存

复制代码
root@ou-virtual-machine:~# free -m
               total        used        free      shared  buff/cache   available
Mem:            1941         883          74          16         984         880
Swap:           3897         746        3151
root@ou-virtual-machine:~# echo 1 > /proc/sys/vm/drop_caches 
root@ou-virtual-machine:~# 
root@ou-virtual-machine:~# free -m
               total        used        free      shared  buff/cache   available
Mem:            1941         895         840          16         205         872
Swap:           3897         746        3151
root@ou-virtual-machine:~# 

等同于 sysctl -w vm.drop_caches=1

清除目录缓存和inodes

复制代码
root@ou-virtual-machine:~# echo 2 > /proc/sys/vm/drop_caches 
root@ou-virtual-machine:~# 

相当于sysctl -w vm.drop_caches=2

清除内存页的缓存

复制代码
root@ou-virtual-machine:~# echo 3 > /proc/sys/vm/drop_caches 

相当于 sysctl -w vm.drop_caches=3

以上三种都是临时释放缓存的命令

除了以上三个命令,还可以清理文件系统缓存,使用sync命令,可以用于清理僵尸进程

相关推荐
CSJ200203146 分钟前
LUMP+NFS架构的Discuz论坛部署
运维·架构
不知疲倦的仄仄42 分钟前
2025最新版Docker讲解/面试/命令/容器化技术
运维·docker·容器
程序员黄老师1 小时前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu
HONG_YANG1 小时前
ERPNext 介绍、安装和维护建议
linux
HONG_YANG1 小时前
ERPNext 搭建教程:Linux 一键部署与维护
linux
执笔诉情殇〆1 小时前
前后端分离(java) 和 Nginx在服务器上的完整部署方案(redis、minio)
java·服务器·redis·nginx·minio
Enti7c2 小时前
什么是void,什么时候使用void类型?never和void的区别
linux·运维·ubuntu
宇钶宇夕2 小时前
S7-1200 系列 PLC 中 SCL 语言的 PEEK 和 POKE 指令使用详解
运维·服务器·数据库·程序人生·自动化
心 一2 小时前
Python 类型注解实战:`Optional` 与安全数据处理的艺术
服务器·python·安全
scilwb3 小时前
基于Isaac Sim场景的Coverage Path Planning 项目部署完整指南
linux