一、文件系统
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命令,可以用于清理僵尸进程