본문 바로가기
UNIX 프로그래밍

[4주차 실습] UNIX 실습 문제

by 서영선 2023. 10. 22.

< 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

댓글