怎么删除某个目录下所有文件

怎么删除某个目录下所有文件,第1张

使用rm -r /var/www/html/test 这样删除/var/www/html/test这个目录及其子目录;

rm remove删除的意思

参数-r recursive递归的意思

递归删除代表删除指定目录及目录下的文件夹;

如果要忽视错误可以使用 rm -rf /var/www/html/test

但是这样的命令慎用,防止误删除尤其在根目录root权限运行这样的命令。

#include<stdio.h>

#include<stdlib.h>

typedef struct node

{

char data

struct node* next

}Lnode

Lnode *head=NULL

Lnode *tail=NULL

void create()

{

head = (Lnode*)malloc(sizeof(Lnode))

tail = head

if(head!=NULL)

{

printf("please input data: ")

scanf(" %c",&head->data)

head->next=NULL

}

}

void delFirst(Lnode *pre ,Lnode *ptr,char x) //递归删除第一个 = x

{

if(ptr==NULL)

return

if(pre==NULL &&ptr->data == x)

{

head=ptr->next

ptr->next = NULL

free(ptr)

ptr=NULL

return

}

if(pre!=NULL &&ptr->data == x)

{

pre->next = ptr->next

ptr->next = NULL

free(ptr)

ptr = NULL

return

}

pre = ptr

ptr = ptr->next

delFirst(pre,ptr,x)

}

void delAll() //递归删除所有

{

Lnode * tmp=NULL

if(head==NULL)

return

if(head->next!=NULL)

{

tmp = head->next

free(head)

head=tmp

delAll()

}

else

{

free(head)

head=NULL

}

}

void insert()

{

if(tail == NULL)

return

tail->next = (Lnode*)malloc(sizeof(Lnode))

if(tail->next != NULL)

{

printf("please input data: ")

scanf(" %c",&(tail->next->data))

tail=tail->next

tail->next=NULL

}

}

void print()

{

Lnode* tmp =head

if(head==NULL)

printf("no data\n")

while(tmp!=NULL)

{

printf("%c ",tmp->data)

tmp=tmp->next

}

}

void lfree() //非递归删除

{

Lnode* tmp=NULL

while(head!=NULL)

{

tmp=head

head=head->next

free(tmp)

}

}

void main()

{

int i=0

create()

for(i=0i<5i++)

{

insert()

}

delFirst(NULL,head,'1')

print(head)

delAll()

print(head)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7947643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存