mount
int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data);
参数说明:
source: 要挂载的设备(如硬盘分区)或远程文件系统。对于本地文件系统,这通常是设备的路径,如 /dev/sdb1。对于网络文件系统,这是服务器和分享的地址,如 server://share。
target: 挂载点的目录路径,即文件系统将被挂载到哪里,例如 /mnt/usb。
filesystemtype: 文件系统类型,如 ext4、ntfs、smbfs 等。如果设置为 NULL,则使用设备上的文件系统类型。
mountflags: 挂载标志,如 MS_NOEXEC、MS_NOSUID、MS_RDONLY 等,用于指定挂载的特性。
data: 通常为 NULL,可能在某些文件系统类型下用于传递额外的参数。
使用 mount() 函数时,需要包含头文件 <sys/mount.h> 并且在编译时链接 -lc。
- 挂载tmpfs
#include <stdio.h>
#include <sys/mount.h>
int main() {
const char *source = "tmpfs"; // 指定tmpfs为源
const char *target = "/mnt/tmpfs"; // 指定挂载目标路径
const char *filesystem = "tmpfs"; // 指定文件系统类型
unsigned long mount_flags = 0; // 挂载标志,这里设置为0表示默认行为
const char *data = NULL; // 传递给文件系统的参数,tmpfs不需要,设置为NULL
// 尝试挂载tmpfs
int ret = mount(source, target, filesystem, mount_flags, data);
if (ret < 0) {
perror("mount failed");
return -1;
}
printf("tmpfs is mounted at %s\n", target);
return 0;
}
0 条评论