美文网首页
Linux文件系统

Linux文件系统

作者: 宏势 | 来源:发表于2022-09-15 19:37 被阅读0次

    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> <type> <item> <value>

    • 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文件系统

          本文链接:https://www.haomeiwen.com/subject/tcujdrtx.html