2017-05-15 4 views
-2

어떻게 execv()를 사용하여이 rm -rf/path/to/directory/*를 쓸 수 있습니까?

This will delete the entire directory

rm -rf /path/to/directory/*이 디렉토리에 모든 것을 제거하는 전체 디렉토리를 삭제하지만 execv()를 사용하여이 명령을 작성하는 방법을 모르겠어요.

+0

[이미지에서 텍스트를 게시하지 않습니다 (https://meta.stackoverflow.com/q/303812/995714). 왜 'unlink' /'unlinkat' (http://pubs.opengroup.org/onlinepubs/9699919799/functions/unlink.html)를 사용하지 않는가? –

+0

죄송합니다, stackoverflow에 새로운입니다. 나는 그것을 올바르게 사용하는 방법을 모른다. – mariusC

+0

같은 것을 구현할 때 보안을 잊지 마십시오. 나는 확실히 /이 명령에 대한 귀하의 서버에 arg로 제공하려고합니다 :) – Drako

답변

0

행운을 빌어 요,

#include <unistd.h> 
#include <stdio.h> 
#include <string.h> 

int main(int argc, char *argv[]) 
{ 

    char *params[4] = {"/bin/rm", "-rf", argv[1]}; 

    int res = execv("/bin/rm" , params);  

    return 0; 
} 
관련 문제