關於android的4 2的0資料夾的詳解

2021-06-18 05:24:29 字數 1807 閱讀 7693

這是一篇對我啟發很大的文章,對此表示謝意。

---- android 4.0 ----

在galaxy nexus(gn)手機上userdata分割槽很大,被掛在/data目錄,使用者的資料通常是放在sd卡上,然而gn是沒有sd卡的,所以google想了乙個辦法,就是虛擬乙個。

所以,在userdata分割槽下有個目錄叫media,是內建sd卡的資料儲存位置,使用fuse技術將/data/media虛擬成為乙個叫做/dev/fuse的裝置,為了讓程式能認出來,被同時掛載在 /mnt/sdcard 目錄,

又為了相容以前的程式,做了乙個快捷方式(linux系統裡叫軟連線) /sdcard 指向的是 /mnt/sdcard .

當然,這些都是4.0的做法。

---- android 4.1 ---- 

在4.1裡,同樣也會使用fuse技術,/dev/fuse 會被同時掛載到/storage/sdcard0 目錄,這個sdcard0表示第乙個sd卡(如果有外接sd卡,那會多乙個 /storage/sdcard1,比如我的xoom), /sdcard 軟連線會指向 /storage/sdcard0 ,此時/mnt/sdcard 也是個軟連線,會指向/storage/sdcard0。

如果你通過otg線接u盤,會被掛載到 /storage/usb0目錄,stickmount這個軟體為了讓相簿、快圖、mx player等軟體,能看到u盤裡的資料,又同時掛載到 /storage/sdcard0/usstorage/sda1.

也許你會問,為什麼不是usb0,而是sda1,這是linux的對硬碟的命名方式,如果你的u盤有多個分割槽,就分別是sda1,sda2這樣一直排下去了。

---- android 4.2 ---- 

好了,我們開始說4.2系統。

谷歌是不是沒事幹啊,非要給android搞個多使用者,你想想啊,在中國,可能因為經濟問題,家裡不是每人乙個電腦,在美國,幾乎需要用電腦的人,都會自己有一台或多台,一台電腦多人用的情況少之又少,這就是為什麼叫pc了,顧名思義,個人電腦。像手機和平板這些東西,更加私人化了,很少公用了吧,我想在中國也是如此吧。

當然,谷歌也不完全是抽風,因為他有更大的戰略部署,而且平板也的確有多人用的可能。

所以谷歌搞出來乙個多使用者,那每個人的應用、資料、個性配置都要分開吧。 應用和個性配置好弄,想想啊,通過許可權控制,每人只能看自己的應用就行了,桌面也可以用自己的。

那資料怎麼辦????

好吧,調整使用者資料的掛載結構。android 4.2,同樣也會使用fuse技術/dev/fuse 會被掛載到/storage/emulated/0 目錄,為什麼是0呢,你還記得上邊的sdcard0吧,第乙個的意思。(如果有第二個,應該就是/storage/emulated/1,我們的三兒子沒有外接sd卡,所以沒法驗證)

為了相容以前,同時掛載到 /storage/emulated/legacy (故名思議,傳統的),還建立三個軟連線 /storage/sdcard0 ,/sdcard,/mnt/sdcard ,都指向  /storage/emulated/legacy

還有值得一提的是,4.2剛出來,這塊變動又比較大,所以stickmount還沒跟上,暫時沒法通過otg掛載u盤了。

所以大家不用為0而苦惱了,這是正常的「生理特徵」

。也許你會問,這個0和多使用者有什麼關係呢,那是因為多使用者這個新特性,只在平板上才啟用,在手機上會被禁用的。但是底層實現是一致的。 /mnt/shell/emulated 目錄和 /storage/emulated 下的資料夾是一樣的。(注意,這個/mnt/shell/emulated  不是掛載出來的)

由於我沒有平板公升級到4.2,所以只是推測,/mnt/shell/ 是為了多使用者準備的,因為linux的多使用者是基於shell實現的。

4 2 檔案的壓縮與打包

compress compress命令用於將檔案壓縮為 z 格式的壓縮檔案。語法 compress 選項 檔案 選項 d 解壓縮,相當於uncompress c 結果輸出至標準輸出,不刪除原檔案 v 顯示詳情 gzip gzip命令用於將檔案壓縮為 gz 格式的壓縮檔案。語法 gzip 選項 檔案 ...

Fcitx4 2英文輸入切換的改造

使用時,發現其還是沒有將中途輸入大寫字母的情況切換到英文輸入狀態,於是,我又開始嘗試修改源 按照前文 boolean switchtoeng fcitxautoengstate autoengstate,char str return false 其中,printf語句為便於分析該函式作用而寫的除錯...

關於檔案中的0D 0A

檔案一般分為文字檔案和二進位制檔案。如果你想乙個文字檔案中寫入乙個 n 文字檔案中會增加0x0d 0x0a兩個位元組 可以使用utraledit來檢視,記事本是看不出來的 如果你讀乙個文字檔案,一旦遇到0x0d 0x0a,遍會讀為乙個 n 0x0a 而在windows的二進位制檔案中,你寫入什麼就是...