美文网首页linux
Linux中的文件系统和磁盘管理

Linux中的文件系统和磁盘管理

作者: CurryCoder | 来源:发表于2019-02-27 09:11 被阅读2次

一、简单文件系统操作

    1. 查看磁盘和目录的容量
    • 使用df命令查看磁盘的容量,加上-h参数,以更易读的方式展开:
      df -h
    • 使用du命令查看目录的容量,-d参数指定查看目录的深度:
      du -h -d 0 ~ 只查看1级目录的信息

二、简单的磁盘管理

    1. 创建虚拟磁盘
    • dd命令简介
      • dd命令用于转换和复制文件,不过它不同于cp。在Linux系统中,一切即文件。硬件的设备驱动(如硬盘)和特殊设备文件(如/dev/zero和/dev/random)都像普通文件一样,只要在各自的驱动程序中实现了对应的功能,dd也可以读取或写入这些文件。这样,dd也可以用在备份硬件的引导扇区、获取一定数量的随机数据或空数据等任务中。dd程序也可以在复制时处理数据,例如转换字节序,或在ASCII和EBCDIC编码间互换。
      • dd的命令行语句与其他的Linux程序不同。因为它的命令行选项格式为选项=值,而不是更标准的--选项 值或 - 选项=值。dd默认从标准输入中读取,并写到标准输出中,但可以用选项if(input file,输入文件)和of(output file,输出文件)来改变。
      • dd of = test bs=10 count=1 或 dd if = /dev/stdin of=test bs=10 count=1 前面的命令从标准输入设备读入用户输入(缺省值,所以可以省略),然后输出到test文件,bs(block size)用于指定块的大小(缺省单位为byte,也可以为其指定如K,M,G等单位),count用于指定块的数量。接着从标准输入中写入:hello,cdl!指定只读取总共10个字节的数据,当我们输入"hello,cdl!"之后,总共就会有13个字节(一个英文字符占一个字节)内容,显然超过了设定的大小。du -b test cat test 使用du和cat命令看到的写入完成文件实际内容确实只有10个字节,而其他的多余输入将被截取并保留在标准输入。
    • dd在拷贝的同时还可以实现数据转换,如将输出的英文字符转换为大写,再写入到文件
      dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
    1. 使用dd命令创建虚拟镜像文件
      dd if=/dev/zero of=virtual.img bs=1M count=256
      du -h virtual.img
    1. 使用mkfs命令来格式化磁盘
      sudo mkfs.ext4 virtual.img (将创建的虚拟磁盘镜像格式化为ext4文件系统)
    1. 使用mount命令挂载磁盘到目录树
    • 用户在Linux/UNIX的机器上打开一个文件之前,包含该文件的文件系统必须先进行挂载的动作,此时用户要对该文件执行mount的指令以进行挂载。通常是使用在USB或其他可移除存储设备上,而根目录则需要始终保持挂载的状态。
    • 使用mount来查看主机已经挂载的文件系统
      sudo mount
    • mount命令的一般格式如下:
      mount [options] [source] [directory]
    • 一些常用操作:
      mount -o loop --ro virtual.img /mnt 或 mount -o loop,ro virtual.img /mnt
      • 使用umount命令可以卸载已挂载磁盘:
        sudo umount /mnt
    1. 使用fdisk进行磁盘分区
    • 查看硬盘分区表信息
      sudo fdisk -l
    • 进入磁盘分区模式
      sudo fdisk virtual.img
    • 然后根据自己规划号的分区方案,利用提示信息分区,比如使用128M的虚拟磁盘镜像创建一个30M的主分区,剩余部分为扩展分区,包含2个大约45M的逻辑分区。操作完成后,输入p查看结果,完成后输入w,写入分区表。
    1. 使用losetup命令建立镜像与回环设备的关联
      sudo loseup /dev/loop0 virtual.img
    • 如果提示设备忙,也可以使用其他的回环设备,"ls /dev/loop*"参看所有回环设备
    • 解除设备关联:
      sudo loseup -d /dev/loop0
    1. 使用mkfs格式化分区
    • 前面是格式化整个虚拟磁盘镜像文件或磁盘,不过格式化之前,还要为各个分区建立虚拟设备的映射,用到kpartx工具,需要先安装。
      sudo apt-get install kpartx
      sudo kpartx -av /dev/loop0
    • 取消映射
      sudo kpartx -dv /dev/loop0
    • 接着再进行格式化,将其全部格式化为ext4
      sudo mkfs.ext4 -q /dev/mapper/loop0p1
      sudo mkfs.ext4 -q /dev/mapper/loop0p5
      sudo mkfs.ext4 -q /dev/mapper/loop0p6
    • 格式化完成后,在/media目录下新建三个空目录用于挂载虚拟磁盘
      mkdir -p /media/virtualdisk_{1..3}
    1. 挂载磁盘分区
      sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
      sudo mount /dev/mapper/loop0p1 /media/virtualdisk_2
      sudo mount /dev/mapper/loop0p1 /media/virtualdisk_3
  • 整个过程完成后,使用df -h,能够找到上面创建的磁盘分区

相关文章

  • Linux磁盘与文件系统管理

    Linux磁盘与文件系统管理 Linux磁盘与文件管理系统 2017-06-12 09:41:28 ...

  • Linux基础知识

    Linux文件系统 Linux文件系统简介 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘...

  • Linux 文件系统与设备文件

    1 Linux 文件系统 1.1 Linux 文件系统与设备驱动关系 下图表明了 Linux 中虚拟文件系统、磁盘...

  • Linux磁盘挂载(分区、格式化、挂载)

    Linux磁盘管理常用三个命令为df、du和fdisk。 df:列出文件系统的整体磁盘使用量。 du:检查磁盘空间...

  • 3 Linux 磁盘与文件系统管理

    1 认识 Linux 文件系统 Linux 最传统的磁盘文件系统使用的是 ext2 1.1 磁盘组成与分区 磁盘组...

  • du/df

    linux磁盘管理 df 用户展示磁盘使用 -a 现实所有文件系统的文件-B 指定打印单位, -BM--total...

  • Linux中的文件系统和磁盘管理

    一、简单文件系统操作 查看磁盘和目录的容量使用df命令查看磁盘的容量,加上-h参数,以更易读的方式展开:df -h...

  • 20170804 磁盘管理

    目录磁盘结构磁盘分区磁盘分区管理文件系统管理挂载 一、磁盘结构 (一)设备文件 设备文件:linux系统下一切皆文...

  • 初识Linux

    文章目录 一、熟悉Linux环境 二、shell编程 三、Linux进程控制与通信管理 四、文件系统与磁盘管理 五...

  • linux系统盘命令的基本操作

    Linux系统磁盘基本管理命令挂载文件系统――mount mount命令语法: mount [参数] [设备名称]...

网友评论

    本文标题:Linux中的文件系统和磁盘管理

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