Linux命令(4)

文件系统操作与磁盘管理

"rootfs" : (Root File System)它是 Ramfs(Ramfs 是一个非常简单的 Linux 文件系统用于实现磁盘缓存机制作为动态可调整大小的基于 ram 的文件系统)或者 tmpfs 的一个特殊实例,它作为系统启动时内核载入内存之后,在挂载真正的的磁盘之前的一个临时文件系统。通常的主机会在系统启动后用磁盘上的文件系统替换.

查看磁盘和目录容量

df (-h)

查看目录容量 du

du -h -d (0、1) 目录
-h human-readable
-d 查看目录的深度
0:一级目录
1:二级目录

dd命令

Linux 的很重要的一点,一切即文件,在 Linux 上,硬件的设备驱动(如硬盘)和特殊设备文件(如/dev/zero和/dev/random)都像普通文件一样,只要在各自的驱动程序中实现了对应的功能,dd 也可以读取自和/或写入到这些文件   
dd命令:默认从标准输入中读取,并写入到标准输出中,但可以用选项if(input file,输入文件)和of(output file,输出文件)改变.
  • dd命令从标准输入读入用户输入到输出到文件:
    dd of=test bs=10 count=1 #
    或者 dd if=/dev/stdin of=test bs=10 count=1
  • dd命令从标准输入读入用户输入输出到标准输出:
    dd if=/dev/stdin of=/dev/stdout bs=10 count=1
    bs(block-size):用于指定块大小(缺省单位为Byte,也可为其指定如’K’,’M’,’G’等单位)
    count:用于指定块数量
  • dd在拷贝的同时还可以实现数据转换:
    将输出的英文字符转换为大写再写入文件:
    dd if=/dev/stdin of=test bs=10 count=1 conv=ucase

创建虚拟磁盘

loop设备:在类 UNIX 系统中,/dev/loop(或称vnd (vnode disk)、lofi(循环文件接口))是一种伪设备,这种设备使得文件可以如同块设备一般被访问。在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件(参见设备文件系统)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载
  1. 从/dev/zero设备创建一个容量为 256M 的空文件:
    dd if=/dev/zero of=virtual.img bs=1M count=256
  2. 将这个文件格式化(写入文件系统):
    • 使用 mkfs 命令格式化磁盘(我们这里是自己创建的虚拟磁盘镜像),将我们的虚拟磁盘镜像格式化为ext4文件系统 :
      mkfs.ext4 virtual.img
    • 查看Linux支持的文件系统:
      ls -l /lib/modules/$(uname -r)/kernel/fs
  3. 使用 mount 命令挂载磁盘到目录树:
    • 常用操作:mount [options] [source] [directory]
      mount [-o [操作选项]] [-t 文件系统类型] [-w|–rw|–ro] [文件系统源] [挂载点]
    • 挂载我们创建的虚拟磁盘镜像到/mnt目录:
      mount -o loop -t ext4 virtual.img /mnt
    • 也可以省略挂载类型,很多时候 mount 会自动识别
    • 以只读方式挂载:
      mount -o loop –ro virtual.img /mnt
      或者mount -o loop,ro virtual.img /mnt
    • 查看下主机已经挂载的文件系统:
      sudo mount
    • 命令格式 sudo umount 已挂载设备名或者挂载点:
      sudo umount /mnt
  4. 使用 fdisk 为磁盘分区
    • 查看硬盘分区表信息:
      sudo fdisk -l
    • 进入磁盘分区模式:
      sudo fdisk virtual.img
    • 操作完成后输入p查看结果
    • 最后不要忘记输入w写入分区表
  5. 使用 losetup 命令建立镜像与回环设备的关联:
    sudo losetup /dev/loop0 virtual.img
    • 如果提示设备忙你也可以使用其它的回环设备,”ls /dev/loop*”参看所有回环设备
    • 解除设备关联:
      sudo losetup -d /dev/loop0
  6. 使用mkfs格式化各分区(前面我们是格式化整个虚拟磁盘镜像文件或磁盘),不过格式化之前,我们还要为各分区建立虚拟设备的映射,用到kpartx工具
    sudo apt-get install kpartx
    sudo kpart kpartx -av /dev/loop0
    • 取消映射
      sudo kpart kpartx -dv /dev/loop0
  7. 接着再是格式化,我们将其全部格式化为 ext4:
    • sudo mkfs.ext4 -q /dev/mapper/loop0p1
    • sudo mkfs.ext4 -q /dev/mapper/loop0p5
    • sudo mkfs.ext4 -q /dev/mapper/loop0p6
  8. 格式化完成后在/media目录下新建四个空目录用于挂载虚拟磁盘
    mkdir -p /media/virtualdisk_{1..3}
    • 挂载磁盘分区:
      sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
      sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
      sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3
    • 卸载磁盘分区
      sudo umount /dev/mapper/loop0p1
      sudo umount /dev/mapper/loop0p5
      sudo umount /dev/mapper/loop0p6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值