ext4 文件系统相关命令
日志文件系统
大多数linux操作系统中的默认文件系统选择。ext4 文件系统由 ext3 文件系统改进而来,而后者又是从 ext2 文件系统改进而来。
常用的命令:
$ df -Th
df -T 可以流浪当前系统挂载的卷及设备,-T可以打印设备类型,比如ext4 tmpfs 或者其他。
root@ubuntu-server:~# df -Th
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 197M 1.4M 196M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 17G 15G 992M 94% /
tmpfs tmpfs 984M 0 984M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 984M 0 984M 0% /run/qemu
/dev/nvme0n1p2 ext4 1.7G 250M 1.4G 16% /boot
/dev/nvme0n1p1 vfat 952M 6.4M 945M 1% /boot/efi
tmpfs tmpfs 197M 4.0K 197M 1% /run/user/0
$ dumpe2fs /dev/mapper/ubuntu--vg-ubuntu--lv
查看ext4文件系统的相关信息:
root@ubuntu-server:~# dumpe2fs /dev/mapper/ubuntu--vg-ubuntu--lv | more
dumpe2fs 1.46.5 (30-Dec-2021)
Filesystem volume name: <none>
Last mounted on: /
Filesystem UUID: e1fda61a-5dab-4840-9541-2c555b8002e0
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csu
m
Filesystem flags: unsigned_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 1114112
Block count: 4456448
Reserved block count: 209713
Overhead clusters: 97585
Free blocks: 472166
Free inodes: 863266
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 1023
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Wed Mar 20 02:16:47 2024
Last mount time: Thu Jun 6 14:00:00 2024
Last write time: Thu Jun 6 13:59:59 2024
Mount count: 13
Maximum mount count: -1
Last checked: Wed Mar 20 02:16:47 2024
Check interval: 0 (<none>)
Lifetime writes: 416 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 0ecf6c7c-71f2-4fc6-9b63-a8cffdeef740
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0x0520cff8
Journal features: journal_incompat_revoke journal_64bit journal_checksum_v3
Total journal size: 64M
Total journal blocks: 16384
Max transaction length: 16384
Fast commit length: 0
Journal sequence: 0x0001d984
Journal start: 6818
Journal checksum type: crc32c
Journal checksum: 0x3d0ce27e
Group 0: (Blocks 0-32767) csum 0x69f4 [ITABLE_ZEROED]
Primary superblock at 0, Group descriptors at 1-3
Reserved GDT blocks at 4-1026
Block bitmap at 1027 (+1027), csum 0x63902bbb
Inode bitmap at 1043 (+1043), csum 0xe66c1160
Inode table at 1059-1570 (+1059)
4014 free blocks, 53 free inodes, 938 directories
Free blocks: 14344-14371, 15286-15287, 15342-15343, 15352-15355, 16848-16851, 18006, 18008, 18271, 18300, 18302-22271
Free inodes: 3365, 4220, 4223-4225, 4233, 4236-4238, 4246, 4249-4251, 4261, 4263-4265, 4314, 4331, 4333-4334, 6002-6003, 6811, 7677, 7681-7682, 7833-7837, 7839-7859
Group 1: (Blocks 32768-65535) csum 0x65b0 [ITABLE_ZEROED]
Backup superblock at 32768, Group descriptors at 32769-32771
Reserved GDT blocks at 32772-33794
Block bitmap at 1028 (bg #0 + 1028), csum 0x1f0f37a1
Inode bitmap at 1044 (bg #0 + 1044), csum 0x90ba08d8
Inode table at 1571-2082 (bg #0 + 1571)
1895 free blocks, 4 free inodes, 1202 directories
Free blocks: 34311, 34323, ... 65525-65535
Free inodes: 14284-14285, 14289, 15863
Group 2: (Blocks 65536-98303) csum 0xa02d [ITABLE_ZEROED]
$ stat a.out
查看某个文件的存储信息:
root@ubuntu-server:~# stat a.out
File: a.out
Size: 9080 Blocks: 24 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 528231 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-05-05 04:11:34.319083445 +0000
Modify: 2024-05-05 04:11:27.511996169 +0000
Change: 2024-05-05 04:11:27.511996169 +0000
Birth: 2024-05-05 04:11:27.503997206 +0000
$ fsck /dev/mapper/ubuntu--vg-ubuntu--lv
检查并修复文件系统。底层根据文件系统的类型调用不同的程序,例如 ext4 会调用 e2fsck.
只能在未挂载的文件系统上使用此命令。
$ sync
强制将内存page中的内容刷新到磁盘。
$ lsblk
"lsblk - list block devices"
root@ubuntu-server:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 59.8M 1 loop /snap/core20/2267
loop1 7:1 0 69.2M 1 loop /snap/core22/1383
loop2 7:2 0 69.2M 1 loop /snap/core22/1125
loop3 7:3 0 77.4M 1 loop /snap/lxd/28384
loop4 7:4 0 33.7M 1 loop /snap/snapd/21467
loop5 7:5 0 33.7M 1 loop /snap/snapd/21761
loop6 7:6 0 104.3M 1 loop /snap/docker/2918
loop7 7:7 0 77.4M 1 loop /snap/lxd/27950
loop8 7:8 0 59.8M 1 loop /snap/core20/2321
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 953M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1.8G 0 part /boot
└─nvme0n1p3 259:3 0 17.3G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 17G 0 lvm /
$ tune2fs -l /dev/nvme0n1p2
"tune2fs - adjust tunable file system parameters on ext2/ext3/ext4 file systems"
-l 为列举所有的配置想。
root@ubuntu-server:~# tune2fs -l /dev/nvme0n1p2
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name: <none>
Last mounted on: /boot
Filesystem UUID: 4fe3a25d-637a-4424-b17c-78f44ac9219f
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: unsigned_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 114688
Block count: 458752
Reserved block count: 22937
Overhead clusters: 16738
Free blocks: 378038
Free inodes: 114428
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 223
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Wed Mar 20 02:16:45 2024
Last mount time: Thu Jun 6 14:00:00 2024
Last write time: Thu Jun 6 14:00:00 2024
Mount count: 13
Maximum mount count: -1
Last checked: Wed Mar 20 02:16:45 2024
Check interval: 0 (<none>)
Lifetime writes: 635 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 26547923-38c2-4637-aecd-1dfc5ea6e682
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0xd987e5e3
$ e4defrag -c /
去碎片化,只适合HDD类型的磁盘。
对于SSD固态硬盘没有用,运行也没有伤害。
root@ubuntu-server:~# e4defrag -c /
e4defrag 1.46.5 (30-Dec-2021)
<Fragmented files> now/best size/ext
1. /var/log/pods/default_productpage-v1-675fc69cf-j49t6_6007de71-4b34-4edd-bccc-98dd3c52cad9/productpage/0.log
17/1 4 KB
2. /var/log/wtmp 15/1 4 KB
3. /var/log/ubuntu-advantage.log.1 12/1 4 KB
4. /var/log/pods/kube-system_local-path-provisioner-6c86858495-n4d4h_7d2f73aa-4cf2-4ce5-a952-8082a22ac832/local-path-provisioner/1.log
11/1 4 KB
5. /var/log/pods/istio-system_prometheus-7545dd48db-f8bw2_9bf6058f-3d5b-41c1-bb24-a414fd285db9/prometheus-server/3.log
8/1 4 KB
Total/best extents 180740/175957
Average size per extent 103 KB
Fragmentation score 1
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This directory (/) does not need defragmentation.
Done.

浙公网安备 33010602011771号