linux删除文件夹下所有内容

linux 下面 删除文件夹下的所有内容,忘了是在哪里找到的原型,自己又改了改,现在是完全可以用的。

//判断是否为目录
bool is_dir(const char *path)
{
    struct statstatbuf;
    if(lstat(path,&statbuf) ==0)
    {
        return S_ISDIR(statbuf.st_mode) != 0;
    }
    return false;
}

//判断是否为常规文件
bool is_file(const char *path)
{
    struct statstatbuf;
    if(lstat(path,&statbuf) ==0)
        return S_ISREG(statbuf.st_mode) != 0;
    return false;
}

//判断是否是特殊目录
bool is_special_dir(const char *path)
{
    return strcmp(path, ".")== 0 || strcmp(path, "..") == 0;
}

//生成完整的文件路径
void get_file_path(const char *path, const char *file_name,  char *file_path)
{
    strcpy(file_path,path);
    if(file_path[strlen(path) - 1] != '/')
        strcat(file_path, "/");
    strcat(file_path,file_name);
}

void delete_file(const char *path)
{
        DIR *dir;
        dirent *dir_info;
        char file_path[PATH_MAX];
        if(is_file(path))
        {
                remove(path);
                return;
        }
        if(is_dir(path))
        {
                if((dir = opendir(path)) ==NULL)
                        return;
                while((dir_info =readdir(dir)) != NULL)
                {
                        if(is_special_dir(dir_info->d_name))
                                continue;
                        get_file_path(path, dir_info->d_name, file_path);
                        if(is_dir(file_path))
                        {
                                delete_file(file_path);
                                rmdir(file_path);
                        }
                        elseif(is_file(file_path))
                        {
                        remove(file_path);
                        }
                }
                closedir(dir);//关闭目录
        }
}

### 回答1: 在 Linux 系统中,可以使用 "rm -r" 命令来删除文件夹及其中的所有内容。 例如,如果要删除名为 "myfolder" 的文件夹及其中的所有内容,可以使用以下命令: ``` rm -r myfolder ``` 请注意,这将删除整个文件夹及其中的所有文件和子文件夹,并且不会有任何提示。因此,在执行此命令之前,应该确保已经备份了需要保留的文件。 ### 回答2: 要在Linux删除一个文件夹下的所有文件,可以使用"rm -r"命令。该命令将递归地删除指定文件夹下的所有文件和子文件夹。 例如,如果我们要删除名为"folder"的文件夹中的所有文件,可以在终端中执行以下命令: ``` rm -r folder ``` 执行该命令后,系统会提示你确认是否要删除每个文件及子文件夹。你可以输入"y"来确认删除,或者输入"n"来取消删除。 请注意,在执行此命令时要非常小心,确保你要删除文件夹和其内容是你想要删除的。因为一旦删除文件无法恢复。 另外,如果你以root用户身份登录,你可以使用"rm -rf"命令,在不提示确认的情况下强制删除文件夹及其内容。但同样要谨慎使用此命令,因为它将不可逆转地删除文件夹和所有文件。 ### 回答3: 在Linux中,要删除一个文件夹下的所有文件,可以使用命令"rm -rf"。下面是具体的步骤: 1. 打开终端,进入要删除文件夹所在的目录。可以使用cd命令来切换目录。 例如,如果要删除根目录下的一个名为"test"的文件夹,可以输入命令 "cd /" 切换到根目录,然后输入命令 "cd test" 进入文件夹。 2. 输入命令 "ls" 来查看文件夹中的所有文件文件夹,确保要删除文件夹下没有重要的文件。 3. 输入命令 "rm -rf 文件夹名" 来递归删除文件夹下的所有文件和子文件夹。 例如,如果要删除名为"test"的文件夹及其内容,可以输入命令 "rm -rf test"。 请注意,这个命令非常强大,会不加确认地删除文件夹下的所有文件文件夹,无法恢复。因此,在使用这个命令之前,请三思而后行,确保你不会不小心删除错误的文件夹。 另外,删除操作具有风险,请谨慎操作并确保自己有足够权限执行该操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值