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;
}
分类: mount

0 条评论

发表回复

您的电子邮箱地址不会被公开。