国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

超全解析Linux文件系統之ext2路徑名查找

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2021-05-28 17:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文以ext2文件系統為例來剖析一個真實的文件系統如何查找文件,這對于深入理解文件系統至關重要。

1.準備文件系統鏡像

所用工具:dd、mkfs.ext2、hexdump、dumpe2fs、mount等工具

1)制作100k大小鏡像文件

$ dd if=/dev/zero of=ext2.img bs=1k count=100

記錄了100+0 的讀入

記錄了100+0 的寫出

102400 bytes (102 kB, 100 KiB) copied, 0.00125457 s, 81.6 MB/s

2)格式化為ext2文件系統格式

$ mkfs.ext2 ext2.img

mke2fs 1.44.1 (24-Mar-2018)

丟棄設備塊: 完成

創建含有 100 個塊(每塊 1k)和 16 個inode的文件系統

正在分配組表: 完成

正在寫入inode表: 完成

寫入超級塊和文件系統賬戶統計信息: 已完成

3)查看文件系統信息

$ dumpe2fs ext2.img

dumpe2fs 1.44.1 (24-Mar-2018)

Filesystem volume name: 《none》

Last mounted on: 《not available》

Filesystem UUID: 3680e1d5-7f58-4324-9cbd-c7d382f0c3df

Filesystem magic number: 0xEF53

Filesystem revision #: 1 (dynamic)

Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file

Filesystem flags: signed_directory_hash

Default mount options: user_xattr acl

Filesystem state: clean

Errors behavior: Continue

Filesystem OS type: Linux

Inode count: 16

Block count: 100

Reserved block count: 5

Free blocks: 79

Free inodes: 5

First block: 1

Block size: 1024

Fragment size: 1024

Blocks per group: 8192

Fragments per group: 8192

Inodes per group: 16

Inode blocks per group: 2

Filesystem created: Wed May 26 15:23:33 2021

Last mount time: n/a

Last write time: Wed May 26 15:23:33 2021

Mount count: 0

Maximum mount count: -1

Last checked: Wed May 26 15:23:33 2021

Check interval: 0 (《none》)

Reserved blocks uid: 0 (user root)

Reserved blocks gid: 0 (group root)

First inode: 11

Inode size: 128

Default directory hash: half_md4

Directory Hash Seed: 5b0daa29-c2a0-4ab1-b09e-50992d3b070d

組 0:(塊 1-99)

主 超級塊位于 1,組描述符位于 2-2

塊位圖位于 3 (+2)

Inode 位圖位于 4 (+3)

Inode表位于 5-6 (+4)

79 個可用 塊,5 個可用inode,2 個目錄

可用塊數: 21-99

可用inode數: 12-16

這實際是是讀取文件系統的超級塊和塊組描述符信息。我們可以看的創建的文件系統的總體信息:

Filesystem magic number:0xEF53 表示為ext2文件系統 Inode count: 16 表示文件系統inode個數為16 Block count: 100表示文件系統塊個數為100 Free blocks: 79 表示文件系統空閑塊個數為79 Free inodes: 5 表示文件系統空閑inode個數為5 First block: 1 第一個數據塊編號為1(編號0保留為引導塊) Block size: 1024 文件系統塊大小為1k Blocks per group: 8192每個塊組8192個塊 Inodes per group: 16每個塊組個inode Inode blocks per group: 2 每個塊組2個inode塊 First inode: 11 分配的第一個inode號為11(除根inode外,根inode號為2) Inode size: 128 inode大小為128字節 塊組的信息(這里只有一個塊組) 1 - 99號 超級塊塊編號為 1 塊組描述符塊編號為 2塊 位圖塊編號為 3 inode位圖塊編號為 4

inode表位于5和6塊

79 個可用 塊,5 個可用inode,2 個目錄 (一個為根目錄一個為lost+found,存放壞塊) 可用塊數:21-99 可用inode數:12-16

4)掛載文件系統并創建文件

創建一個掛載點目錄:

$ mkdir root_dir

掛載:

$ sudo mount -t ext2 ext2.img root_dir

查看文件:

$ ls -la

總用量 17

drwxr-xr-x 3 root root 1024 5月 26 15:23 。

drwxrwxr-x 3 hanch hanch 4096 5月 26 15:28 。。

drwx------ 2 root root 12288 5月 26 15:23 lost+found

可以發現有三個目錄:

。。

lost+found

實際上是根目錄的數據塊的內容(包含各個目錄項)。

下面我們來創建一個目錄,目錄下創建文件:

$ sudo mkdir dir

$ cd dir/

$ su

# echo hello 》 test.txt

現在目錄樹是這樣的:

$ tree

├── dir

│ └── test.txt

└── lost+found [error opening dir]

2 directories, 1 file

后面我們會通過解析文件系統鏡像來觀察如何查找 /dir/test.txt 文件的

現在關注一下相關的索引節點:

$ cd dir

$ ls -lai

總用量 3

12 drwxr-xr-x 2 root root 1024 5月 26 15:57 。

2 drwxr-xr-x 4 root root 1024 5月 26 15:56 。。

13 -rw-r--r-- 1 root root 6 5月 26 15:57 test.txt

可以發現 /dir目錄下:當前工作目錄下索引節點為12(dir目錄的),上一級目錄的索引節點為2(根目錄),test.txt文件的所有節點為13。記住這幾個索引節點后面我們會通過解析文件系統鏡像來獲得。

2.解析文件系統鏡像

1)dump文件系統鏡像

$ hexdump -C ext2.img

00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

00000400 10 00 00 00 64 00 00 00 05 00 00 00 4f 00 00 00 |。。。.d.。。。。。.O.。。|

00000410 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

00000420 00 20 00 00 00 20 00 00 10 00 00 00 ae f8 ad 60 |。 。。。 。。。。。。。。。`|

00000430 ae f8 ad 60 01 00 ff ff 53 ef 00 00 01 00 00 00 |。。。`。。。.S.。。。。。。|

00000440 75 f7 ad 60 00 00 00 00 00 00 00 00 01 00 00 00 |u.。`。。。。。。。。。。。。|

。。。

*

00018c00 0c 00 00 00 0c 00 01 02 2e 00 00 00 02 00 00 00 |。。。。。。。。。。。。。。。。|

00018c10 0c 00 02 02 2e 2e 00 00 0d 00 00 00 e8 03 08 01 |。。。。。。。。。。。。。。。。|

00018c20 74 65 73 74 2e 74 78 74 00 00 00 00 00 00 00 00 |test.txt.。。。。。。。|

00018c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

00019000

根據之前dumpe2fs的信息我們知道:

鏡像文件中(均為16進制顯示)

00000000 開始的1k大小 保留的引導塊

塊1 00000400 開始的1k大小 保存磁盤的超級塊 (dumpe2fs的部分信息從這里獲得)

塊2 00000800 開始的1k大小 保存塊組描述符 (dumpe2fs的部分信息從這里獲得)

塊3 00000c00開始的1k大小 保存塊位圖

塊4 00001000 開始的1k大小 保存 Inode 位圖

塊5 塊6 00001400 開始的2k大小 保存 Inode表

剩下的為數據塊

磁盤中的文件系統對象結構在內核如下文件定義:

fs/ext2/ext2.h

磁盤超級塊:

struct ext2_super_block {

__le32 s_inodes_count; /* Inodes count */

__le32 s_blocks_count; /* Blocks count */

__le32 s_r_blocks_count; /* Reserved blocks count */

__le32 s_free_blocks_count; /* Free blocks count */

__le32 s_free_inodes_count; /* Free inodes count */

__le32 s_first_data_block; /* First Data Block */

__le32 s_log_block_size; /* Block size */

__le32 s_log_frag_size; /* Fragment size */

__le32 s_blocks_per_group; /* # Blocks per group */

__le32 s_frags_per_group; /* # Fragments per group */

__le32 s_inodes_per_group; /* # Inodes per group */

。。。

}

磁盤塊組描述符:

struct ext2_group_desc

{

__le32 bg_block_bitmap; /* Blocks bitmap block */

__le32 bg_inode_bitmap; /* Inodes bitmap block */

__le32 bg_inode_table; /* Inodes table block */

__le16 bg_free_blocks_count; /* Free blocks count */

__le16 bg_free_inodes_count; /* Free inodes count */

__le16 bg_used_dirs_count; /* Directories count */

__le16 bg_pad;

__le32 bg_reserved[3];

};

磁盤inode:

struct ext2_inode {

__le16 i_mode; /* File mode */

__le16 i_uid; /* Low 16 bits of Owner Uid */

__le32 i_size; /* Size in bytes */

__le32 i_atime; /* Access time */

__le32 i_ctime; /* Creation time */

__le32 i_mtime; /* Modification time */

__le32 i_dtime; /* Deletion Time */

__le16 i_gid; /* Low 16 bits of Group Id */

__le16 i_links_count; /* Links count */

__le32 i_blocks; /* Blocks count */

。。。

__le32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */

。。。

};

磁盤目錄項:

struct ext2_dir_entry_2 {

__le32 inode; /* Inode number */

__le16 rec_len; /* Directory entry length */

__u8 name_len; /* Name length */

__u8 file_type;

char name[]; /* File name, up to EXT2_NAME_LEN */

};

大家可以對照磁盤鏡像文件和磁盤數據結構定義來解析出文件系統的超級塊和塊組描述符信息(可以發現和dumpe2fs工具顯示的是一致的,例如鏡像文件00000400 處四字節為10 00 00 00 是小端存儲,所以為0x00000010=16);

3.路徑名查找

下面開始我們的重頭戲:查找文件系統中的 /dir/test.txt 文件。

我們知道,使用文件系統給我最直觀也是最大的好處是:用戶可以通過一個路徑名來訪問文件,那么一個文件系統究竟如何來找到我們所需要的文件呢?下面我們詳細來看ext2文件系統如何查找指定的文件的?(實際的內核中路徑名查找比較復雜,考慮很多情況,如dentry cache查找、解析軟鏈接文件、上級目錄、掛載點等,當然如果目錄分量是掛載點就會步進到相應文件系統的根目錄,后面文件系統掛載專題會講解,這里以簡單的路徑解析來讓大家有個深刻的認識)。

1)查找根目錄

萬事開頭難,對于訪問一個目錄上掛載的文件系統,內核路徑名查找會判斷并找到掛載的文件系統的根目錄,這個過程在文件系統掛載的時候,會從磁盤上讀取并在內存構建超級塊實例,然后進行的最重要的一步是讀取文件系統的根inode:

fs/ext2/super.c

ext2_fill_super

-》root = ext2_iget(sb, EXT2_ROOT_INO) //EXT2_ROOT_INO為2,系統定義好的

-》raw_inode = ext2_get_inode(inode-》i_sb, ino, &bh); //根據inode號查找磁盤inode

核心算法如下:

-》block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb) //獲得塊組 編號

gdp = ext2_get_group_desc(sb, block_group, NULL); //獲得塊組描述符

offset = ((ino - 1) % EXT2_INODES_PER_GROUP(sb)) * EXT2_INODE_SIZE(sb); //計算出在 塊組的 inode表中的inode偏移

block = le32_to_cpu(gdp-》bg_inode_table) + (offset 》》 EXT2_BLOCK_SIZE_BITS(sb)); //計算出在文件系統中的塊號

bh = sb_bread(sb, block)) //組合成submit_bh 讀取這個塊到bh

*p = bh; //賦值bh 用于返回

offset &= (EXT2_BLOCK_SIZE(sb) - 1); //計算出塊中偏移

return (struct ext2_inode *) (bh-》b_data + offset); //返回inode中位置

簡述ext2通過inode號找到并讀取磁盤inode核心算法:

1.根據inode號計算出所在的塊組block_group

2.根據inode號計算出塊組中的inode表中的字節偏移offset

3.根據inode號計算出磁盤inode在文件系統中的塊號block

4.根據塊號block 通過sb_bread讀取緩沖區塊到內存

5.根據inode表中的字節偏移offset 計算出 磁盤inode在塊中偏移

6.通過讀取的緩沖區和磁盤inode在塊中偏移 最終返回磁盤inode結構

我們已知:

每個塊組inode個數:EXT2_INODES_PER_GROUP(sb) = 16

磁盤inode大小:EXT2_INODE_SIZE(sb) = 128

塊大小的bit表示:EXT2_BLOCK_SIZE_BITS(sb) = 10

所以計算根inode塊號:

ino=2 跟inode時:

塊組編號: block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb) = (2 - 1) / 16 = 0

inode表中的根inode偏移 : offset = ((ino - 1) % EXT2_INODES_PER_GROUP(sb)) * EXT2_INODE_SIZE(sb

= ( 1 % 16 ) * 128 = 128 =0x80 (第2個inode 也就是0x1480處)

文件系統中的根inode所在塊號 : block = le32_to_cpu(gdp-》bg_inode_table) + (offset 》》 EXT2_BLOCK_SIZE_BITS(sb))

= 5 + (128 》》 10) = 5

根inode所在塊中偏移:offset &= (EXT2_BLOCK_SIZE(sb) - 1) = 128 = 0x80

inode中位置 = bh-》b_data + offset = 所在塊 + 0x80

所以:根inode所在的鏡像文件中偏移為:5 * 0x400 + 0x80 = 0x1400 + 0x80 = 0x1480

查看0x1480偏移處內容如下(即是根目錄的磁盤inode內容):

*

00001480 ed 41 00 00 00 04 00 00 54 ff ad 60 44 ff ad 60 |.A.。。。。.T.。`D.。`|

00001490 44 ff ad 60 00 00 00 00 00 00 04 00 02 00 00 00 |D.。`。。。。。。。。。。。。|

000014a0 00 00 00 00 01 00 00 00 07 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

000014b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

對照ext2文件系統磁盤inode結構,可知i_block為磁盤inode結構的偏移40B處,內容即為0x07(ext2通過i_block來查找文件在磁盤中的位置)。

于是我們知道,根目錄數據塊的塊號 為0x7(鏡像中字節偏移為 0x400 * 7= 1c00),這個數據塊中保存的是根目錄中包含的所有目錄和文件的目錄項(我們知道這里為“。”、“。。”、“dir”、“lost+found”四個目錄項)。

根目錄數據塊的內容:

*

00001c00 02 00 00 00 0c 00 01 02 2e 00 00 00 02 00 00 00 |。。。。。。。。。。。。。。。。|

00001c10 0c 00 02 02 2e 2e 00 00 0b 00 00 00 14 00 0a 02 |。。。。。。。。。。。。。。。。|

00001c20 6c 6f 73 74 2b 66 6f 75 6e 64 00 00 0c 00 00 00 |lost+found.。。。。。|

00001c30 d4 03 03 02 64 69 72 00 00 00 00 00 00 00 00 00 |。。。.dir.。。。。。。。。|

00001c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

根據目錄項ext2_dir_entry_2 結構我們可以查詢到文件名為dir的目錄項,從而獲取dir目錄的inode號,為0x0c(和我們之前通ls -lai顯示的dir目錄inode號12是一致)。

2)查找dir目錄

和上面查詢根inode一樣的原理,計算過程如下:

dir目錄所在塊組編號: block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb) = (12 - 1) / 16 = 0

dir目錄所在inode表中的inode偏移 : offset = ((ino - 1) % EXT2_INODES_PER_GROUP(sb)) * EXT2_INODE_SIZE(sb

= ( 11 % 16 ) * 128 = 1408(0x580)

文件系統中的dir目錄的inode所在塊號 : block = le32_to_cpu(gdp-》bg_inode_table) + (offset 》》 EXT2_BLOCK_SIZE_BITS(sb))

= 5 + (1408 》》 10) = 5 +1 =6

dir目錄的inode所在塊號中偏移:offset &= (EXT2_BLOCK_SIZE(sb) - 1) = 1408(0x580)& (0x400 -1) = 0x180

inode中位置 = bh-》b_data + offset = 所在塊 + 0x180

所以:dir目錄inode所在的鏡像文件中字節偏移為:6 * 0x400 + 0x180 = 0x1800 + 0x180 = 0x1980

查看0x1980偏移處內容如下(即是dir目錄的磁盤inode內容):

*

00001980 ed 41 00 00 00 04 00 00 84 ff ad 60 66 ff ad 60 |.A.。。。。。。。。`f.。`|

00001990 66 ff ad 60 00 00 00 00 00 00 02 00 02 00 00 00 |f.。`。。。。。。。。。。。。|

000019a0 00 00 00 00 02 00 00 00 63 00 00 00 00 00 00 00 |。。。。。。。.c.。。。。。。|

000019b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

對照ext2文件系統磁盤inode結構,可知i_block為磁盤inode結構的偏移40B處,內容即為0x63。

于是我們知道,dir目錄數據塊的塊號 為0x63(偏移為 0x400 * 0x63= 0x18c00),這個數據塊中保存的是dir目錄中包含的所有目錄和文件的目錄項(我們知道這里為“。”、“。。”、“test.txt”三個目錄項)。

dir目錄數據塊的內容:

*

00018c00 0c 00 00 00 0c 00 01 02 2e 00 00 00 02 00 00 00 |。。。。。。。。。。。。。。。。|

00018c10 0c 00 02 02 2e 2e 00 00 0d 00 00 00 e8 03 08 01 |。。。。。。。。。。。。。。。。|

00018c20 74 65 73 74 2e 74 78 74 00 00 00 00 00 00 00 00 |test.txt.。。。。。。。|

00018c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

對照目錄項ext2_dir_entry_2 結構,查找文件名為test.txt的inode號,即為0x0d(和我們之前通ls -lai顯示的dir目錄inode號13是一致)。

于是我們知道,test.txt文件的inode號為0x0d(13)。

2)查找test.txt文件

和上面查詢根inode一樣的原理,計算過程如下:

test.txt文件inode所在塊組 編號: block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb) = (13 - 1) / 16 = 0

test.txt文件inode在 inode表中的inode偏移 : offset = ((ino - 1) % EXT2_INODES_PER_GROUP(sb)) * EXT2_INODE_SIZE(sb

= ( 12 % 16 ) * 128 = 1536(0x600)

文件系統中的test.txt文件inode所在塊號 : block = le32_to_cpu(gdp-》bg_inode_table) + (offset 》》 EXT2_BLOCK_SIZE_BITS(sb))

= 5 + (1536 》》 10) = 5 +1 =6

test.txt文件inode所在塊號中偏移:offset &= (EXT2_BLOCK_SIZE(sb) - 1) = 1408(0x600)& (0x400 -1) = 0x200

inode中位置 = bh-》b_data + offset = 所在塊 + 0x200

所以:test.txt文件inode所在的鏡像文件中偏移為:= 6 * 0x400 + 0x200 = 0x1800 + 0x200 = 0x1a00

查看 0x1a00偏移處內容如下(即是test.txt文件的磁盤inode內容):

00001a00 a4 81 00 00 06 00 00 00 85 ff ad 60 66 ff ad 60 |。。。。。。。。。。。`f.。`|

00001a10 66 ff ad 60 00 00 00 00 00 00 01 00 02 00 00 00 |f.。`。。。。。。。。。。。。|

00001a20 00 00 00 00 01 00 00 00 15 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

00001a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

對照ext2文件系統磁盤inode結構,可知i_block為磁盤inode結構的偏移40B處,內容即為0x15。

于是我們知道,test.txt文件數據塊的塊號 為0x15(偏移為0x15 * 0x400 = 0x5400)。

查看 0x5400偏移處內容如下(test.txt文件數據塊的內容):

*

00005400 68 65 6c 6c 6f 0a 00 00 00 00 00 00 00 00 00 00 |hello.。。。。。。。。。。|

00005410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |。。。。。。。。。。。。。。。。|

*

最終可以看到文件數據為“hello”。

4)查找過程圖解

以下為 dir/test.txt查找過程:

已知根目錄inode號(ext2為2) -》 查找根目錄磁盤inode(文件系統掛載時查找) -》 查找根目錄的數據塊 -》 查找dir目錄的目錄項找到其inode號 (為12) -》 查找dir目錄的磁盤inode -》 查找dir目錄的數據塊 -》 查找test.txt文件的inode號(為13) -》 查找test.txt文件的磁盤inode -》 查找test.txt文件的數據塊

下面為查找圖解:

pIYBAGCwvaSAJcSfAAM-kimg0Ys390.png

4.總結

對于ext2文件系統,路徑名查找中,實際上是解析路徑名的各個分量,查找每個分量的目錄項,然后通過目錄項找到inode號,通過inode號找到對應的磁盤inode,然后通過磁盤inode獲得目錄/文件的數據塊, 最終查找到對應目錄/文件的磁盤inode,而磁盤inode的i_block中保存著文件的邏輯塊號和磁盤的邏輯塊號映射關系,讀寫文件時就可以訪問到整個文件。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7335

    瀏覽量

    94757
  • 磁盤
    +關注

    關注

    1

    文章

    398

    瀏覽量

    26470
  • 文件系統
    +關注

    關注

    0

    文章

    302

    瀏覽量

    20976

原文標題:深入理解Linux文件系統之ext2路徑名查找

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析LMZ12002EXT:高性能電源模塊的卓越

    深入解析LMZ12002EXT:高性能電源模塊的卓越選 在電子工程師的日常設計工作中,電源模塊的選擇至關重要,它直接影響著整個系統的性能和穩定性。今天,我們就來深度剖析一款備受關注的
    的頭像 發表于 03-04 15:55 ?50次閱讀

    深入解析LMZ12001EXT:高性能電源模塊的卓越

    深入解析LMZ12001EXT:高性能電源模塊的卓越選 在電子設計領域,電源模塊的性能往往決定了整個系統的穩定性和可靠性。今天,我們就來深入探討一款備受關注的電源模塊——LMZ120
    的頭像 發表于 03-04 15:55 ?48次閱讀

    明晚8點|睿擎文件系統實戰:從開發到發布流程解析

    著開發者。為此,我們特別推出本期文件系統專題直播,由睿擎平臺核心研發工程師手把手帶你掌握文件系統開發流程!直播預告▎直播主題睿擎平臺文件系統綜合實戰:從開發到發
    的頭像 發表于 11-11 11:53 ?641次閱讀
    明晚8點|睿擎<b class='flag-5'>文件系統</b>實戰:從開發到發布<b class='flag-5'>全</b>流程<b class='flag-5'>解析</b>

    【直播預告】下周三晚8點|睿擎文件系統實戰:從開發到發布流程解析

    著開發者。為此,我們特別推出本期文件系統專題直播,由睿擎平臺核心研發工程師手把手帶你掌握文件系統開發流程!直播預告▎直播主題睿擎平臺文件系統綜合實戰:從開發到發
    的頭像 發表于 11-06 18:05 ?1903次閱讀
    【直播預告】下周三晚8點|睿擎<b class='flag-5'>文件系統</b>實戰:從開發到發布<b class='flag-5'>全</b>流程<b class='flag-5'>解析</b>

    睿擎派文件系統指南:從開發到發布流程實踐 | 技術解析

    在嵌入式系統開發中,文件系統扮演著至關重要的角色,它負責數據的持久化存儲、配置文件管理和資源訪問等核心功能。睿擎平臺提供了一套完整的文件系統解決方案,從開發階段的API調用到調試階段的
    的頭像 發表于 11-05 18:13 ?8094次閱讀
    睿擎派<b class='flag-5'>文件系統</b>指南:從開發到發布<b class='flag-5'>全</b>流程實踐 | 技術<b class='flag-5'>解析</b>

    飛凌嵌入式ElfBoard-Linux系統基礎入門-文件操作相關shell命令

    -iname文件名稱符合,忽略大小寫示例:2.5.12 whereis查找文件命令:whereis功能:用于定位可執行文件、源代碼文件、幫助文件
    發表于 09-30 09:46

    Linux三大主流文件系統解析

    還在為選擇哪個文件系統而糾結?作為一摸爬滾打多年的運維老鳥,我將用最接地氣的方式,帶你徹底搞懂 Linux 三大主流文件系統的奧秘。
    的頭像 發表于 08-05 17:37 ?1441次閱讀

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統應用開機自啟

    在busybox構建文件系統章節我們已經大概了解,文件系統啟動后執行的第一個用戶進程是init進程,init進程會解析etc/inittab文件,執行inittab中的各個子進程,打開
    發表于 06-26 13:40

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統簡介

    文件系統進行裁剪或者定制,也可以從頭開始構建。9.2 文件系統類型簡單介紹一些常用的幾種linux系統類型:ramdisk、cramfs、jffs2
    發表于 06-19 17:22

    飛凌嵌入式ElfBoard ELF 1板卡-busybox構建根文件系統添加必要目錄和庫

    ,在此腳本文件中,我們可以執行一系列初始化操作,比如設置環境變量路徑,開啟程序,掛載文件系統、配置網絡等等。::respawn:-/bin/sh表示當子進程-/bin/sh退出之后,重新開啟。tty
    發表于 06-19 17:20

    服務器數據恢復—ocfs2文件系統被格式化為Ext4文件系統的數據恢復案例

    服務器存儲數據恢復環境&故障: 人為誤操作將Ext4文件系統誤裝入一臺服務器存儲上的Ocfs2文件系統數據卷上,導致原Ocfs2
    的頭像 發表于 06-10 12:03 ?726次閱讀
    服務器數據恢復—ocfs<b class='flag-5'>2</b><b class='flag-5'>文件系統</b>被格式化為<b class='flag-5'>Ext</b>4<b class='flag-5'>文件系統</b>的數據恢復案例

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令文件系統命令

    uboot支持fat格式、ext格式的文件系統。我們主要講解fat格式文件系統常用命令使用。 一、fatinfo fatinfo顯示選中的mmc設備指定分區的文件系統信息, fatin
    發表于 05-26 17:32

    Linux文件系統打包及鏡像制作,觸覺智能RK3562開發板演示

    本文介紹Linux開發板文件系統打包及鏡像制作的方法,演示Linux文件系統打包及鏡像制作,適用于想將配置好的系統環境打包成鏡像批量燒錄。觸
    的頭像 發表于 04-28 16:45 ?999次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>文件系統</b>打包及鏡像制作,觸覺智能RK3562開發板演示

    從零開始馴服Linux(一):ZYNQ-Linux啟動文件構建解析

    本帖最后由 jf_85110202 于 2025-3-20 17:42 編輯 從零開始馴服Linux(一):ZYNQ-Linux啟動文件構建
    發表于 03-20 16:48

    如何正確選擇嵌入式文件系統

    Linux嵌入式系統中,文件系統和緩存機制常導致數據存儲穩定性問題。本文通過案例分析原因,對比不同文件系統特性,為開發者提供優化建議,助力提升數據穩定性和
    的頭像 發表于 03-17 11:35 ?1103次閱讀
    如何正確選擇嵌入式<b class='flag-5'>文件系統</b>?