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命令,可以用于清理僵尸进程

相关推荐
吃肉不能购40 分钟前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫44 分钟前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_312920111 小时前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
踏雪Vernon1 小时前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
Onlooker1291 小时前
云服务器部署WebSocket项目
服务器
学Linux的语莫1 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz1 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py1 小时前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生1 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku0661 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch