歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統調用

Linux系統調用

日期:2017/3/3 12:24:33   编辑:Linux技術

功能描述:

mount掛上文件系統,umount執行相反的操作。

用法:

#include

int mount(const char *source, const char *target,

const char *filesystemtype, unsigned long mountflags, const void *data);

int umount(const char *target);

int umount2(const char *target, int flags);

參數:

source:將要掛上的文件系統,通常是一個設備名。

target:文件系統所要掛在的目標目錄。

filesystemtype:文件系統的類型,可以是"ext2","msdos","proc","nfs","iso9660" 。。。

mountflags:指定文件系統的讀寫訪問標志,可能值有以下

MS_BIND:執行bind掛載,使文件或者子目錄樹在文件系統內的另一個點上可視。

MS_DIRSYNC:同步目錄的更新。

MS_MANDLOCK:允許在文件上執行強制鎖。

MS_MOVE:移動子目錄樹。

MS_NOATIME:不要更新文件上的訪問時間。

MS_NODEV:不允許訪問設備文件。

MS_NODIRATIME:不允許更新目錄上的訪問時間。

MS_NOEXEC:不允許在掛上的文件系統上執行程序。

MS_NOSUID:執行程序時,不遵照set-user-ID 和 set-group-ID位。

MS_RDONLY:指定文件系統為只讀。

MS_REMOUNT:重新加載文件系統。這允許你改變現存文件系統的mountflag和數據,而無需使用先卸載,再掛上文件系統的方式。

MS_SYNCHRONOUS:同步文件的更新。

MNT_FORCE:強制卸載,即使文件系統處於忙狀態。

MNT_EXPIRE:將掛載點標志為過時。

data:文件系統特有的參數。

返回說明:

成功執行時,返回0。失敗返回-1,errno被設為以下的某個值

EACCES:權能不足,可能原因是,路徑的一部分不可搜索,或者掛載只讀的文件系統時,沒有指定 MS_RDONLY 標志。

EAGAIN:成功地將不處於忙狀態的文件系統標志為過時。

EBUSY:一. 源文件系統已被掛上。或者不可以以只讀的方式重新掛載,因為它還擁有以寫方式打開的文件。二. 目標處於忙狀態。

EFAULT: 內存空間訪問出錯。

EINVAL:操作無效,可能是源文件系統超級塊無效。

ELOOP :路徑解析的過程中存在太多的符號連接。

EMFILE:無需塊設備要求的情況下,無用設備表已滿。

ENAMETOOLONG:路徑名超出可允許的長度。

ENODEV:內核不支持某中文件系統。

ENOENT:路徑名部分內容表示的目錄不存在。

ENOMEM: 核心內存不足。

ENOTBLK:source不是塊設備。

ENOTDIR:路徑名的部分內容不是目錄。

EPERM : 調用者權能不足。

ENXIO:塊主設備號超出所允許的范圍。

Copyright © Linux教程網 All Rights Reserved