文件系统命令:du,df,fdisk,parted,blkid,lsblk
16.1.du
功能:估算文件空间使用情况
语法:
du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F
常用选项:
-a或-all 递归指定目录或多个目录中所有文件的统计结果
-b或-bytes 以bytes为单位显示
-c–total 产生一个总大小,除了显示目录和文件的大小外,同时还显示所有目录或文件的总和
-h 人性化显示(K,M,G)
-k 单位KB显示
-m 单位MB显示
-s 只显示总大小,不含子文件
--max-depth=<目录层数>,超过层数的目录忽略
--exclude=file 排除文件或目录
--time 显示大小和创建时间
示例:
[[email protected] scripts]# du -sh /etc #查看etc目录大小 28M/etc [[email protected] tmp]# du -sh /tmp 13G/tmp [[email protected] tmp]# du -sh --exclude=test.12 /tmp #排除test.12文件查看tmp目录大小 1.2M/tmp [[email protected] tmp]# du -sh --time /tmp 13G 2017-06-20 11:07 /tmp [[email protected] tmp]# du -ah --max-depth=1 /etc/ #选择层数查看,不能使用s,因为s是不显示子目录和文件的 0/etc/grub.conf 116K/etc/lvm 8.0K/etc/xinetd.d 16K/etc/gnome-vfs-2.0 48K/etc/polkit-1 28K/etc/iproute2
16.2.df
功能:报告文件系统磁盘空间使用情况
语法:df [OPTION]... [FILE]...
常用选项:
-a 显示所有文件系统的磁盘使用情况,包含虚拟文件系统及伪文件系统
-h 人性化显示
-i 显示block使用的inode信息
-k KB显示
-P 使用POSIX格式输出
-t 输出指定文件系统类型的磁盘使用情况
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)
-T 打印文件系统类型
示例:
[[email protected] ~]# df -ah #查看所有文件系统磁盘使用情况 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 18G 14G 3.0G 82% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 477M 28M 425M 6% /boot none 0 0 0 - /proc/sys/fs/binfmt_misc /dev/mapper/VolGroup-lv01 4.8G 19M 4.6G 1% /data
[[email protected] ~]# df -i #打印inode号 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/VolGroup-lv_root 1152816 58106 1094710 6% / tmpfs 125543 1 125542 1% /dev/shm /dev/sda1 128016 38 127978 1% /boot /dev/mapper/VolGroup-lv01 327680 10 327670 1% /data
[[email protected] ~]# df -k #以kb为单位打印 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 18003272 13974776 3107308 82% / tmpfs 502172 0 502172 0% /dev/shm /dev/sda1 487652 27678 434374 6% /boot /dev/mapper/VolGroup-lv01 5029504 19236 4748124 1% /data
[[email protected] ~]# df -Ph #使用posix格式输出,整齐多了 Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 18G 14G 3.0G 82% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 477M 28M 425M 6% /boot /dev/mapper/VolGroup-lv01 4.8G 19M 4.6G 1% /data [[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root #打印文件系统类型 ext4 18G 14G 3.0G 82% / tmpfs tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 ext4 477M 28M 425M 6% /boot /dev/mapper/VolGroup-lv01 ext4 4.8G 19M 4.6G 1% /data
[[email protected] ~]# du -ah /etc |sort -nrk 1 |head -n 10 #打印指定目录中最大的10个目录或文件 984K /etc/pki/tls/certs/ca-bundle.trust.crt 772K /etc/pki/tls/certs/ca-bundle.crt 628K /etc/services 620K /etc/pki/ca-trust/extracted/pem 384K /etc/selinux/targeted/contexts 352K /etc/sysconfig 324K /etc/pki/ca-trust/extracted/openssl 316K /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt 300K /etc/selinux/targeted/contexts/files 296K /etc/gconf
[[email protected] tmp]# find . -type f -exec du -k {} \;|sort -nrk 1 |head #查找指定目录中最大的10个目录或文件 12582916 ./test.12 1000 ./123.log 100 ./456.log 12 ./123 4 ./user.log 4 ./passwd.bak 4 ./passwd 4 ./newetcdir 0 ./yum.log
16.3.fdisk
功能:linux分区表操作器
语法:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v
fdisk -h
示例:
# fdisk -l 查看磁盘的详细信息 磁盘大小=盘面数 X 扇区数 X 柱面数 X 每扇区大小(512字节) Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders 255个磁头 63个扇区 2610个柱面 Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000dc9a4 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 2611 20458496 8e Linux LVM Disk /dev/mapper/vg_node1-lv_root: 18.8 GB, 18798870528 bytes 255 heads, 63 sectors/track, 2285 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_node1-lv_swap: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
磁盘分区:
fdisk /dev/sdb Command (m for help): m 打印帮助 Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 删除一个分区 l list known partition types 查看所有分区类型 m print this menu n add a new partition 添加新分区 o create a new empty DOS partition table p print the partition table 打印分区表 q quit without saving changes 退出不保存 s create a new empty Sun disklabel t change a partition‘s system id 更改分区的系统类型(id) u change display/entry units v verify the partition table w write table to disk and exit 保存且退出 x extra functionality (experts only) Command (m for help): n Command action e extended 扩展分区 p primary partition (1-4) 主分区 分区编号 p Partition number (1-4): 1 First cylinder (1-2610, default 1): 起始柱面(默认) Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G 数字代表结束柱面;+size代表最终指定大小 分区:如果你要分四个以上分区,请把第四个分为extended扩展分区 而且扩展分区把多余的所有空间都划分进去,否则会造成空间的浪费 格式化成某种文件系统: mkfs.ext4 /dev/sdb1 或者 mkfs -t ext4 /dev/sdb1 查看文件系统: df -lhT 通过挂载方式使用: 手动挂载: mkdir /u01 创建空的挂载点 mount /dev/sdb1 /u01
16.4.parted
功能:GNU分隔-分区操作程序
语法:parted [options] [device [command [options...]...]]
常用选项:
-h, --help 显示此求助信息
-l, --list 列出所有设别的分区信息
-i, --interactive 在必要时,提示用户
-s, --script 从不提示用户
-v, --version 显示版本
两种分区:
gpt 没有主分区,扩展分区,逻辑扩展分区的概念,支持单个分区最大超过2TB
msdos 有主分区,扩展分区,逻辑扩展分区的概念
bios
EFI/UEFI
fdisk只能分msdoc分区,而parted可以分msdos和gpt分区
这两种分区格式怎么查看
# parted /dev/sda GNU Parted 2.1 Using /dev/sda Welcome to GNU Parted! Type ‘help‘ to view a list of commands. (parted) print Model: ATA ST3500312CS (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos --这里就可以看到类型
这两种分区格式怎么转换
(parted) mklabel gpt --在parted里输入这样的命令去转换
(parted) mklabel msdos
--注意,不要在正在使用磁盘时做转换,如果你要做转换可以在以下几种情况去做
1,rescue模式
2,把磁盘接到另一台linux,另一台启动并使用parted /dev/sdb来做转换
3,在安装系统时,在分区那一步,可以按ctrl+alt+F2切换到文本模式,再使用parted来转换
(parted) help (parted) mkpart Partition type? [logical]? File system type? [ext2]? ext4 Start? 225GB End? 275GB
16.5.blkid
功能:打印块设备属性
示例:
[[email protected] tmp]# blkid /dev/mapper/VolGroup-lv01: UUID="9a4d86d6-2b06-496c-82df-c50cf5423b23" TYPE="ext4" /dev/sda1: UUID="ec9d5b15-ba24-4f6e-bd2a-7f585d1462c3" TYPE="ext4" /dev/sda2: UUID="dN12Vt-FG5U-Nd3f-FCrR-Sv7m-USb2-fOgtT7" TYPE="LVM2_member" /dev/mapper/VolGroup-lv_root: UUID="ae65ef93-0d13-40ba-9516-d69474f5e0f1" TYPE="ext4" /dev/sdb: UUID="Shb8E4-1wg8-cc34-AGXH-SP4b-ONfr-3Yfw3y" TYPE="LVM2_member" /dev/mapper/VolGroup-lv_swap: UUID="b497699e-b5f0-4b03-8c09-898a41fec6c7" TYPE="swap
16.6.lsblk
功能:列出所有块设备信息
语法:
lsblk [options]
lsblk [options] device...
常用选项:
-a, --all 显示所有设备
-b, --bytes 以bytes方式显示设备大小
-d, --nodeps 不显示 slaves 或 holders
-D, --discard print discard capabilities
-e, --exclude <list> 排除设备 (default: RAM disks)
-f, --fs 显示文件系统信息
-h, --help 显示帮助信息
-i, --ascii use ascii characters only
-m, --perms 显示权限信息
-l, --list 使用列表格式显示
-n, --noheadings 不显示标题
-o, --output <list> 输出列
-P, --pairs 使用key="value"格式显示
-r, --raw 使用原始格式显示
-t, --topology 显示拓扑结构信息
示例:
[[email protected] tmp]# lsblk #查看本机的设备文件 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm / └─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─VolGroup-lv01 (dm-2) 253:2 0 5G 0 lvm /data [[email protected] tmp]# lsblk -l #列表格式显示 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 20G 0 disk sda1 8:1 0 500M 0 part /boot sda2 8:2 0 19.5G 0 part VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm / VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk VolGroup-lv01 (dm-2) 253:2 0 5G 0 lvm /data