Linux文件系统

Linux 一切皆文件

1.文件系统类型

Linux 常用文件系统:ext2/ext3/ext4/xfs, 对应支持文件大小:2T/16T/32T/8E

Centos7 默认使用xfs作为默认文件系统,xfs大容量文件时性能较佳

swap: Linux中用于交换分区的文件系统;
tmpfs: 基于内存的虚拟文件系统;
proc: Linux 中基于内存的虚拟文件系统,用来管理内存存储目录 /proc
sysfs:和 proc —样,也是基于内存的虚拟文件系统,用来管理内存存储目录 /sysfs

windows 常用文件系统:FAT12/FAT16/FAT32/NTFS/NTFS5.0,对应支持文件大小:8M/2G/4G/64G/2TB
Mac 常用文件系统: HFS(macOS10.12以前), APFS(macOS10.13以后), FAT/ExFAT(windows兼容格式)

查看文件系统类型

df -Th 

cat /etc/fstab

#查看指定分区
blkid /dev/sda1

#查看UUID
lsblk -f 

查看分区的详细信息

#tune2fs和dumpe2fs只能打开ext3/ext4等文件类型
dumpe2fs -h /dev/sda1 

#查看XFS的文件系统的命令:xfs_info | xfs_growfs
xfs_info /dev/sda1

2.文件组成

通常一个文件会存放在 不同的区块,权限与属性放置到索引(inode)块,实际数据放置到数据块(block)中, 磁盘格式化以后,会把磁盘分成以下三块:

  • 超级区块
    记录此文件系统的整体信息,包括inode与数据区块的总量、使用量、剩余量, 以及文件系统的格式与相关信息等
  • inode块
    记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在数据块号码, 一个inode一般是128或者256字节
  • 数据区块
    实际记录文件的内容,若文件太大时,占用多个区块, 一个区块正常4KB

查看文件inode信息

stat log.txt
image.png

利用ll 显示inode号

#显示/opt目录的inode号
ll  -di  /opt 
#显示/opt目录下的所有目录文件的inode号
ll -i /opt

查看文件系统inode信息

df -ih

建立一个目录时,文件系统会分配一个inode与至少一个数据块给该目录,该数据块存储这个目录下的文件名与该文件名占用的inode号码数据

3.软硬链接

  • 硬链接
    硬链接是通过索引节点inode进行链接的,A是B的硬链接, 则A和B对应同一个inode号,A和B是完全平等,删除其中一个都不会有影响
touch  f1
ln f1 f2 # 创建硬链接文件f2
  • 软链接(符号链接)
    软链接文件类似于windows的快捷方式,是个特殊文件
    A是B的软链接, A和B不同的inode号, A的数据库块存放B的路径名,属于主从关系,B被删除了,A 仍然存在,但只指向一个无效链接
touch  f1
ln -s  f1 f3 # 创建软链接文件f2

硬连接不支持目录

4.磁盘分区

磁盘分区工具fdisk和gdisk, gdisk需要安装; 有MBR和GPT分区, MBR不支持4T以上

gdisk 可以对2T以上的磁盘进行分区,fdisk不行
fdisk 只能用于MBR分区,gdisk可以用于GPT分区

(1)安装gdisk

yum install gdisk -y

(2)gdisk命令分区(不分区可跳过)

gdisk /dev/vdc #根据提示操作

(3) mkfs.xfs 分区格式化

mkfs.vfs /dev/vdc #格式化xfs文件系统
#mkfs.ext4 /dev/vdc #格式化成ext4文件系统

(4) 挂载硬盘

mkdir /cache1
mount /dev/vdc  /cache1
#取消挂载
#umount /dev/vdc 

(5) 持续挂载
磁盘被手动挂载之后必须将挂载信息写入 /etc/fstab 文件中,否则下次开机还需要重新挂载

vim /etc/fstab

最后一行添加

/dev/vdc   /cache1      xfs        defaults    0     0
  • df 列出文件系统整体磁盘使用量, -T 显示文件系统,-i 显示inode数量
df -h
df -aT 
  • du 检查磁盘空间使用量 -s 列出目录总量
#列出根目录下每个目录的占用磁盘总量
du -sm /*

5. 资源限制

linux 通过/etc/security/limits.conf 文件配置限制资源(永久生效), ulimit 是当前shell 会话有效

格式:

  • domain 是指生效实体
    用户名 也可以通过@group指定用户组 使用*表示默认值
  • type指限制类型
    soft 与 hard 软硬两种限制
  • item限制资源
    • core同ulimit -c 设定core文件的最大值,单位为区块
    • data同ulimit -d 程序数据段的最大值,单位为KB
    • fsize同ulimit -f 能建立的最大文件,单位为区块
    • memloc同ulimit -l 设置在内存中锁定进程的最大值,单位KB
    • nofile同ulimit -n 设置进程同时打开最大文件句柄数
    • stack同ulimit -s 设置堆栈的最大值,单位KB
    • cpu 同ulimit -t 设置CPU使用时间的最大上限.单位秒
    • nproc同ulimit -u 设置用户的最大进程数
    • maxlogins指定用户可以同时登陆的数量
    • maxsyslogins系统可以同时登陆的用户数
    • priority用户进程运行的优先级
    • locks用户可以锁定的文件最大值

永久生效设置

vim /etc/security/limits.conf 
#centos7 需要
vim /etc/security/limits.d/20-nproc.conf
#设置进程同时打开的最大句柄数
* soft nofile 4096
* hard nofile 4096

#设置用户的最大进程数
* soft nproc 4096
* hard nproc 4096

#设置webrunner用户可同时登录的数量是1
webrunner - maxlogins 1

ulimit 命令

查看资源限制

ulimit  -a 

设置资源(当前shell会话有效)

##设置进程同时打开的最大句柄数
ulimit  -n 4096
##设置用户的最大进程数
ulimit  -u 4096

你可能感兴趣的:(Linux文件系统)