Linux文件系统操作与磁盘管理
来源:互联网 发布:淘宝seo常见的问题 编辑:程序博客网 时间:2024/06/18 18:17
一、基本操作
2.1 查看磁盘和目录的容量
使用 df 命令查看磁盘的容量
$ df
$ df -h 展示的方式更容易理解
使用 du 命令查看目录的容量
$ du$ du -h 更易读
-d
参数指定查看目录的深度# 只查看1级目录的信息
$ du -h -d 0 ~
# 查看2级
$ du -h -d 1 ~
常用参数
du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。
du -a #同--all 显示目录中所有文件的大小。
du -s #同--summarize 仅显示总计,只列出最后加总的值。
三、简单的磁盘管理
3.1 创建虚拟磁盘
我们先来试试用dd
命令从标准输入读入用户输入到标准输出或者一个文件:$ dd of=test bs=10 cout=1
$ dd if=/dev/stdin of=/dev/stdout bs=10 count=1
在打完了这个命令后,继续在终端打字,作为你的输入
上述命令从标准输入设备读入用户输入(缺省值,所以可省略)然后输出到 test 文件,
bs
(block size)用于指定块大小(缺省单位为 Byte,也可为其指定如'K','M','G'等单位),count
用于指定块数量。如上图所示,我指定只读取总共 10 个字节的数据,当我输入了“hello shiyanlou”之后加上空格回车总共 16 个字节(一个英文字符占一个字节)内容,显然超过了设定大小。使用du
和cat
命令看到的写入完成文件实际内容确实只有 10 个字节(那个黑底百分号表示这里没有换行符),而其他的多余输入将被截取并保留在标准输入。前面说到
dd
在拷贝的同时还可以实现数据转换,那下面就举一个简单的例子:将输出的英文字符转换为大写再写入文件:$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
使用 dd 命令创建虚拟镜像文件
从
/dev/zero
设备创建一个容量为 256M 的空文件:$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img
使用 mkfs 命令格式化磁盘(我们这里是自己创建的虚拟磁盘镜像)
我们可以简单的使用下面的命令来将我们的虚拟磁盘镜像格式化为ext4
文件系统:$ sudo mkfs.ext4 virtual.img
使用 mount 命令挂载磁盘到目录树
我们先来使用
mount
来查看下主机已经挂载的文件系统:$ sudo mount
那么我们如何挂载真正的磁盘到目录树呢,
mount
命令的一般格式如下:mount [options] [source] [directory]
一些常用操作:
mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源][挂载点]
我们现在直接来挂载我们创建的虚拟磁盘镜像到
/mnt
目录:$ mount -o loop -t ext4 vitual.img /mnt
$ mount -o loop --ro virtual.img /mnt
使用 umount 命令卸载已挂载磁盘
$ sudo umount /mnt进入磁盘分区模式
$ sudo fdisk virtuak.img
p
查看结果最后不要忘记输入
w
写入分区表。使用 losetup 命令建立镜像与回环设备的关联
$ sudo losetup /dev/loop0 virtual.img
$ sudo losetup -d /dev/loop0
然后再使用
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
格式化完成后在
$ mkdir -p /media/virtualdisk_{1..3}/media
目录下新建四个空目录用于挂载虚拟磁盘:$ sudo umount /dev/mapper/loop0p1 /media/virtualdisk_1
$ sudo umount /dev/mapper/loop0p5 /media/virtualdisk_2
$ sudo umount /dev/mapper/loop0p6 /media/virtualdisk_3
$ sudo umount /dev/mapper/loop0p1
$ sudo umount /dev/mapper/loop0p5
$ sudo umount /dev/mapper/loop0p6
然后:
$ df -h
阅读全文
0 0
- Linux文件系统操作与磁盘管理
- Linux文件系统操作与磁盘管理
- Linux文件系统操作与磁盘管理
- 文件系统操作与磁盘管理
- 文件系统操作与磁盘管理
- 文件系统操作与磁盘管理
- 文件系统操作与磁盘管理
- 文件系统操作与磁盘管理
- linux磁盘与文件系统管理
- Linux 磁盘与文件系统管理
- Linux 磁盘与文件系统管理
- Linux 磁盘与文件系统管理
- Linux磁盘与文件系统管理
- Linux磁盘与文件系统管理
- Linux磁盘与文件系统管理
- Linux磁盘与文件系统管理
- Linux磁盘与文件系统管理
- linux---磁盘与文件系统管理
- Codeforces Round #444 (Div. 2) A. Div. 64
- css的主要学习内容总结
- 第九周项目三 利用二叉树遍历思想解决问题(4)
- caffe中Reshape层
- 《白鹿原》读后感
- Linux文件系统操作与磁盘管理
- mysql常用命令
- 387. First Unique Character in a String
- java类加载
- 关于设计模式的几点经验分享
- 前端开发 将table内容导出到excel
- 【bzoj3389】[Usaco2004 Dec]Cleaning Shifts安排值班
- 5.5
- 程序执行概述