Linux下批量创建文件夹

检测文件是否存在

这里的文件包含普通文件或者是目录文件,下面是CentOS 7环境下的测试.

cpp 复制代码
#include <sys/stat.h>
#include <unistd.h>
#include <iostream>

int main()
{
  int ret = access("../lesson01/file.txt", F_OK);
  if (ret == 0)
  {
    std::cout << "存在" << std::endl;
  }
  else
  {
    std::cout << "不存在" << std::endl;
  }
  return 0;
}
shell 复制代码
[qkj@Qkj lesson01]$ ll
total 4
-rw-rw-r-- 1 qkj qkj 261 Aug 30 10:18 test.cc
[qkj@Qkj lesson01]$ 
[qkj@Qkj lesson01]$ g++ test.cc 
[qkj@Qkj lesson01]$ ./a.out 
不存在
[qkj@Qkj lesson01]$ 

说一下access函数,这是一个检测文件是否存在的函数,我们这里只是简绍,详细的函数明细看man手册

  • pathname: 文件名(注意带上路径,可以是绝对路径,也可以是相对的)
  • mode : 直接设为F_OK,仅仅是为了检测文件是否存在
cpp 复制代码
NAME
       access - check real user's permissions for a file

SYNOPSIS
       #include <unistd.h>

       int access(const char *pathname, int mode);

创建目录

这里也说一下我们在CentOS 7环境下下如何创建目录.

cpp 复制代码
NAME
       mkdir - make a directory

SYNOPSIS
       #include <sys/stat.h>

       int mkdir(const char *path, mode_t mode);

参数解释

  • path: 目录名,带路径
  • mode:目录的权限,可以使用八进制

下面是代码演示

cpp 复制代码
#include <sys/stat.h>
#include <unistd.h>
#include <iostream>
#include <string>

int main()
{
  umask(2);
  std::string str = "../lesson";
  for (int i = 1; i < 27; i++)
  {
    std::string s = str;
    if (i < 10)
      s += '0';
    s += std::to_string(i);
    int ret = access(s.c_str(), F_OK);
    if (ret == 0)
    {
      std::cout << s << " 存在" << std::endl;
    }
    else
    {
      mkdir(s.c_str(), 0777);
    }
  }

  return 0;
}
相关推荐
冷色调的咖啡师几秒前
4.大数据高可用
大数据·linux·hadoop·hdfs·zookeeper·yarn
jimy19 分钟前
Gemini cli搜索文件find、grep的例子
linux·服务器
冷色调的咖啡师15 分钟前
1.大数据架构技术 上——搭建分布式Hadoop集群
大数据·linux·hadoop·分布式·hdfs·架构·yarn
信创工程师-小杨18 分钟前
OpenEuler系统如何升级OpenSSh10.3P1版本
linux·运维·服务器
2601_9611940219 分钟前
27考研刘晓燕资源
linux·sql·ubuntu·华为·pdf·.net
拾光Ծ2 小时前
【Linux网络】计算机网络入门:网络产生与协议
linux·网络·网络协议·tcp/ip·计算机网络
9分钟带帽9 小时前
linux_系统开机自动执行shell脚本
linux·服务器
嵌入式小能手11 小时前
飞凌嵌入式ElfBoard-进程间的通信之命名管道
linux·服务器·算法
AOwhisky11 小时前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
Starry-sky(jing)12 小时前
# Linux 下 Qt 应用无障碍自动化:记一次wx无人值守系统的架构演进
linux·qt·自动化