程式內讀取/etc/mtab或者/proc/mounts,解析字串較為繁瑣,可以使用mntent提供的方便函式:
file *setmntent(const(1)setmntent用來開啟/etc/mtab或者同樣格式的table檔案char *filename, const
char *type);
struct mntent *getmntent(file *filep);
int endmntent(file *filep);
引數 filename為table檔案的路徑(例如/etc/mtab),引數type為開啟檔案的模式(與open型別,例如「r」為唯讀開啟)
成功時,返回file指標(用於mntent操作),失敗時返回null
(2)getmntent用來讀取檔案的每一行,解析每一行的引數到mntent結構,mntent結構的儲存空間是靜態分配的(不需要free),結構的值會在下一次getmntent時被覆蓋
mntent結構定義:
struct引數filep是setmntent返回的file指標mntent
;
成功時返回指向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.開始掛載...