在linux上我們可以利用fdisk
來查看分割區資訊
sudo mount /dev/mmcblk0 /mnt/sdcard
檢查ext2/ext3/ext4檔案系統的完整性
sudo e2fsck /dev/sda
-y: fix block
和ext2差別於多了日誌(journaling),和資料庫系統的交易(transaction)作用相同。
tnue2fs -j /dev/sdb1
完成後會發現目錄下多了一支.journal檔案,下一次重新啟動系統時,會自動執行e2fsck,到時.journal就會被系統隱藏,的資料會被放進一個因特殊用途而保留下來的inode.
我們也可以指定將日誌檔案放於其他檔案系統
tnue2fs -J device=/dev/sda1 -j /dev/sdb1
移除了檔案系統16TB的限制,最大可到1 exbibyte,單一檔案最大可到1024 GB
和ext3一樣有日誌系統,有提供API給程式設計師。
主要用於Flash的檔案系統
sudo apt install mtd-tools
mkfs.jffs2 -d ./jffs2-image-dir -o jffs2.bin
目的是將檔案系統塞進ROM,所以cramfs是唯讀檔案系統
掛載遠端nfs
mount -t nfs [HOSTNAME]:/home/xxx/xxx /workspace
將HSTNAME機器上的/home/xxx/xxx
掛載到本地端的/workspace
kernel也要有組態支援
file system->network file system->root file system on nfs
加入核心命令列選項
console=ttyS0, 115200
ip=192.168.11.139:192.168.11.1:192.168.11.1:255.255.255.0:HOSTNAME:eht0:off
nfsroot=192.168.11.1:/HOSTNAME-target
root=/dev/nfs
ip=的參數定義放在Document/filesystem/nfsroot.txt
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
mount
(不帶任何參數)可以列出所有已經掛載的檔案系統我們可以從proc中得到一些有趣的資訊,像是maps
可以得到虛擬記憶體區段和區段的屬性,stack
可以得知堆疊的區段,status
可以知道process的狀態。
和proc一樣sysfs並不是實體裝置,sysfs將特定實體裝置,建立模型並表示出來,並提供機制將裝置與裝置驅動程式聯繫。
sysfs存放的大部分資訊是提供給機器而分人類閱讀的格式,但是我們可以透過systool
來幫助我們瀏覽目錄結構。
這裡我們會使用loopback
裝置,將普通檔案當作一個區快來使用。
dd if=/dev/zero of=./l_image bs=1k count=512
mkfs.ext4 ./l_image
mount -o loop ./l_image /mnt/sdcard
完後你就可以對這個裝置上下其手了
更多檔案系統的比較資料的資料可以參考這裡