mount && umount

本文详细介绍了Linux系统中的mount与umount系统调用的功能及用法,包括挂载与卸载文件系统的参数设置、错误处理等内容。

【 mount/umount系统调用】   
    
功能描述: 
mount挂上文件系统,umount执行相反的操作。 
  
用法:  

1 #include <sys/mount.h>
2  
3 int mount(const char *source, const char *target,
4    const char *filesystemtype, unsigned long mountflags, const void *data);
5  
6 int umount(const char *target);
7  
8 int umount2(const char *target, int flags);

 

 


参数:   

01 source:将要挂上的文件系统,通常是一个设备名。
02 target:文件系统所要挂在的目标目录。
03 filesystemtype:文件系统的类型,可以是"ext2""msdos""proc""nfs""iso9660" 。。。
04 mountflags:指定文件系统的读写访问标志,可能值有以下
05  
06 MS_BIND:执行bind挂载,使文件或者子目录树在文件系统内的另一个点上可视。
07 MS_DIRSYNC:同步目录的更新。
08 MS_MANDLOCK:允许在文件上执行强制锁。
09 MS_MOVE:移动子目录树。
10 MS_NOATIME:不要更新文件上的访问时间。
11 MS_NODEV:不允许访问设备文件。
12 MS_NODIRATIME:不允许更新目录上的访问时间。
13 MS_NOEXEC:不允许在挂上的文件系统上执行程序。
14 MS_NOSUID:执行程序时,不遵照set-user-ID 和 set-group-ID位。
15 MS_RDONLY:指定文件系统为只读。
16 MS_REMOUNT:重新加载文件系统。这允许你改变现存文件系统的mountflag和数据,而无需使用先卸载,再挂上文件系统的方式。
17 MS_SYNCHRONOUS:同步文件的更新。
18 MNT_FORCE:强制卸载,即使文件系统处于忙状态。
19 MNT_EXPIRE:将挂载点标志为过时。

 

 

data:文件系统特有的参数。
    
返回说明:   
成功执行时,返回0。失败返回-1,errno被设为以下的某个值   

01 EACCES:权能不足,可能原因是,路径的一部分不可搜索,或者挂载只读的文件系统时,没有指定 MS_RDONLY 标志。
02 EAGAIN:成功地将不处于忙状态的文件系统标志为过时。
03 EBUSY:一. 源文件系统已被挂上。或者不可以以只读的方式重新挂载,因为它还拥有以写方式打开的文件。二. 目标处于忙状态。
04 EFAULT: 内存空间访问出错。
05 EINVAL:操作无效,可能是源文件系统超级块无效。
06 ELOOP :路径解析的过程中存在太多的符号连接。
07 EMFILE:无需块设备要求的情况下,无用设备表已满。
08 ENAMETOOLONG:路径名超出可允许的长度。
09 ENODEV:内核不支持某中文件系统。
10 ENOENT:路径名部分内容表示的目录不存在。
11 ENOMEM: 核心内存不足。
12 ENOTBLK:source不是块设备。
13 ENOTDIR:路径名的部分内容不是目录。
14 EPERM : 调用者权能不足。
15 ENXIO:块主设备号超出所允许的范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值