< 9월 19일 실습 문제 >
1. access() 명령을 이용하여 “data1"이라는 이름의 파일이 존재하는지, 존재한다면 사용자에 의한 읽 기와 쓰기가 모두 가능한 파일인지를 알아보는 프로그램을 작성하시오.
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>
int main(){
struct stat buf;
if(access("data1", F_OK)==0){
if(access("data1", R_OK| W_OK)==0){
printf("읽고 쓰기 가능한 파일입니다.");
}else{
printf("권한이 없습니다.");
}
}
else{
printf("파일이 존재하지 않습니다.");
}
return 0;
}
2. scanf()로 두 개의 문자열을 입력받은 후, link() 명령을 사용하여 기존 file에 새로운 link를 만드는 프로그램을 작성하시오. Shell 상에서 이 프로그램을 실행시켜, “p1.c" 파일에 ”abc"라는 이름의 새로운 link를 생성한 후, ls -l 명령을 이용하여 link를 확인하시오.
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>
int main(){
char name1[100], name2[100];
scanf("%s %s", name1, name2);
link(name1, name2);
return 0;
}
< 출력 결과 >
3. scanf()로 두 개의 문자열을 입력받은 후, symlink() 명령을 사용하여 기존 file에 symbolic link를 만 드는 프로그램을 작성하시오. Shell 상에서 이 프로그램을 실행시켜, “p1.c" 파일에 ”def"라는 이름의 새로운 symbolic link를 생성한 후, ls -l 명령을 이용하여 symbolic link를 확인하시오. link와 symbolic link의 차이를 확인 해 봅니다.
< 9월 21일 실습 문제 >
'UNIX 프로그래밍' 카테고리의 다른 글
[8주차 개념] 메모리 매핑 (0) | 2023.11.10 |
---|---|
[7주차 개념] 시그널 (0) | 2023.11.10 |
[3주차 실습] UNIX 실습 문제 (0) | 2023.10.22 |
[2주차 실습] UNIX 실습 문제 (1) | 2023.10.22 |
[1주차 실습] UNIX 실습 문제 (0) | 2023.10.15 |
댓글