rm과 mv 명령어도 만들어 보았다
rm은 unlink 만 해주면 되고
mv는 기존에 만들었던 cp명령어와 rm을 혼합해주면된다 ( 복사후 기존 파일을 지우면 됨)
실행
실행
rm은 unlink 만 해주면 되고
mv는 기존에 만들었던 cp명령어와 rm을 혼합해주면된다 ( 복사후 기존 파일을 지우면 됨)
rm 명령어 (remove.c)
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(int argc, char* argv[])
{
unlink(argv[1]);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(int argc, char* argv[])
{
unlink(argv[1]);
return 0;
}
실행
$./remove filename
mv 명령어 (move.c)
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
int main(int argc, char* argv[])
{
int fd1,fd2;
int r_size,w_size;
char buf[100];
fd1 = open(argv[1], O_RDONLY);
fd2 = open(argv[2], O_RDWR|O_CREAT|O_EXCL, 0664);
r_size = read(fd1,buf,100);
w_size = write(fd2,buf,r_size);
while(r_size == 100)
{
r_size=read(fd1,buf,100);
w_size=write(fd2,buf,r_size);
}
unlink(argv[1]);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
int main(int argc, char* argv[])
{
int fd1,fd2;
int r_size,w_size;
char buf[100];
fd1 = open(argv[1], O_RDONLY);
fd2 = open(argv[2], O_RDWR|O_CREAT|O_EXCL, 0664);
r_size = read(fd1,buf,100);
w_size = write(fd2,buf,r_size);
while(r_size == 100)
{
r_size=read(fd1,buf,100);
w_size=write(fd2,buf,r_size);
}
unlink(argv[1]);
return 0;
}
실행
$./move filename1 filename2