• Linux——磁盘与文件系统的管理


    查询每个区段与superblock中的信息(可查看卷标)

    dumpe2fs […]设备文件名

    -h:仅列出superblock中的数据,其他区段的信息不会列出

    见P203

    查看磁盘与目录的容量

    df […] [目录或文件名]

    没有目录或文件名是列出各个分区的情况

    -a:列出所有的文件系统

    -h:以人们熟悉的GB\MB\KB列出

    -i:用inode数量显示

    du […]文件或目录名称

    -s:列出总量,不列出每个目录的占用量

    默认情况下,会列出每个目录的占用量

    见P210

    链接文件:ln

    硬链接

    ln源文件 文件名

    1、只是在某个目录文件下新建一个文件名链接到源文件的inode的关联记录中;

    2、并没有创建新文件,没有消耗inode和block数;

    3、不能跨文件系统,不能链接到目录

    4、删除源文件名后,还能通过新文件名访问文件;

    软链接

    ln -s源文件 文件名

    1、创建了新文件,消耗了block和inode数;

    2、删除源文件,链接失效;

    3、修改新文件,就是修改源文件;

    见P213

    磁盘分区(第一步)

    fdisk

    fdisk /dev/sda(注意后面没有编号)

    d

    删除分区

    n

    新建分区,要指定开始和结束的柱面号

    p

    查看已有分区信息

    w

    离开fdisk程序,存储分区结果

    q

    离开fdisk程序,不保存分区结果

    见P217

    磁盘格式化(第二步)

    mkfs

    mkfs [-t文件系统格式] 设备文件名

    mkfs[tab][tab]

    可以查看mkfs支持的文件系统格式

    见P223

    磁盘校验(第三步)

    fsck

    fsck [-t文件系统格式] […] 设备文件名称

    检查文件系统是否有损坏

    注意:执行fsck时,被检查的分区不能挂载到系统目录上

    fsck[tab][tab]

    可以查看fsck支持的文件系统格式

    badblocks

    badblocks […] 设备名称

    检查磁盘是否有坏轨

    磁盘挂载和卸载(第四步)

    mount

    mount -a

    mount [-l]

    mount [-t文件系统] [-L Label名] [-o额外参数] [-n] 设备文件名挂载点

    mount -L "Label名称"挂载点

    依照配置文件/etc/fstab的数据将所有未挂载磁盘都挂载上来

    (/etc/fsab是开机时挂载的配置文件)

    显示当前挂载信息

    将文件系统挂载到挂载点

    按照卷标进行挂载

    重新挂载根目录

    1、重启

    2、mount -o remount,rw,auto/

    umount

    umount [-fn]设备文件名或挂载点

    见P226

    硬盘参数修改

    e1abel

    e2label设备名称(注意不是Label名称)新的Label名称

    但最好不要改

    tune2fs

    tune2fs […]设备名称

    -l:读取super block数据

    -j:将ext2转换为ext3类型

    -L:修改Label名称

    设置开机挂载

    step1

    nano /etc/fstab 准备修改开机配置文件

    step2

    添加要挂载的设备

    设备名称   挂载点   文件系统类型   parameters值(默认defaults)  dump值(默认1)  fsck值(默认2)    

    step3

    mount -a 按照配置文件将新添加的设备挂载

    step4

    df查看是否挂载成功

    见P236

    特殊设备loop挂载

    挂载DVD镜像文件

    mount -o loop镜像文件挂载点

    以大文件充当分区

    (解决没有空间但还想分区的问题)

    1、dd if=/dev/zero of=home/loopdev bs=1M count=512

    //创建一个512M的大型文件

    2、mkfs -t ext4 /home/loopdev

    //按照想要的系统文件格式格式化大文件

    3、挂载

    mount -o loop /home/loopdev挂载点

    见P236

    分区后再来创建swap

    使用剩余的物理分区创建

    1、划出256M的物理空间

    fdisk /dev/sda 

    n   //创建分区

    t   //要将ID修改为82(普通的ext4的ID为83,而swap的为82)

    w   //保存

    partprobe(或重启)  //让内核更新分区

    2、构建swap格式

    mkswap设备名称

    3、查看和加载

    free    //查看内存和swap空间

    swapon设备名称        //启动新建的swap设备

    swapon -s //查看现有的swap设备

    使用文件创建

    1、创建一个大文件

    dd if=/dev/zero of=/tmp/swap bs=1M count=128

    2、将这个文件格式化为swap文件格式

    mkswap /tmp/swap

    3、使用swapon来启动

    swapon /tmp/swap

    swapon -s

    关掉新创建的swap

    swapoff设备名称

    swapoff /tmp/swap

    见P238

    利用parted命令进行分区

    parted [设备] [命令 [参数]]

    命令功能:

    新增分区:mkpart [primary|logical|extended] [ext4|vfat]开始 结束

    查看分区表:print

    删除分区:rm [partition]

    示例:

    parted /dev/sda print      //查看该设备的分区

    parted /dev/sda mkpart logical ext4 19.2GB 19.7GB    //创建一个大小为0.5GB的逻辑分区

    parted /dev/sda rm 8        //删除/dev/sda8设备

    见P244

  • 相关阅读:
    四位十进制频率计VHDL,DE1开发板验证,仿真和源码
    松翰SN8P2511 SOP8单片机 可代烧录 提供单片机方案开发 单片机解密
    HTTP 协商缓存 Last-Modified,If-Modified-Since
    SUSE linux的软件管理工具-zypper
    jeecgboot-前端组件封装代码示例
    SpringMVC:@RequestMapping注解
    C#创建AutoMapper的映射配置
    java基于微信小程序的在线购物商城系统 uniapp 小程序
    ICP算法加速优化--多线程和GPU
    第36章_瑞萨MCU零基础入门系列教程之步进电机控制实验
  • 原文地址:https://blog.csdn.net/weixin_71792169/article/details/127406999