linux-文件系统

简介: linux-文件系统

一、文件系统

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

相关文章
|
2月前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
1月前
|
存储 缓存 算法
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
|
6天前
|
存储 Linux 文件存储
Linux 存储管理 (二)创建文件系统
【8月更文挑战第13天】使用`fdisk`创建分区后,通过`mkfs`命令创建文件系统,支持多种类型如ext4、XFS等。创建前确认分区无重要数据,示例命令为`mkfs.ext4 /dev/sdc1`。之后使用`mount`命令将分区挂载至指定目录,如`mount /dev/sdc1 /w`。为实现开机自动挂载,可在`/etc/fstab`文件中添加相应条目。这些步骤有助于高效管理和利用存储空间。
18 2
|
16天前
|
存储 数据管理 物联网
探索Linux文件系统的奥秘
【8月更文挑战第3天】在数字时代的海洋中,Linux 文件系统犹如一座灯塔,指引着数据存储和访问的航向。本文将带你深入Linux的文件系统结构,从基础概念到操作实践,通过代码示例揭示文件系统背后的逻辑与美学。准备好跟随我们的脚步,开启一场关于数据组织和管理的知识之旅。
|
1月前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
1月前
|
存储 Linux Windows
【Linux】文件系统软硬链接的那些事儿
本文介绍了Linux文件系统的磁盘结构、逻辑结构以及文件和inode的关系,重点讲解了软链接和硬链接的区别,强调了它们在文件管理中的作用。
42 7
|
1月前
|
存储 缓存 固态存储
Linux操作系统之文件系统详解
Linux操作系统之文件系统详解
|
2月前
|
存储 Unix 数据管理
深入探讨Linux文件系统:从传统到现代
深入探讨Linux文件系统:从传统到现代
26 0
|
3月前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
3月前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。