专栏首页王小二的Android站[042]f2fs存储结构初探

[042]f2fs存储结构初探

前言

学习文件系统的第一步,先搞清楚文件系统在设备上的存储结构,先来简单了解一下。

F2FS空间布局图和描述选自《F2FS技术拆解》 https://mp.weixin.qq.com/s/k1ibtWF_TRQi8wbqUGjMrg

F2FS空间布局

F2FS空间布局整个存储空间被划分为6个区域:

  • 超级块(SB) 包含基本分区信息和F2FS在格式化分区时确定不可更改的参数
  • 检查点(CP) 保存文件系统状态,有效NAT/SIT(见下文说明)集合的位图,孤儿inode列表(文件被删除时尚有引用无法立即释放时需被计入此列表,以便再次挂载时释放)和当前活跃段的所有者信息。和其他日志结构文件系统一样,F2FS检查点时某一给定时点一致的文件系统状态集合——可用于系统崩溃或掉电后的数据恢复。F2FS的两个检查点各占一个Segment,和前述不同的是,F2FS通过检查点头尾两个数据块中的version信息判断检查点是否有效。
  • 段信息表Segment Information Table(SIT) 包含主区域(Main Area,见下文说明)中每个段的有效块数和标记块是否有效的位图。SIT主要用于回收过程中选择需要搬移的段和识别段中有效数据。
  • 索引节点地址表Node Address Table(NAT) 用于定位所有主区域的索引节点块(包括:inode节点、直接索引节点、间接索引节点)地址。即NAT中存放的是inode或各类索引node的实际存放地址。
  • 段摘要区Segment Summary Area (SSA) 主区域所有数据块的所有者信息(即反向索引),包括:父inode号和内部偏移。SSA表项可用于搬移有效块前查找其父亲索引节点编号,
  • 主区域 Main Area 由4KB大小的数据块组成,每个块被分配用于存储数据(文件或目录内容)和索引(inode或数据块索引)。一定数量的连续块组成Segment,进而组成Section和Zone(如前所述)。一个Segment要么存储数据,要么存储索引,据此可将Segment划分为数据段和索引段。

研究眼见为实,耳听为虚,我们自己动手实验一样

一、创建块设备

在sdcard中,新建一个100MB大小的文件f2fs_device

dd if=/dev/zero of=/sdcard/f2fs_device bs=1MB count=100   

将文件f2fs_device格式化成f2fs文件系统

make_f2fs /sdcard/f2fs_device                                                                                                                                                  

将f2fs_device和loop设备绑定,生成一个虚拟块设备,如果提示设备忙,13换成其他数字

losetup /dev/block/loop13 /sdcard/f2fs_device

新建一个目录f2fs_root_dir

mkdir /sdcard/f2fs_root_dir

将loop13挂在到f2fs_root_dir目录

mount -t f2fs /dev/block/loop13 /sdcard/f2fs_root_dir

二、填充数据

在目录中新建一个1.txt文件,并且写入hello world

T1_PRO:/sdcard/f2fs_root_dir # touch 1.txt
T1_PRO:/sdcard/f2fs_root_dir # echo "hello world" > 1.txt

三、hexdump工具分析

pull出文件f2fs_device,千万别出pull f2fs_root_dir这个路径

adb pull sdcard/f2fs_device

直接用hexdump分析块设备的原始数据

hexdump -C f2fs_device 

3.1 dump开头内容分析

首先你会看到下面的一堆16进制的数字,就是块设备的原始数据

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
#super block 1 start
*
00000400  10 20 f5 f2 01 00 0b 00  09 00 00 00 03 00 00 00  |. ..............|
00000410  0c 00 00 00 09 00 00 00  01 00 00 00 01 00 00 00  |................|
00000420  00 00 00 00 00 64 00 00  00 00 00 00 2a 00 00 00  |.....d......*...|
00000430  31 00 00 00 02 00 00 00  02 00 00 00 02 00 00 00  |1...............|
00000440  01 00 00 00 2a 00 00 00  00 02 00 00 00 02 00 00  |....*...........|
00000450  00 06 00 00 00 0a 00 00  00 0e 00 00 00 10 00 00  |................|
00000460  03 00 00 00 01 00 00 00  02 00 00 00 b6 71 aa 9d  |.............q..|
00000470  8e e2 40 64 81 df 52 71  22 74 8d ac 00 00 00 00  |..@d..Rq"t......|
00000480  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000870  00 00 00 00 00 00 00 00  00 00 00 00 22 00 00 00  |............"...|
00000880  6a 70 67 00 00 00 00 00  67 69 66 00 00 00 00 00  |jpg.....gif.....|
00000890  70 6e 67 00 00 00 00 00  61 76 69 00 00 00 00 00  |png.....avi.....|
000008a0  64 69 76 78 00 00 00 00  6d 34 61 00 00 00 00 00  |divx....m4a.....|
000008b0  6d 34 76 00 00 00 00 00  6d 34 70 00 00 00 00 00  |m4v.....m4p.....|
000008c0  6d 70 34 00 00 00 00 00  6d 70 33 00 00 00 00 00  |mp4.....mp3.....|
000008d0  33 67 70 00 00 00 00 00  77 6d 76 00 00 00 00 00  |3gp.....wmv.....|
000008e0  77 6d 61 00 00 00 00 00  6d 70 65 67 00 00 00 00  |wma.....mpeg....|
000008f0  6d 6b 76 00 00 00 00 00  6d 6f 76 00 00 00 00 00  |mkv.....mov.....|
00000900  61 73 78 00 00 00 00 00  61 73 66 00 00 00 00 00  |asx.....asf.....|
00000910  77 6d 78 00 00 00 00 00  73 76 69 00 00 00 00 00  |wmx.....svi.....|
00000920  77 76 78 00 00 00 00 00  77 76 00 00 00 00 00 00  |wvx.....wv......|
00000930  77 6d 00 00 00 00 00 00  6d 70 67 00 00 00 00 00  |wm......mpg.....|
00000940  6d 70 65 00 00 00 00 00  72 6d 00 00 00 00 00 00  |mpe.....rm......|
00000950  6f 67 67 00 00 00 00 00  6f 70 75 73 00 00 00 00  |ogg.....opus....|
00000960  66 6c 61 63 00 00 00 00  6a 70 65 67 00 00 00 00  |flac....jpeg....|
00000970  76 69 64 65 6f 00 00 00  61 70 6b 00 00 00 00 00  |video...apk.....|
00000980  73 6f 00 00 00 00 00 00  65 78 65 00 00 00 00 00  |so......exe.....|
00000990  64 62 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |db..............|
000009a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
...省略大量数据
3.1.1 超级块(SB)

超级块(SB)从0x00000400开始,也就是从1KB开始存,不是从0开始. 存在两个一模一样的超级块(SB),f2fs的设计,防止数据损坏,两个结构体间隔4KB

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  10 20 f5 f2 01 00 0b 00  09 00 00 00 03 00 00 00  |. ..............|//SB1
*
00001400  10 20 f5 f2 01 00 0b 00  09 00 00 00 03 00 00 00  |. ..............|//SB2
3.1.3 检查点(CP)

检查点(CP)从0x00200000开始,也就是2MB开始,因为一个Segment为2MB,检查点(CP)是对齐的

*
00200000  3b 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |;Q[#.....(......|#CP

3.2 文件1.txt

整个1.txt文件对应的索引(inode)从地址0x01201000到0x01202000等于0x1000B = 4KB

留个疑问:为什么文件内容"hello world"会保存在inode块而不是在数据块?

01201000  b6 81 00 0b 00 00 00 00  00 00 00 00 01 00 00 00  |................|
01201010  0c 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
01201020  4f 26 70 5e 00 00 00 00  57 26 70 5e 00 00 00 00  |O&p^....W&p^....|
01201030  57 26 70 5e 00 00 00 00  a2 f4 2a 02 9e 08 d3 1d  |W&p^......*.....|
01201040  9e 08 d3 1d af 1e c5 19  00 00 00 00 00 00 00 00  |................|
01201050  00 00 00 00 03 00 00 00  05 00 00 00 31 2e 74 78  |............1.tx|
01201060  74 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |t...............|
01201070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201160  00 00 00 00 00 00 00 00  00 00 00 00 68 65 6c 6c  |............hell|
01201170  6f 20 77 6f 72 6c 64 0a  00 00 00 00 00 00 00 00  |o world.........|
01201180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201f00  00 00 00 00 00 00 00 00  00 00 00 00 11 20 f5 f2  |............. ..|
01201f10  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01201f20  00 00 00 00 06 07 18 00  73 65 6c 69 6e 75 78 75  |........selinuxu|
01201f30  3a 6f 62 6a 65 63 74 5f  72 3a 75 6e 6c 61 62 65  |:object_r:unlabe|
01201f40  6c 65 64 3a 73 30 00 00  00 00 00 00 00 00 00 00  |led:s0..........|
01201f50  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201fe0  00 00 00 00 00 00 00 00  04 00 00 00 04 00 00 00  |................|
01201ff0  01 00 00 00 3a 51 5b 23  21 79 00 61 02 12 00 00  |....:Q[#!y.a....|
01202000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

3.3

最后一行,最大的寻址是0x06400000=100MB,我们创建的块设备就是100MB

*
06400000

四、dump.f2fs工具分析

单纯的用hexdump去分析f2fs块设备上的存储结构,我们还可以通过dump.f2fs工具去查看,当然Android源码下默认dump.f2fs是关闭的,以后我再写文章如何开启Android下的dump.f2fs。

4.1 dump.f2fs使用说明

Usage: dump.f2fs [options] device
[options]:
  -d debug level [default:0]
  -i inode no (hex)
  -n [NAT dump nid from #1~#2 (decimal), for all 0~-1]
  -s [SIT dump segno from #1~#2 (decimal), for all 0~-1]
  -S sparse_mode
  -a [SSA dump segno from #1~#2 (decimal), for all 0~-1]
  -b blk_addr (in 4KB)
  -V print the version number and exit

4.2 dump.f2fs -n

触发dump node address table

1|T1_PRO:/sdcard $ dump.f2fs -n 0~-1 f2fs_device                                                                                                                                        
    Info: No support kernel version!
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 204800 (100 MB)
Info: MKFS version
  "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
Info: FSCK version
  from "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
    to "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
Info: superblock features = 0 : 
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 204800 (100 MB)
Info: CKPT version = 235b513e
Info: checkpoint state = c5 :  nat_bits crc compacted_summary unmount

Done.

查看生成文件dump_nat

T1_PRO:/sdcard $ cat dump_nat                                                                                                                                        
nid:    3   ino:    3   offset:    0    blkaddr:      4098  pack:2
nid:    4   ino:    4   offset:    0    blkaddr:      4609  pack:2

注意nid 4对应的blkaddr 4609,转成16进制就是1201,有没有点眼熟,看看3.2 中dump的1.txt的文件对应的inode第一样的地址01201000,所以blkaddr:4609就是代表nid为4的数据结构在存储设备中的地址,也就是blkaddr * 4k,还记得开头说的主区域 Main Area 由4KB大小的数据块组成嘛,正好对应。

01201000  b6 81 00 0b 00 00 00 00  00 00 00 00 01 00 00 00  |................|

4.3 dump.f2fs -i

dump inode号对应的inode结构体

T1_PRO:/sdcard $ dump.f2fs -i 4 f2fs_device                                                                                                                                             
    Info: No support kernel version!
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 204800 (100 MB)
Info: MKFS version
  "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
Info: FSCK version
  from "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
    to "4.14.117+ #1 SMP PREEMPT Mon Mar 9 21:37:48 CST 2020"
Info: superblock features = 0 : 
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 204800 (100 MB)
Info: CKPT version = 235b513e
[print_node_info: 275] Node ID [0x4:4] is inode
i_mode                              [0x    81b6 : 33206]
i_advise                            [0x       0 : 0]
i_uid                               [0x       0 : 0]
i_gid                               [0x       0 : 0]
i_links                             [0x       1 : 1]
i_size                              [0x       c : 12]
i_blocks                            [0x       1 : 1]
i_atime                             [0x5e70264f : 1584408143]
i_atime_nsec                        [0x 22af4a2 : 36369570]
i_ctime                             [0x5e702657 : 1584408151]
i_ctime_nsec                        [0x1dd3089e : 500369566]
i_mtime                             [0x5e702657 : 1584408151]
i_mtime_nsec                        [0x1dd3089e : 500369566]
i_generation                        [0x19c51eaf : 432348847]
i_current_depth                     [0x       0 : 0]
i_xattr_nid                         [0x       0 : 0]
i_flags                             [0x       0 : 0]
i_inline                            [0x       b : 11]
i_pino                              [0x       3 : 3]
i_dir_level                         [0x       0 : 0]
i_namelen                           [0x       5 : 5]
i_name                              [1.txt]
i_ext: fofs:0 blkaddr:0 len:0
i_addr[ofs]                         [0x       0 : 0]
i_addr[ofs + 1]                     [0x6c6c6568 : 1819043176]
i_addr[ofs + 2]                     [0x6f77206f : 1870078063]
i_addr[ofs + 3]                     [0x a646c72 : 174353522]
i_addr[0x3] points data block       [0xa646c72]
i_nid[0]                            [0x       0 : 0]
i_nid[1]                            [0x       0 : 0]
i_nid[2]                            [0x       0 : 0]
i_nid[3]                            [0x       0 : 0]
i_nid[4]                            [0x       0 : 0]

xattr: e_name_index:6 e_name:selinux e_name_len:7 e_value_size:24 e_value:
753A6F626A6563745F723A756E6C6162656C65643A733000

Do you want to dump this file into ./lost_found/? [Y/N] y
Info: checkpoint state = c5 :  nat_bits crc compacted_summary unmount

Done.

如果选择y,可以dump出1.txt到./lost_found/路径下 似乎这个指令以后可以用来从原始数据直接生成文件

Do you want to dump this file into ./lost_found/? [Y/N] y
T1_PRO:/sdcard $ cat ./lost_found/1.txt                                                                                                                                                 
hello world

注意inode的i_addr,看起来数字是不是也很眼熟,其实就是hello world,为什么i_addr不是指向数据块,而是直接存储hello world。因为F2FS支持inline data(数据直接存储在inode中),小文件大小最大可达约3.4KB,在Android大量小文件场景中对存取空间占用和性能有一定优化。

i_addr[ofs + 1]                     [0x6c6c6568 : 1819043176]
i_addr[ofs + 2]                     [0x6f77206f : 1870078063]
i_addr[ofs + 3]                     [0x a646c72 : 174353522]
01201160  00 00 00 00 00 00 00 00  00 00 00 00 68 65 6c 6c  |............hell|
01201170  6f 20 77 6f 72 6c 64 0a  00 00 00 00 00 00 00 00  |o world.........|

五、总结

对f2fs存储结构学习,只有这么一点是远远不够的,为什么研究文件系统要先研究存储结构?因为文件系统的很多代码都是按照存储结构来写的,我觉得文件系统其实就是块设备的原始数据的翻译者,管理者。

六、完整dump信息

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  10 20 f5 f2 01 00 0b 00  09 00 00 00 03 00 00 00  |. ..............|//SB1
00000410  0c 00 00 00 09 00 00 00  01 00 00 00 01 00 00 00  |................|
00000420  00 00 00 00 00 64 00 00  00 00 00 00 2a 00 00 00  |.....d......*...|
00000430  31 00 00 00 02 00 00 00  02 00 00 00 02 00 00 00  |1...............|
00000440  01 00 00 00 2a 00 00 00  00 02 00 00 00 02 00 00  |....*...........|
00000450  00 06 00 00 00 0a 00 00  00 0e 00 00 00 10 00 00  |................|
00000460  03 00 00 00 01 00 00 00  02 00 00 00 b6 71 aa 9d  |.............q..|
00000470  8e e2 40 64 81 df 52 71  22 74 8d ac 00 00 00 00  |..@d..Rq"t......|
00000480  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000870  00 00 00 00 00 00 00 00  00 00 00 00 22 00 00 00  |............"...|
00000880  6a 70 67 00 00 00 00 00  67 69 66 00 00 00 00 00  |jpg.....gif.....|
00000890  70 6e 67 00 00 00 00 00  61 76 69 00 00 00 00 00  |png.....avi.....|
000008a0  64 69 76 78 00 00 00 00  6d 34 61 00 00 00 00 00  |divx....m4a.....|
000008b0  6d 34 76 00 00 00 00 00  6d 34 70 00 00 00 00 00  |m4v.....m4p.....|
000008c0  6d 70 34 00 00 00 00 00  6d 70 33 00 00 00 00 00  |mp4.....mp3.....|
000008d0  33 67 70 00 00 00 00 00  77 6d 76 00 00 00 00 00  |3gp.....wmv.....|
000008e0  77 6d 61 00 00 00 00 00  6d 70 65 67 00 00 00 00  |wma.....mpeg....|
000008f0  6d 6b 76 00 00 00 00 00  6d 6f 76 00 00 00 00 00  |mkv.....mov.....|
00000900  61 73 78 00 00 00 00 00  61 73 66 00 00 00 00 00  |asx.....asf.....|
00000910  77 6d 78 00 00 00 00 00  73 76 69 00 00 00 00 00  |wmx.....svi.....|
00000920  77 76 78 00 00 00 00 00  77 76 00 00 00 00 00 00  |wvx.....wv......|
00000930  77 6d 00 00 00 00 00 00  6d 70 67 00 00 00 00 00  |wm......mpg.....|
00000940  6d 70 65 00 00 00 00 00  72 6d 00 00 00 00 00 00  |mpe.....rm......|
00000950  6f 67 67 00 00 00 00 00  6f 70 75 73 00 00 00 00  |ogg.....opus....|
00000960  66 6c 61 63 00 00 00 00  6a 70 65 67 00 00 00 00  |flac....jpeg....|
00000970  76 69 64 65 6f 00 00 00  61 70 6b 00 00 00 00 00  |video...apk.....|
00000980  73 6f 00 00 00 00 00 00  65 78 65 00 00 00 00 00  |so......exe.....|
00000990  64 62 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |db..............|
000009a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000a80  00 00 00 00 34 2e 31 34  2e 31 31 37 2b 20 23 31  |....4.14.117+ #1|
00000a90  20 53 4d 50 20 50 52 45  45 4d 50 54 20 4d 6f 6e  | SMP PREEMPT Mon|
00000aa0  20 4d 61 72 20 39 20 32  31 3a 33 37 3a 34 38 20  | Mar 9 21:37:48 |
00000ab0  43 53 54 20 32 30 32 30  00 00 00 00 00 00 00 00  |CST 2020........|
00000ac0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000b80  00 00 00 00 34 2e 31 34  2e 31 31 37 2b 20 23 31  |....4.14.117+ #1|
00000b90  20 53 4d 50 20 50 52 45  45 4d 50 54 20 4d 6f 6e  | SMP PREEMPT Mon|
00000ba0  20 4d 61 72 20 39 20 32  31 3a 33 37 3a 34 38 20  | Mar 9 21:37:48 |
00000bb0  43 53 54 20 32 30 32 30  00 00 00 00 00 00 00 00  |CST 2020........|
00000bc0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000ec0  00 00 00 00 00 01 00 00  00 00 00 00 00 00 00 00  |................|
00000ed0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001400  10 20 f5 f2 01 00 0b 00  09 00 00 00 03 00 00 00  |. ..............|//SB2
00001410  0c 00 00 00 09 00 00 00  01 00 00 00 01 00 00 00  |................|
00001420  00 00 00 00 00 64 00 00  00 00 00 00 2a 00 00 00  |.....d......*...|
00001430  31 00 00 00 02 00 00 00  02 00 00 00 02 00 00 00  |1...............|
00001440  01 00 00 00 2a 00 00 00  00 02 00 00 00 02 00 00  |....*...........|
00001450  00 06 00 00 00 0a 00 00  00 0e 00 00 00 10 00 00  |................|
00001460  03 00 00 00 01 00 00 00  02 00 00 00 b6 71 aa 9d  |.............q..|
00001470  8e e2 40 64 81 df 52 71  22 74 8d ac 00 00 00 00  |..@d..Rq"t......|
00001480  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001870  00 00 00 00 00 00 00 00  00 00 00 00 22 00 00 00  |............"...|
00001880  6a 70 67 00 00 00 00 00  67 69 66 00 00 00 00 00  |jpg.....gif.....|
00001890  70 6e 67 00 00 00 00 00  61 76 69 00 00 00 00 00  |png.....avi.....|
000018a0  64 69 76 78 00 00 00 00  6d 34 61 00 00 00 00 00  |divx....m4a.....|
000018b0  6d 34 76 00 00 00 00 00  6d 34 70 00 00 00 00 00  |m4v.....m4p.....|
000018c0  6d 70 34 00 00 00 00 00  6d 70 33 00 00 00 00 00  |mp4.....mp3.....|
000018d0  33 67 70 00 00 00 00 00  77 6d 76 00 00 00 00 00  |3gp.....wmv.....|
000018e0  77 6d 61 00 00 00 00 00  6d 70 65 67 00 00 00 00  |wma.....mpeg....|
000018f0  6d 6b 76 00 00 00 00 00  6d 6f 76 00 00 00 00 00  |mkv.....mov.....|
00001900  61 73 78 00 00 00 00 00  61 73 66 00 00 00 00 00  |asx.....asf.....|
00001910  77 6d 78 00 00 00 00 00  73 76 69 00 00 00 00 00  |wmx.....svi.....|
00001920  77 76 78 00 00 00 00 00  77 76 00 00 00 00 00 00  |wvx.....wv......|
00001930  77 6d 00 00 00 00 00 00  6d 70 67 00 00 00 00 00  |wm......mpg.....|
00001940  6d 70 65 00 00 00 00 00  72 6d 00 00 00 00 00 00  |mpe.....rm......|
00001950  6f 67 67 00 00 00 00 00  6f 70 75 73 00 00 00 00  |ogg.....opus....|
00001960  66 6c 61 63 00 00 00 00  6a 70 65 67 00 00 00 00  |flac....jpeg....|
00001970  76 69 64 65 6f 00 00 00  61 70 6b 00 00 00 00 00  |video...apk.....|
00001980  73 6f 00 00 00 00 00 00  65 78 65 00 00 00 00 00  |so......exe.....|
00001990  64 62 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |db..............|
000019a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001a80  00 00 00 00 34 2e 31 34  2e 31 31 37 2b 20 23 31  |....4.14.117+ #1|
00001a90  20 53 4d 50 20 50 52 45  45 4d 50 54 20 4d 6f 6e  | SMP PREEMPT Mon|
00001aa0  20 4d 61 72 20 39 20 32  31 3a 33 37 3a 34 38 20  | Mar 9 21:37:48 |
00001ab0  43 53 54 20 32 30 32 30  00 00 00 00 00 00 00 00  |CST 2020........|
00001ac0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001b80  00 00 00 00 34 2e 31 34  2e 31 31 37 2b 20 23 31  |....4.14.117+ #1|
00001b90  20 53 4d 50 20 50 52 45  45 4d 50 54 20 4d 6f 6e  | SMP PREEMPT Mon|
00001ba0  20 4d 61 72 20 39 20 32  31 3a 33 37 3a 34 38 20  | Mar 9 21:37:48 |
00001bb0  43 53 54 20 32 30 32 30  00 00 00 00 00 00 00 00  |CST 2020........|
00001bc0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001ec0  00 00 00 00 00 01 00 00  00 00 00 00 00 00 00 00  |................|
00001ed0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00200000  3b 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |;Q[#.....(......|//CP1
00200010  03 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00200020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00200030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00200040  ff ff ff ff 03 00 02 00  00 00 00 00 00 00 00 00  |................|
00200050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00200060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00200070  ff ff ff ff 02 00 00 00  00 00 00 00 00 00 00 00  |................|
00200080  00 00 00 00 c4 00 00 00  03 00 00 00 01 00 00 00  |................|
00200090  02 00 00 00 02 00 00 00  05 00 00 00 40 00 00 00  |............@...|
002000a0  40 00 00 00 fc 0f 00 00  20 01 00 00 00 00 00 00  |@....... .......|
002000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00200ff0  00 00 00 00 00 00 00 00  00 00 00 00 9f 58 1a 39  |.............X.9|
00201000  02 00 03 00 00 00 00 03  00 00 00 02 10 00 00 04  |................|
00201010  00 00 00 00 04 00 00 00  01 12 00 00 00 00 00 00  |................|
00201020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
002011f0  00 00 00 00 00 00 00 00  00 00 00 06 00 00 00 00  |................|
00201200  00 01 0c 20 00 00 00 00  00 00 00 00 00 00 00 00  |... ............|
00201210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00201240  00 00 00 20 01 00 00 00  00 00 00 01 00 00 00 01  |... ............|
00201250  10 40 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |.@..............|
00201260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00201290  00 20 01 00 00 00 00 00  00 02 00 00 00 00 14 00  |. ..............|
002012a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
002012e0  00 00 00 00 00 00 00 03  00 00 00 01 00 40 00 00  |.............@..|
002012f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00201320  00 00 00 00 00 00 00 00  00 00 00 00 00 e3 00 00  |................|
00201330  00 00 00 00 00 09 00 00  00 00 08 00 00 00 00 00  |................|
00201340  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00201380  00 00 00 14 00 00 00 00  04 00 00 00 00 00 00 00  |................|
00201390  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
002013f0  00 00 00 00 00 00 03 00  00 00 00 00 00 03 00 00  |................|
00201400  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00202000  3b 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |;Q[#.....(......|
00202010  03 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00202020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00202030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00202040  ff ff ff ff 03 00 02 00  00 00 00 00 00 00 00 00  |................|
00202050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00202060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00202070  ff ff ff ff 02 00 00 00  00 00 00 00 00 00 00 00  |................|
00202080  00 00 00 00 c4 00 00 00  03 00 00 00 01 00 00 00  |................|
00202090  02 00 00 00 02 00 00 00  05 00 00 00 40 00 00 00  |............@...|
002020a0  40 00 00 00 fc 0f 00 00  20 01 00 00 00 00 00 00  |@....... .......|
002020b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00202ff0  00 00 00 00 00 00 00 00  00 00 00 00 9f 58 1a 39  |.............X.9|
00203000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00203ff0  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 00  |................|
00204000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00204ff0  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 00  |................|
00205000  39 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |9Q[#.....(......|
00205010  02 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00205020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00205030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00205040  ff ff ff ff 01 00 00 00  00 00 00 00 00 00 00 00  |................|
00205050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00205060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00205070  ff ff ff ff 01 00 00 00  00 00 00 00 00 00 00 00  |................|
00205080  00 00 00 00 85 01 00 00  06 00 00 00 01 00 00 00  |................|
00205090  01 00 00 00 01 00 00 00  04 00 00 00 40 00 00 00  |............@...|
002050a0  40 00 00 00 fc 0f 00 00  00 00 00 00 00 00 00 00  |@...............|
002050b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00205ff0  00 00 00 00 00 00 00 00  00 00 00 00 83 71 6b d6  |.............qk.|
00206000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
003ff000  39 51 5b 23 83 71 6b d6  00 00 00 00 00 00 00 00  |9Q[#.qk.........|
003ff010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
003ff040  00 00 00 00 00 00 00 00  fe ff ff ff ff ff ff ff  |................|
003ff050  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
003ff080  ff ff ff ff ff ff ff ff  00 00 00 00 00 00 00 00  |................|
003ff090  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00400000  3a 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |:Q[#.....(......|//CP2
00400010  03 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00400020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00400030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00400040  ff ff ff ff 02 00 01 00  00 00 00 00 00 00 00 00  |................|
00400050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00400060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00400070  ff ff ff ff 02 00 00 00  00 00 00 00 00 00 00 00  |................|
00400080  00 00 00 00 c4 00 00 00  03 00 00 00 01 00 00 00  |................|
00400090  02 00 00 00 02 00 00 00  05 00 00 00 40 00 00 00  |............@...|
004000a0  40 00 00 00 fc 0f 00 00  e3 00 00 00 00 00 00 00  |@...............|
004000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00400ff0  00 00 00 00 00 00 00 00  00 00 00 00 21 79 00 61  |............!y.a|
00401000  02 00 03 00 00 00 00 03  00 00 00 01 10 00 00 04  |................|
00401010  00 00 00 00 04 00 00 00  00 12 00 00 00 00 00 00  |................|
00401020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
004011f0  00 00 00 00 00 00 00 00  00 00 00 06 00 00 00 00  |................|
00401200  00 01 0c 40 00 00 00 00  00 00 00 00 00 00 00 00  |...@............|
00401210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00401240  00 00 00 e3 00 00 00 00  00 00 00 01 00 00 00 01  |................|
00401250  10 80 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00401260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00401290  00 e3 00 00 00 00 00 00  00 02 00 00 00 00 14 00  |................|
004012a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
004012e0  00 00 00 00 00 00 00 03  00 00 00 01 00 40 00 00  |.............@..|
004012f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00401320  00 00 00 00 00 00 00 00  00 00 00 00 00 e3 00 00  |................|
00401330  00 00 00 00 00 09 00 00  00 00 08 00 00 00 00 00  |................|
00401340  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00401380  00 00 00 14 00 00 00 00  04 00 00 00 00 00 00 00  |................|
00401390  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
004013f0  00 00 00 00 00 00 03 00  00 00 00 00 00 03 00 00  |................|
00401400  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00402000  3a 51 5b 23 00 00 00 00  00 28 00 00 00 00 00 00  |:Q[#.....(......|
00402010  03 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00402020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00402030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00402040  ff ff ff ff 02 00 01 00  00 00 00 00 00 00 00 00  |................|
00402050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00402060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00402070  ff ff ff ff 02 00 00 00  00 00 00 00 00 00 00 00  |................|
00402080  00 00 00 00 c4 00 00 00  03 00 00 00 01 00 00 00  |................|
00402090  02 00 00 00 02 00 00 00  05 00 00 00 40 00 00 00  |............@...|
004020a0  40 00 00 00 fc 0f 00 00  e3 00 00 00 00 00 00 00  |@...............|
004020b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00402ff0  00 00 00 00 00 00 00 00  00 00 00 00 21 79 00 61  |............!y.a|
00403000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00405000  00 00 00 00 00 00 00 00  00 28 00 00 00 00 00 00  |.........(......|
00405010  02 00 00 00 00 00 00 00  10 00 00 00 16 00 00 00  |................|
00405020  24 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |$...............|
00405030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00405040  ff ff ff ff 01 00 00 00  00 00 00 00 00 00 00 00  |................|
00405050  00 00 00 00 03 00 00 00  14 00 00 00 09 00 00 00  |................|
00405060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00405070  ff ff ff ff 01 00 00 00  00 00 00 00 00 00 00 00  |................|
00405080  00 00 00 00 85 01 00 00  06 00 00 00 01 00 00 00  |................|
00405090  01 00 00 00 01 00 00 00  04 00 00 00 40 00 00 00  |............@...|
004050a0  40 00 00 00 fc 0f 00 00  00 00 00 00 00 00 00 00  |@...............|
004050b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00405ff0  00 00 00 00 00 00 00 00  00 00 00 00 da 47 26 28  |.............G&(|
00406000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

*
00a00000  00 00 00 00 00 00 00 00  00 00 01 00 00 00 01 00  |................|
00a00010  00 00 00 02 00 00 00 01  00 00 00 00 03 00 00 00  |................|
00a00020  00 10 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00a00030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01000000  ed 41 00 00 00 00 00 00  00 00 00 00 02 00 00 00  |.A..............|
01000010  00 10 00 00 00 00 00 00  02 00 00 00 00 00 00 00  |................|
01000020  f5 22 70 5e 00 00 00 00  f5 22 70 5e 00 00 00 00  |."p^....."p^....|
01000030  f5 22 70 5e 00 00 00 00  00 00 00 00 00 00 00 00  |."p^............|
01000040  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
01000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01000160  00 00 00 00 00 00 00 00  00 16 00 00 00 00 00 00  |................|
01000170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01000fe0  00 00 00 00 00 00 00 00  03 00 00 00 03 00 00 00  |................|
01000ff0  00 00 00 00 01 00 00 00  00 00 00 00 01 10 00 00  |................|
01001000  ed 41 00 00 00 00 00 00  00 00 00 00 02 00 00 00  |.A..............|
01001010  00 10 00 00 00 00 00 00  02 00 00 00 00 00 00 00  |................|
01001020  f5 22 70 5e 00 00 00 00  f5 22 70 5e 00 00 00 00  |."p^....."p^....|
01001030  f5 22 70 5e 00 00 00 00  00 00 00 00 00 00 00 00  |."p^............|
01001040  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
01001050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01001160  00 00 00 00 00 00 00 00  01 16 00 00 00 00 00 00  |................|
01001170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01001fe0  00 00 00 00 00 00 00 00  03 00 00 00 03 00 00 00  |................|
01001ff0  00 00 00 00 39 51 5b 23  00 00 00 00 02 10 00 00  |....9Q[#........|
01002000  ed 41 00 00 00 00 00 00  00 00 00 00 02 00 00 00  |.A..............|
01002010  00 10 00 00 00 00 00 00  02 00 00 00 00 00 00 00  |................|
01002020  f5 22 70 5e 00 00 00 00  23 26 70 5e 00 00 00 00  |."p^....#&p^....|
01002030  23 26 70 5e 00 00 00 00  00 00 00 00 b2 46 e7 11  |#&p^.........F..|
01002040  b2 46 e7 11 00 00 00 00  01 00 00 00 00 00 00 00  |.F..............|
01002050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01002160  00 00 00 00 00 00 00 00  01 16 00 00 00 00 00 00  |................|
01002170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01002fe0  00 00 00 00 00 00 00 00  03 00 00 00 03 00 00 00  |................|
01002ff0  00 00 00 00 3a 51 5b 23  21 79 00 61 03 10 00 00  |....:Q[#!y.a....|
01003000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01200000  b6 81 00 03 00 00 00 00  00 00 00 00 01 00 00 00  |................|//Main Area
01200010  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
01200020  23 26 70 5e 00 00 00 00  23 26 70 5e 00 00 00 00  |#&p^....#&p^....|
01200030  23 26 70 5e 00 00 00 00  b2 46 e7 11 b2 46 e7 11  |#&p^.....F...F..|
01200040  b2 46 e7 11 af 1e c5 19  00 00 00 00 00 00 00 00  |.F..............|
01200050  00 00 00 00 03 00 00 00  05 00 00 00 31 2e 74 78  |............1.tx|
01200060  74 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |t...............|
01200070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01200f00  00 00 00 00 00 00 00 00  00 00 00 00 11 20 f5 f2  |............. ..|
01200f10  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01200f20  00 00 00 00 06 07 18 00  73 65 6c 69 6e 75 78 75  |........selinuxu|
01200f30  3a 6f 62 6a 65 63 74 5f  72 3a 75 6e 6c 61 62 65  |:object_r:unlabe|
01200f40  6c 65 64 3a 73 30 00 00  00 00 00 00 00 00 00 00  |led:s0..........|
01200f50  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01200fe0  00 00 00 00 00 00 00 00  04 00 00 00 04 00 00 00  |................|
01200ff0  01 00 00 00 39 51 5b 23  00 00 00 00 01 12 00 00  |....9Q[#........|
01201000  b6 81 00 0b 00 00 00 00  00 00 00 00 01 00 00 00  |................|//1.txt
01201010  0c 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
01201020  4f 26 70 5e 00 00 00 00  57 26 70 5e 00 00 00 00  |O&p^....W&p^....|
01201030  57 26 70 5e 00 00 00 00  a2 f4 2a 02 9e 08 d3 1d  |W&p^......*.....|
01201040  9e 08 d3 1d af 1e c5 19  00 00 00 00 00 00 00 00  |................|
01201050  00 00 00 00 03 00 00 00  05 00 00 00 31 2e 74 78  |............1.tx|
01201060  74 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |t...............|
01201070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201160  00 00 00 00 00 00 00 00  00 00 00 00 68 65 6c 6c  |............hell|
01201170  6f 20 77 6f 72 6c 64 0a  00 00 00 00 00 00 00 00  |o world.........|
01201180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201f00  00 00 00 00 00 00 00 00  00 00 00 00 11 20 f5 f2  |............. ..|
01201f10  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01201f20  00 00 00 00 06 07 18 00  73 65 6c 69 6e 75 78 75  |........selinuxu|
01201f30  3a 6f 62 6a 65 63 74 5f  72 3a 75 6e 6c 61 62 65  |:object_r:unlabe|
01201f40  6c 65 64 3a 73 30 00 00  00 00 00 00 00 00 00 00  |led:s0..........|
01201f50  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01201fe0  00 00 00 00 00 00 00 00  04 00 00 00 04 00 00 00  |................|
01201ff0  01 00 00 00 3a 51 5b 23  21 79 00 61 02 12 00 00  |....:Q[#!y.a....|
01202000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01600000  03 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01600010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01600020  00 00 03 00 00 00 01 00  02 00 00 00 00 03 00 00  |................|
01600030  00 02 00 02 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01600040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01600950  2e 00 00 00 00 00 00 00  2e 2e 00 00 00 00 00 00  |................|
01600960  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01601000  07 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01601010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
01601020  00 00 03 00 00 00 01 00  02 00 00 00 00 03 00 00  |................|
01601030  00 02 00 02 12 ea 16 2d  04 00 00 00 05 00 01 00  |.......-........|
01601040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01601950  2e 00 00 00 00 00 00 00  2e 2e 00 00 00 00 00 00  |................|
01601960  31 2e 74 78 74 00 00 00  00 00 00 00 00 00 00 00  |1.txt...........|
01601970  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
06400000

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [057]macOS使用CLion写OpenGL

    以下就是main.cpp的代码,复制文章macOS下使用Clion写OpenGL的代码。

    王小二
  • [035] onStop提前投放问题

    最近遇到一个奇葩的问题,应用X的Activity1中点击一个Button跳转到Activity2,手机A比手机B上快500ms左右,虽然手机A比手机B的配置高,...

    王小二
  • [025]能否监听system property值?

    system property是系统属性,以key-value格式保存。 可以通过以下方式读取和修改system property的值: 1.adb

    王小二
  • SQL*Plus break与compute的简单用法

       在SQL*Plus提示符下输出求和报表,我们可以借助break与compute两个命令来实现。这个两个命令简单易用,可满足日常需求,其实质也相当于在编写S...

    Leshami
  • 高效的选择:将键盘上的大小写锁定键 CapsLock 与退出键 Esc 交换位置

    如果你习惯使用 Shift 切换大小写,那么在你左手小指处的 caps lock 大小写锁定键几乎没有用武之地。

    Piper蛋窝
  • 私人订制属于自己的Linux系统

    init通过调用/etc/inittab这个配置文件,然后再去执行/etc/rc.d/rc.sysinit的系统初始化脚本

    常见_youmen
  • AkShare-股票数据-注册制审核-创业板

    深交所10日消息,近日,深交所在做好常态化疫情防控基础上,举办注册制首期改制上市实务研讨培训班,来自25家拟上市企业的36位董事长、总经理、实际控制人等参加。深...

    AkShare
  • 基于web页面开发串口程序界面---代码实现

    后台web框架和串口操作采用的是Python语言,其中web框架使用的是tornado。

    MiaoGIS
  • mysql datetime查询异常

    异常:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp (201...

    WindWant
  • 磁盘空间满导致(空间释放后)GOLDENGATE进程无法启动

    最近有朋友反馈说OGG所在磁盘空间满,手动清理磁盘空间后,无法启动OGG进程,当时想想不应该,以前遇到很多次,空间满后,手动清理空间,如果mgr配置自启动或者手...

    徐靖

扫码关注云+社区

领取腾讯云代金券