linux磁盘及文件系统管理的部分知识三

时间:2022-10-26 18:29:29

1文件系统

文件系统是文件存放在磁盘等存储设备上的组织方法

1.1文件系统类型 : ext3 ext2 xfs vfat iso9660 ReiserFS 等 不同类型有其各自的特点

1.2虚拟文件系统VFS: 在用户和文件系统之间提供了一个交换层

2硬盘

2.1硬盘分区命令 fdisk

fdisk -l  <disk>查看当前系统分区表

fdisk <disk> 交互式命令进行分区

    p  显示分区信息

        n 新建分区

        p 主分区

    e 扩展分区

    d  删除分区

    t  修改分区类型

    l 列出系统可用分区类型 常用的 82(swap) 83(linux) 8e(lvm)

    w 保存退出

    q 仅退出不保存

补充:

fdisk 创建分区后 内核可能没有识别这个时候要用 partprobe <disk>  partx <disk>

cat /proc/partitions  #查看内核识别的分区表

2.2分区格式化

查看当前系统支持的文件系统类型

cat /proc/filesystems

mkfs:

    mkfs -t ext3 /dev/sdb1

    mkfs.ext3 /dev/sdb1

专门管理ext系列文件系统类型的命令:

    mke2fs

        -j :ext3

        -b BLOCK_SIZE:指定块大小 默认4096

        -L label :指定卷标

        -m #: 指定预留给超级用户的块数百分比

        -i #:指定inode 比率 应该是块大小的2^n倍

        -N #: 指定inode个数

        -F :强制创建文件系统

        -E :用户指定额外文件系统属性

格式:

    mke2fs -j  -b 2048 /dev/sdb1

    mke2fs -L  label_name /dev/sdb1

    mke2fs -i 4096 /dev/sdb1

2.3设置卷标

    e2label 用于查看和定义卷标

    e2label  /dev/sdb2 labelname

    e2label /dev/sdb2

补充:blkid 显示block设备的属性

    blkid  [disk]

    /dev/sdb1: UUID="8yKtAQ-gdfF-UlZ2-YUBS-nZUT-510D-CqDo3L" TYPE="LVM2_member"

2.4调整文件系统相关属性

    tune2fs -j  /dev/sdb2 : 无损创建ext3

    tune2fs -L :设定或修改卷标

        -m #:调整预留百分比

    dumpe2fs

    fsck 检查并修复linux文件

        -t fstype

        -a :自动修复

    e2fsck 专用于修复ext系列文件系统

         -f:强制检查

         -p:自动修复

2.5挂载文件系统

将新的文件系统关联至当前根文件系统

挂载:

mount 设备 挂载点

设备:

    设备文件 如 /dev/sdb1

    卷标 LABEL=""

    UUID: UUID=""

    挂载点:已存在的目录

        1、此目录没有被其他进程使用

        2、目录得事先存在

        3、目录中的原有文件将会暂时隐藏

格式:mount [options] [-o options] device mount_point

         -a 表示挂载/etc/fstab 文件中指定的所有的文件系统

         -n 默认情况下 mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件 -n选项意味着挂载设备时不把信息写里

        -t fstype 指定正在挂载的文件系统类型,不使用此选项时,mount会调用blkid 命令获取对应文件系统类型

        -r:只读挂载

        -w 读写挂载

        -o 指定额外的文件系统挂载选项

           remount 重新挂载当前文件系统。

           ro 挂载为只读 一般挂载光驱

           rw 读写挂载

           --bind

           --move

挂载完成后:要通过挂载点访问对应文件系统上的文件

2.6卸载文件系统

将某文件系统与当前根文件系统的关联关系移除

umount 设备 或 umount 挂载点

卸载注意事项

挂载的设备没有进程使用

fuser -v /mnt/test :查看谁在访问挂载点

  -k //kill

  -m

fuser -km /mnt/test  终止正在访问该挂载点的所有进程

2.7swap 分区

free 查看物理内存和交换空间的使用情况

    mkswap [-L label_name]  /dev/sda8

    //创建交换分区  要调整分区类型为82 -L label_name 可以指定卷标

    swapon /dev/sda8          //启用swap分区

    swapon -a //启用所有/etc/fstab文件中的交换设备

    swapoff  /dev/sda8 //关闭swap分区

2.8文件系统的配置文件/etc/fstab 说明

OS在初始化时,会自动挂载定义在/etc/fstab中的定义的设备

/dev/sda5 /mnt/test ext3 defaults 0 0

字段说明:

    1要挂载的设备 /dev/sda5

    2挂载点 /mnt/test

    3文件系统类型 ext3

    4挂载选项 defaults

    5转储频率(每多少天做一次完全备份)0

    6文件系统检测次序(只有根可以为1)0


补充有时候需要向/etc/fstab加设备

echo "/dev/sda5   /mnt/test   ext3 defaults  0  0" >> /etc/fstab

2.9其他

回环设备

lookback 使用软件来模拟实现硬件

wget ftp://172.16.1.18/xxx.iso

mount -o loop /root/xxx.iso //挂载本地回环设备

创建一个镜像文件

dd命令

    if=数据来源

    of=数据存储目录

    bs=1024

    count=2

    seek=# :创建文件时,跳过的空间大小

示例:

dd if=/dev/sda of=/mnt/usb/mbr.bak bs=512 count=1

dd if=/mnt/usb/mbr.bak of=/dev/sda bs=512 count=1

dd if=/dev/zero of=/var/swapfile bs=1M count=1024