磁盘操作1
磁盘操作1
df
报告文件系统打印情况
命令格式:df [option] [file] #df 参数 文件(一般是磁盘文件)
参数:
-
1
-a
打印出全部文件系统列表 -
2
-h
以1024为基本单位,自适应 KB M G等单位 -
3
-H
以1000为基本单位,自适应 KB M G 等单位 -
4
-i
打印inode使用情况,代替打印块(文件大小)使用情况 -
5
-k
以1024字节为块进行显示,此参数为默认单位 -
6
-m
以1024K字节(1M 字节)为块进行显示 -
7
-B, --block-size=SIZE
自定义块大小显示 -
8
-l
只显示本地磁盘使用情况,不加此参数远程的磁盘情况也会打印出来 -
9
-T
打印文件系统类型
例子:
df 不加参数:[root@xujb01 shm]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 18344784 1632844 15757012 10% /
devtmpfs 495496 0 495496 0% /dev
tmpfs 506188 0 506188 0% /dev/shm
tmpfs 506188 7016 499172 2% /run
tmpfs 506188 0 506188 0% /sys/fs/cgroup
/dev/sda1 95054 91518 0 100% /boot
tmpfs 101240 0 101240 0% /run/user/1000
1、 [root@xujb01 shm]# df -a
[root@xujb01 shm]# df -a
文件系统 1K-块 已用 可用 已用% 挂载点
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 495496 0 495496 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 506188 0 506188 0% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 506188 7016 499172 2% /run
tmpfs 506188 0 506188 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
configfs 0 0 0 - /sys/kernel/config
/dev/sda2 18344784 1632844 15757012 10% /
selinuxfs 0 0 0 - /sys/fs/selinux
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
hugetlbfs 0 0 0 - /dev/hugepages
debugfs 0 0 0 - /sys/kernel/debug
/dev/sda1 95054 91518 0 100% /boot
tmpfs 101240 0 101240 0% /run/user/1000
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
2 3、 df -h;df -H
[root@xujb01 shm]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 18G 1.6G 16G 10% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 495M 0 495M 0% /dev/shm
tmpfs 495M 6.9M 488M 2% /run
tmpfs 495M 0 495M 0% /sys/fs/cgroup
/dev/sda1 93M 90M 0 100% /boot
tmpfs 99M 0 99M 0% /run/user/1000
----------------------------------------------------------
[root@xujb01 shm]# df -H
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 19G 1.7G 17G 10% /
devtmpfs 508M 0 508M 0% /dev
tmpfs 519M 0 519M 0% /dev/shm
tmpfs 519M 7.2M 512M 2% /run
tmpfs 519M 0 519M 0% /sys/fs/cgroup
/dev/sda1 98M 94M 0 100% /boot
tmpfs 104M 0 104M 0% /run/user/1000
4 df -i
[root@xujb01 shm]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda2 1175040 61410 1113630 6% /
devtmpfs 123874 391 123483 1% /dev
tmpfs 126547 1 126546 1% /dev/shm
tmpfs 126547 501 126046 1% /run
tmpfs 126547 16 126531 1% /sys/fs/cgroup
/dev/sda1 25688 335 25353 2% /boot
tmpfs 126547 1 126546 1% /run/user/1000
7 9、[root@xujb01 shm]# df -B 1G -T
[root@xujb01 shm]# df -B 1G -T
文件系统 类型 1G-块 已用 可用 已用% 挂载点
/dev/sda2 ext4 18 2 16 10% /
devtmpfs devtmpfs 1 0 1 0% /dev
tmpfs tmpfs 1 0 1 0% /dev/shm
tmpfs tmpfs 1 1 1 2% /run
tmpfs tmpfs 1 0 1 0% /sys/fs/cgroup
/dev/sda1 ext4 1 1 0 100% /boot
tmpfs tmpfs 1 0 1 0% /run/user/1000
du
估计文件空间使用率
为什么叫估计? 因为du计文件大小是按占了多少块来计算的 块*块数量
[root@xujb01 test]# du -h txt;ll -h txt #块大小为4kb,不满4kb以4kb大小来计 4.0K txt -rw-r--r--. 1 root root 13 11月 1 06:21 txt
那怎么查看块大小呢,块大小和分区有关,首先查看该文件属于哪个分区
[root@xujb01 test]# df . 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda2 18344784 1631612 15758244 10% /
可以看到分区为/dev/sda2,然后执行命令: tune2fs -l /dev/sda2,这里有很多信息所以用grep过滤一下:
[root@xujb01 test]# tune2fs -l /dev/sda2 | grep Block Block count: 4692736 Block size: 4096 #块大小 Blocks per group: 32768
可以看到块大小为4 kB,块大小可以在格式化分区的时候设定。
-
1
-h
自适应单位显示 -
2
-k
以‘K’为显示单位 -
3
-m
以‘M’为显示单位 -
4
-c
打印文件夹或文件总数使用情况 -
5
-s
只打印总和 -
6
-a
打印文件夹内所有文件及文件夹的使用情况,不加 -a,只是df的话只打印文件夹使用情况,但是最后一行会统计总使用情况
1 du;du -h
[root@xujb01 test]# du
4 ./test/1/2
8 ./test/1
4 ./test/3/4
8 ./test/3
24 ./test
8 ./passwd
20 ./.ssh
31468 .
[root@xujb01 test]# du -h
4.0K ./test/1/2
8.0K ./test/1
4.0K ./test/3/4
8.0K ./test/3
24K ./test
8.0K ./passwd
20K ./.ssh
31M .
4 5、du -ch;du -sh
[root@xujb01 test]# du -ch
4.0K ./test/1/2
8.0K ./test/1
4.0K ./test/3/4
8.0K ./test/3
24K ./test
8.0K ./passwd
20K ./.ssh
31M .
31M 总用量
[root@xujb01 test]# du -sh
31M .
fdisk
操作磁盘分区表,只有root用户可以使用
注:
fdisk 分区的类型为MBR
parted 分区类型格式为GPT
区别有:MBR支持的分区为主分区和扩展分区不超过4个,扩展分区下可再分为逻辑分区,并且操作的磁盘大小不能超过2T
而GPT没有主分区和扩展分区以及逻辑分区的区别,并且支持的磁盘大于2T,最高可达8EB
- fdisk -l 查看分区
[root@xujb01 test]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f2e68
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 83 Linux
/dev/sda2 206848 37748735 18770944 83 Linux
/dev/sda3 37748736 41943039 2097152 82 Linux swap / Solaris
磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
- fdisk /dev/sdb #对/dev/sdb磁盘进行分区操作
[root@xujb01 test]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x80b6149c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):
- 对磁盘进行分区: 键入m,回车查看帮助,常用参数有
m
帮助菜单
p
打印分区情况‘l’ 列出分区类型表
n
创建新的分区
d
删除新的分区 后面需要加分区号
w
把分区情况写入磁盘并且退出‘q’ 不保存退出
命令(输入 m 获取帮助):n #创建新主分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-4194303,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB
- 分区:主分区和扩展分区总数不能超过4个,逻辑分区是承载在扩展分区之上的,扩展分区是一个外壳,而逻辑分区是它的内容
命令(输入 m 获取帮助):p #打印分区情况
磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x80b6149c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux
/dev/sdb2 206848 411647 102400 83 Linux
/dev/sdb3 411648 616447 102400 83 Linux
/dev/sdb4 616448 2713599 1048576 5 Extended
分区的时候有起始扇区号和Last扇区号,一般起始扇区默认(接在上一个分区后面),Last分区可以打扇区号,也可以打大小例如:+1G
- 分好区后,输入参数’w’,进行保存退出;输入‘q’执行不保存退出。
命令(输入 m 获取帮助): q #不保存退出,可以看到/dev/sdb没有分区
[root@xujb01 test]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f2e68
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 83 Linux
/dev/sda2 206848 37748735 18770944 83 Linux
/dev/sda3 37748736 41943039 2097152 82 Linux swap / Solaris
磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节