본문 바로가기
Old Posts/Java

[Linux] mktemp 명령 사용법 및 예제 - 임시 파일 만들기

by A6K 2021. 6. 8.

Bash 스크립트를 작성하다가 임시로 파일을 만들어서 사용하고 싶은 경우가 있다. 특정 파일 경로를 사용하면 스크립트를 동시에 실행할 경우 파일의 내용이 덮어쓰여지게 된다. 따라서 현재 실행 중인 프로세스에서만 접근할 수 있는 임시 파일을 생성할 필요가 생길 수 있다. 이럴 때 mktemp 명령을 사용하면 편하다.

mktemp 사용법

mktemp 명령은 다음과 같이 사용할 수 있다.

$ mktemp
/tmp/tmp.Jgx8ybtklqk

 

mktemp 명령을 실행하면 /tmp 디렉토리에 임의의 파일이 생성되고 생성된 파일의 이름이 리턴된다. 스크립트 내에서 임시로 사용할 파일을 생성할 때, 이 명령을 사용하고 출력되는 파일 이름을 사용하면 된다.

-d 옵션을 이용해서 임시 디렉토리도 생성할 수 있다.

$ mktemp -d
/tmp/tmp.xVlqkBihX

--suffix 옵션을 이용해서 특정 확장자를 갖는 임시 파일을 생성할 수 있다.

$ mktemp --suffix ".txt"
/tmp/tmp.sux7uxdgtA.txt

이렇게 생성된 파일은 u+rw 퍼미션으로 생성되며 디렉토리는 u+rwx 권한으로 생성된다. (여기애 user mask 값이 적용된다)

만약 특정 패턴의 임시 파일을 생성하고 싶다면 XXXX 를 파일이름에 집어 넣은 다음 mktemp를 호출하면 된다. 예를 들어

$ mktemp test_file_XXX_test.txt

이 명령을 실행하면 3개의 'X' 글자가 임의의 글자로 치환되어 새로운 파일이 생성된다. 예를 들어 'test_file_ixq_test.txt' 이런 파일이 만들어진다.

만약 실제 파일을 생성하지는 않고, 유니트한 파일 이름만을 얻어내고 싶다면 -u 옵션을 추가해서 실행하면 된다.

댓글