[리눅스] 파일 다루기 실습

유보라·2022년 9월 15일
0

학교 공부

목록 보기
7/7
post-thumbnail

open()

open 함수를 이용하여 단순히 파일을 여는 코드를 작성해보자

$ vim ex_open.c
//파일 작성 후에,
$ gcc ex_open.c -o ex_open
$ ./ex_open

ex_open.c 내용

testfile 파일을 처음 만든 경우,

이미 있는 파일을 열었을 경우,

read() & write()

ex_cp.c 내용

$ vim ex_cp.c

// 내용 작성 후 컴파일
$ gcc ex_cp.c -o ex_cp

// ex_copy.c에는 아무 내용이나 입력해준다.
$ vim ex_copy.c

// ./ex_cp [복사할 파일 이름] [복사될 파일 이름]
$ ./ex_cp ex_copy.c ex_copy.c.copy

썽공

outfile이 이미 존재할 경우 아래와 같이 동작하도록 수정해보자

outfile을 여는 부분을 다음과 같이 수정

결과는

dup()와 dup2()

ex_dup.c 내용

$ vim ex_dup.c

//ex_dup.c 내용 작성 후
$ gcc ex_dup.c -o ex_dup
$ ./ex_dup testfile

결과는!

testfile 내용도 확인해보면

lseek()

#include <unistd.h>

off_t lseek(int filedes, off_t offset, int start_flag);

filedes : lseek()을 수행할 파일

offset : 새롭게 지정할 포인터의 위치(음수가 될 수도 있음)

start_flag: offset의 기준

  • SEEK_SET: 파일의 시작 위치를 기준
  • SEEK_CUR: 파일의 현재 작업 위치를 기준
  • SEEK_END: 파일의 끝을 기준

Makefile 작성하기

매크로를 사용하면 더 편리하게 작성할 수 있음

  • 매크로 사용
    • 정의: VAR=arguments
    • 사용: $(VAR)
  • $@: 출력 파일(target)을 지칭하는 매크로
  • $<: 입력 파일(dependecies)을 지칭하는 매크로

profile
인하대학교 컴퓨터공학과 학생입니다😀

0개의 댓글