创建多级目录

  在UNIX平台下有一个创建目录的API接口 mkdir(),该函数使用比较简单,但如果需要创建多级目录,则操作起来就稍微麻烦些,也有一些公开的代码实现了创建多级目录的功能,而很多都是采用递归调用 mkdir() 创建目录的方式。在 Postfix 代码也有一段代码用于创建多级目录,它的优点是迭代方式创建多级目录,而不是递归调用 mkdir(),于是乎ACL作者将其改造了一下(主要增加了针对WIN32的支持),加入ACL库中。接口比较简单,如下:

/**
 * 功能: 创建多级目录结构
 *  如创建 "/tmp/dir1/dir2" (for unix) 或 "C:\\test\\test1\\test2" (for win32)
 * @param path: 一级或多级目录路径
 * @param perms: 创建权限(如: 0755, 0777, 0644 ...)
 * @return == 0: OK;  == -1, Err
 */
ACL_API int acl_make_dirs(const char *path, int perms);

 

  该函数接口在UNIX、WIN32平台下完全一致,只是在WIN32平台下,其中的参数 perms 是无效的,此外,还有一个差别就是在WIN32平台下各级目录分隔符可以为 "/" 或 "\",而在UNIX平台下分隔符则只能为 "/"。

  以下是一个简单的例子:

#include "lib_acl.h"
#include <stdio.h>

static void test_mkdirs(void)
{
    const char *path = "path1\\path2\\path3\\path4";
    int   perms = 0700, ret;

    ret = acl_make_dirs(path, perms);
    if (ret < 0) {
        printf("create path(%s) error(%s)\n", path, acl_last_serror());
    } else {
        printf("create path(%s) ok\n", path);
    }
}

int main(int argc acl_unused, char *argv[] acl_unused)
{
    test_mkdirs();
    return (0);
}
 

 acl 库下载: http://acl.sourceforge.net/

   个人微博:http://weibo.com/zsxxsz

Linux 创建多级目录可以采用两种方法: ### 使用`mkdir`命令 #### 单级目录创建: 最基础的方式是在命令行直接输入 `mkdir 目录名` ,例如 `mkdir testdir`。 #### 多级目录创建: 为了创建多级目录,需要逐层递进地创建。假设我们想要创建一个名为 `example` 的目录,并在其下再创建两个子目录 `level1` 和 `level2`,则可以按照以下步骤操作: 1. 首先进入目标目录路径,如果你希望将新目录放在当前目录下的某个位置,则首先进入该目录。 ```bash cd /path/to/current/directory/ ``` 2. 接着,在终端输入 `mkdir level1 level2` 来同时创建两个子目录。这一步会在当前目录下生成 `level1` 和 `level2` 这两个目录。 如果需要进一步向下创建更深层次的目录结构,只需继续添加更多的目录名到 `mkdir` 命令中即可。比如要创建一个更深一层的目录 `subfolder`,可以直接这样做: ```bash mkdir -p example/level1/subfolder ``` 这里 `-p` 参数表示递归创建目录,即会自动创建所有不存在的上层目录。 ### 使用其他工具 除了基本的 `mkdir` 命令外,还可以借助文本编辑器、图形界面文件管理器等工具来创建多级目录。这些工具提供了一种更为直观的交互式体验。 - **文本编辑器**:虽然主要功能不是用于创建目录,但在一些特定环境下,通过脚本或批处理文件,利用编辑器的命令行功能也可以实现批量创建目录的需求。 - **图形界面文件管理器**:如 Nautilus (Ubuntu) 或 Thunar (Xfce),这些工具提供了拖放功能以及方便快捷的“新建”、“复制”和“粘贴”选项,用户可以在文件资源管理器中轻松创建多级目录。 总的来说,Linux 中创建多级目录主要是依赖于命令行操作和文件管理器提供的工具。无论是基于文本还是图形界面,都需要明确路径并按需创建新的目录层级。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值