[Linux] 리눅스 touch 명령어 사용법 , 리눅스 빈 파일 생성하는 법, 파일 시간 수정하는 법

touch 명령어

리눅스에서 touch 명령어를 사용하면 빈 파일을 생성하거나 파일의 여러 가지 시간을 수정할 수 있다.

 

$ touch [옵션] [파일명]

 

위와 같이 사용할 수 있다.

 

만약 [파일명]이 존재하지 않는다면 용량이 0인 빈 파일을 생성한다.

[파일명]이 존재한다면 파일의 시간을 수정한다. 이때 별도의 옵션을 설정하지 않으면 atime, mtime이 변경된다.

 

 

참고) 리눅스의 atime, ctime, mtime 설명

  • atime : 최종 접근 시간 (File Access Time)으로 파일에 마지막으로 접근한 시간을 뜻한다. 
  • ctime : 최종 변경 시간(File Change Time)으로 inode가 변경될 때(파일 권한 수정, 파일 소유자 변경, 하드 링크 생성 등 파일의 속성이 변할 때) ctime도 변경된다. 
  • mtime : 최종 수정 시간 (File Modify Time)으로 파일의 내용이 마지막으로 수정될 때 변경된다. 파일의 내용이 변하는 것은 파일의 속성이 변하는 것과 같으므로 ctime 값도 함께 변경된다.

 

 

자주 사용하는 옵션

  • -a : atime 만 현재 시간으로 수정한다.
  • -c : [파일명]의 파일이 없더라도 파일을 생성하지 않는다.
  • -d : atime과 mtime을 지정한 시간으로 변경한다. 
  • -m : mitme만 현재 시간으로 수정한다. 
  • -r [파일명 A] [파일명 B] : [파일명 A] 파일의 atime 및 mtime을 [파일명 B] 파일에 반영한다.
  • -t : atime과 mtime을 지정한 시간으로 변경한다. -d 옵션과 시간 형식이 다르다.

참고로 어떤 옵션을 쓰더라도 ctime은 현재시각으로 변경된다.

 

 

예시

touch 명령어
[그림 1] touch

 

touch text.txt 명령어로 text.txt라는 빈 파일을 생성했다. 파일 크기가 0인 것을 확인할 수 있다.

 

touch 파일명 존재
[그림 2] touch 파일명 존재

 

해당 파일이 존재할 때 touch 명령어를 사용하면 atime, ctime, mtime이 모두 변경된 것을 확인할 수 있다.

stat 명령어로 파일의 상태를 살펴보면 Access 항목이 atime, Modify가 mtime, Change가 ctime을 나타낸다.

 

 

touch -a 

touch -a
[그림 3] touch -a

-a 옵션을 사용하면 atime을 현재 시각으로 수정할 수 있다. 물론 ctime도 현재 시간으로 수정된다.

 

 

touch -d 

touch -d
[그림 4] touch -d

 

-d 옵션을 사용하면 atime과 mtime을 원하는 시간으로 수정할 수 있다. 

ctime은 현재 시간으로 수정된다.

 

 

 

touch -m

touch -d
[그림 5] touch -d

 

-d 옵션을 사용하면 mtime만 현재 시간으로 수정할 수 있다. 

ctime은 현재 시간으로 수정된다.

 

 

touch -r

touch -r
[그림 6] touch -r

-r 옵션을 사용하면 text2.txt의 atime과 mtime을 text.txt의 시간을 반영할 수 있다. 

ctime은 마찬가지로 현재시간으로 수정된다.

 

 

touch -t 

touch -t
[그림 7] touch -t

 

-t 옵션은 -d 옵션과 동일하게 atime과 mtime을 원하는 시간으로 수정할 수 있지만 시간 형식이 다르다.

yymmddHHMM.SS 형식이다. 역시 ctime은 현재시간으로 수정된다.

 

반응형

댓글

Designed by JB FACTORY