본문 바로가기
IT/LINUX

리눅스 touch 명령어

by SidePower 2020. 9. 16.

평소 업무에 거의 사용하지 않는게 touch 인거 같아요.

 


제가 사용하는 touch는 업무용 쉘스크립트에는 거의 쓰지 않고
간단한 모니터링용 쉘스크립트에
매번 수행 시작할때 이미 만들어진 기준 파일의
시간을 원하는 시간으로 refresh해서

이 파일보다 예전 날짜의 로그나 파일을 삭제하고 있어요.


그리고
C언어 프로그램을 make를 이용해 컴파일 할때
make는 바로 전 컴파일 이력을 알고 있어서
파일이 수정되지 않으면 컴파일되지 않습니다.


오랜된 소스들을 확인차원에서 컴파일이 잘 되는지
보고 싶을때 touch 소스파일을 이용해서
refresh 해서 해당 소스파일들 현재날짜로 바꾸면 컴파일됩니다.

 

 

음...제가 touch 활용을 안하고 있을수도 있지만 이 정도인거 같네요.ㅋ

touch 로 할수 있는 3가지입니다.
첫째 신규파일 만들기
둘째 파일 시간바꾸기
세째 파일 refresh 하기

touch 사용법 하나씩 볼게요.

첫째 신규파일 만들기


touch 파일                                                        
touch hello.txt                                               
ls -al                                                                    
-rw-rw---- 1 user group 0 날짜 hello.txt


작업 디랙토리에 없는 파일을 간단하게 빈파일로 만듭니다.
빈파일이란 크기가 0 byte 인 파일입니다.

touch -c hello_2.txt                                      
ls -al                                                                    
-rw-rw---- 1 user group 0 날짜 hello.txt

                                                                             


hello_2.txt 가 안보이고 hello.txt만 있조.
-c 옵션은 신규파일을 만들지 않고 존재하는 파일의
시간만 현재시간으로 바꿔요.
파일이 없다면 만들지 않는 옵션입니다.

둘째 파일 시간바꾸기


touch -t YYYYMMDDhhmm 파일
년월일시분까지 바꿀수 있습니다.

 

touch -t 202009160110 hello.txt                         

ls -al                                                                                

-rw-rw---- 1 user group 0 지정된날짜 hello.txt

touch -r 기준파일 대상파일
기준파일의 시간을 그대로 대상파일에 복제합니다.

 


세째 파일 refresh 하기


작업 하시는 디렉토리에 존재라는 파일을 touch 하면

파일의 접근시간(access time)과 변경시간(modification time)

현재 시간으로 설정되며 이전 파일이라도

지금 생성한 최신파일처럼 새로 refresh 됩니다.

감사합니다.

반응형

댓글