U盤系列 之U盤掛載資訊的獲取

2021-07-09 07:07:56 字數 1041 閱讀 5104

程式內讀取/etc/mtab或者/proc/mounts,解析字串較為繁瑣,可以使用mntent提供的方便函式:

file *setmntent(const

char *filename, const

char *type);

struct mntent *getmntent(file *filep);

int endmntent(file *filep);

(1)setmntent用來開啟/etc/mtab或者同樣格式的table檔案

引數 filename為table檔案的路徑(例如/etc/mtab),引數type為開啟檔案的模式(與open型別,例如「r」為唯讀開啟)

成功時,返回file指標(用於mntent操作),失敗時返回null

(2)getmntent用來讀取檔案的每一行,解析每一行的引數到mntent結構,mntent結構的儲存空間是靜態分配的(不需要free),結構的值會在下一次getmntent時被覆蓋

mntent結構定義: 

struct

mntent

;

引數filep是setmntent返回的file指標

成功時返回指向mntent的指標,錯誤時返回null

(3)endmntent用來關閉開啟的table檔案,總是返回1

示例程式:

#include #include 

#include

#include

int main(void)

while(mntent =getmntent(mntfile))

printf(

"%s, %s, %s, %s\n",

mntent->mnt_dir,

mntent->mnt_fsname,

mntent->mnt_type,

mntent->mnt_opts);

endmntent(mntfile);

return0;

}

通過對字串過濾找到相應的結構體獲取掛載路徑;

linux複製u盤檔案,掛載u盤

1.插入u盤,輸入載入usb模組指令 modprobe usb storage2.檢視u盤的裝置 fdisk l 或者ls dev其中名為sda系列是磁碟裝置,sdb系列是u盤裝置。3.在mnt目錄下建立usb disk資料夾,一會要掛載u盤到這個目錄下。mkdir mnt usb disk4.使用...

Linux之U盤掛載

第一步 檢視u盤資訊 首先使用 sudo fdisk l 命令檢視一下u盤在那裡,這個資訊檢視後,可能會類似看到下面資訊 disk dev sdb 4007 mb,4007657472 bytes 255 heads,63 sectors track,487 cylinders units cyli...

掛載U盤經歷

1.啟動linux系統,插上u盤 2.在linux終端輸入命令 fdisk l 檢視是否被系統識別,一般linux系統盤名為sda,a表示a盤,a後面緊接著的數字代表分割槽。識別u盤名為sdb。3.建立u盤掛載點 在mnt目錄下建立乙個新的目錄,在終端輸入命令mkdir mnt usb。4.開始掛載...