linux mkdir函数用法
时间: 2023-07-26 07:32:44 浏览: 147
`mkdir`函数是Linux中创建目录的函数,其基本用法如下:
```c
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
```
其中,`pathname`为要创建的目录的路径,`mode`为目录权限。
举个例子,如果要在当前目录下创建一个名为`test_dir`的子目录,并且设置其权限为`0777`,可以这么写:
```c
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
int main()
{
int status = mkdir("test_dir", S_IRWXU | S_IRWXG | S_IRWXO);
if(status != 0)
{
perror("mkdir error");
return -1;
}
printf("directory created successfully\n");
return 0;
}
```
其中`S_IRWXU | S_IRWXG | S_IRWXO`表示三种用户(拥有者、组、其他人)均有读、写、执行权限。如果只想让拥有者有这些权限,可以改为`S_IRWXU`。
相关问题
linux下代替_mkdir的函数
在Linux下,可以使用`mkdir`命令创建目录,但也有一些函数可以代替`mkdir`的功能。下面列举了其中两个常用的函数:
1. `mkdir()`函数:这是一个系统调用,用于在指定的路径下创建新的目录。它的原型如下:
```c
#include <sys/stat.h>
int mkdir(const char *pathname, mode_t mode);
```
`pathname`参数是要创建的目录的路径名,`mode`参数表示新建目录的访问权限。该函数成功时返回0,失败时返回-1。
例如,要在当前目录下创建名为`newdir`的子目录,可以使用以下代码:
```c
#include <sys/stat.h>
#include <sys/types.h>
#include <stdio.h>
int main() {
if (mkdir("newdir", 0777) == 0) {
printf("目录创建成功\n");
} else {
printf("目录创建失败\n");
}
return 0;
}
```
2. `mkdir()`库函数:除了系统调用的`mkdir()`函数,还有一个同名的库函数也可以用于创建目录。它的原型如下:
```c
#include <sys/stat.h>
int mkdir(const char *pathname);
```
与系统调用的`mkdir()`函数相比,库函数中不需要指定新建目录的访问权限。其他用法与系统调用的函数相似。但需要注意的是,库函数`mkdir()`的返回值含义与系统调用的函数有所不同。成功时返回0,失败时返回-1,并设置`errno`变量来指示具体的错误类型。
这两个函数都可以用来代替`mkdir`命令在Linux下创建目录。具体选择哪个函数取决于需求和使用情境。
阅读全文