公司动态
【Android常用的文件系统命令】
常用的文件系统命令16进制查看工具 xxd: 单独的命令 xxd[options][infile[outfile]]-llen|-lenlen stop afterlenoctets.-s[][-]seek start atseekbytes abs.(or : rel.)infile offset.-p|-ps|-postscript|-plainOutputinPostScript continuous hex dump style. Also known as plain hex dump style. od hexdump:MAGIC幻数 ext4_magicbytearray(b\x53\xef)#python代码16进制表示f2fs_magicbytearray(b\x10\x20\xf5\xf2)squashfs_magicbytearray(b\x68\x73\x71\x73)sparse_magicbytearray(b\x3a\xff\x26\xed)erofs_magicbytearray(b\xe2\xe1\xf5\xe0)sparse镜像 $ddif/dev/zeroof./sparse.imgbs1024kcount100$filesparse.img sparse.img: data $ img2simg sparse.img sparse.img $filesparse.img sparse.img: Android sparse image, version:1.0, Total of04096-byte output blocksin0input chunks. $ xxd-ps-l4sparse.img 3aff26ederofs镜像 $sudoaptinstallerofs-utils#安装mkfs.erofs, fsck.erofs, dump.erofs二进制工具$ddif/dev/zeroof./erofs.imgbs1024kcount100$ mkfs.erofs erofs.img ./ $ xxd-ps-l4-s0x400 erofs.img e2e1f5e0 $sudoumount./erofs $mkdir-p./erofssudomount-terofs-oloop ./erofs.img ./erofs $ modinfo erofs#如果erofs.ko在下面的目录下存在那执行挂载镜像命令会自动加载erofs.ko文件filename: /lib/modules/5.15.0-58-generic/kernel/fs/erofs/erofs.ko...ext4镜像 $ddif/dev/zeroof./ext4fs.imgbs1024kcount100$ mkfs.ext4 ext4fs.img $ xxd-ps-l2-s0x438 ext4fs.img 53efsquash镜像 $sudoaptinstallsquashfs-tools $ mksquashfs ./ squashfs.img-noappend#创建squashfs.img镜像https://blog.csdn.net/guoqx/article/details/127245531 Linux - SquashFS文件系统 $ unsquashfs squashfs.img#提取文件到当前squashfs-root目录$filesquashfs.img squashfs.img: Squashfs filesystem, little endian, version4.0,418756bytes,7inodes, blocksize:131072bytes, created: Mon Jan3003:13:112023$mountsquashfs.img squashfs_dir/#直接方式挂在默认包含了-o loop$ losetup /dev/loopx squashfs.imgmount/dev/loopx squashfs_dir/#或者先将文件与loop设备关联然后挂载$#The following commands can be used as an example of using the loop device.# dd if/dev/zero of~/file.img bs1024k count10# losetup --find --show ~/file.img #将file.img和/dev/loop0关联起来/dev/loop0# mkfs -t ext2 /dev/loop0 #格式化/dev/loop0为ext2文件系统# mount /dev/loop0 /mnt...# umount /dev/loop0# losetup --detach /dev/loop0 # 解关联$ xxd-ps-l4squashfs.img68737173f2fs镜像 $sudoaptinstallf2fs-tools $ddif/dev/zeroof./f2fs.imgbs1024kcount100$# mkfs.f2fs is available from git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git.$ mkfs.f2fs-ff2fs.img $ xxd-ps-l4-s0x400 f2fs.img# kernel/include/linux/f2fs_fs.h: struct f2fs_super_block { }结构体第一个变量1020f5f2#super_block偏移量为10240x400overlayfs的示例$mkdir-plower1 lower2 lower3 upper worker merge $mkdir-plower1/dir lower2/dir upper/dir $touchlower1/foo1 lower2/foo2 upper/foo3 $touchlower1/dir/aa lower2/dir/aa lower1/dir/bb upper/dir/bb $echoform lower1lower1/dir/aa $echoform lower2lower2/dir/aa $echoform lower1lower1/dir/bb $echoform upperupper/dir/bb $mount-toverlay overlay-olowerdirlower1:lower2,upperdirupper,workdirworker merge mount: only root can use--optionsoption $sudomount-toverlay overlay-olowerdirlower1:lower2,upperdirupper,workdirworker merge $cdmerge/ $lsdirfoo1 foo2 foo3 $ tree..├──dir│ ├── aa │ └── bb ├── foo1 ├── foo2 └── foo31directory,5files $catdir/aa form lower1 $catdir/bb form upper