Linux Basic

touch 명령어

별다방체리콕 2024. 2. 20. 11:07

 

 

 

 

 

touch 는 아무것도 없는 빈 파일을 생성하거나 파일의 날짜와 시간을 수정하는 명령어

touch 의 파일명이 이미 존재한다면 서버의 현재 시간으로 파일의 최근 사용한 시간 (access time) 과 최근 변경 시간 (modification time) 을 변경하고 파일명이 존재하지 않는다면 파일의 크기가 0인 빈 파일을 생성

 

 

 

 

 

 

 

touch [옵션][파일명]

# 파일이 없다면 file txt 파일 생성, 있다면 file.txt의 시간 정보 수정
touch file.txt

 

 

 

  1. 수정 할 파일이 존재하지 않는다면 크기가 0인 빈 파일 생성
  2. 수정 할 파일이 존재한다면 해당 파일의 최근 사용한 시간과 최근 변경 시간을 현재 시간으로 수정
  3. 별다른 옵션이 없다면 atime, ctime, mtime 모두 변경

 

 

 

 

 

 

리눅스 타임 스탬프 종류

  • atime : 최종 접근 시간 (access time)
  • ctime : 최종 상태 변경 시간 (change time)
  • mtime : 최종 수정 시간 (modify time)

 

 

 

 

 

 

 

자주 사용하는 옵션

 

-a 현 시간으로 파일의 접근 시간, 변경 시간 수정
-c 기존 파일이 없으면 파일이 생성되지 않음
-m 현재 시간으로 파일의 수정 시간, 변경 시간 수정
-d 지정한 시간으로 접근 시간, 수정 시간이 변경되고 변경시간은 현재 시간으로 수정
-r 지정한 파일의 접근 시간, 수정 시간으로 파일이 수정되고 변경 시간은 현재 시간으로 수정
-t 지정한 시간으로 접근 시간, 수정 시간을 수정하고 변경 시간은 현재 시간으로 수정

 

 

 

 

 

 

 

 

 

여러 파일의 생성 시간을 수정하고 싶을 때

touch [생성 or 수정 대상1] [생성 or 수정 대상2] [생성 or 수정 대상3] .....
touch test1.txt test2.txt test3.txt

# 현재 위치의 모든 파일 수정
touch *

# 현재 위치의 .txt로 끝나는 모든 파일 수정
touch *.txt

 

 

 

위와 같이 한 번의 명령어로 여러 개의 파일을 만들거나 수정할 수 있음

 

 

 

 

 

 

 

 

 

하위 폴더 모두 touch 하고 싶을 때

# 하위 폴더 모두 touch
find . -exec touch {} \;
#또는
find . -print | xargs touch

# 하위 폴더의 jsp만  전부 touch
find . -name '*.jsp' -exec touch {} \;

 

 

 

touch 명령어는 현재 디렉토리에 있는 파일만을 대상으로 하기 때문에 디렉토리 내부의 모든 파일들을 touch 하고 싶다면 위와 같이 사용해야 함

특히 jsp 파일의 경우 import 된 파일이 변경되었다면 import 하고 있는 파일들을 한 번 touch 해줘야 제대로 컴파일 되는 경우들이 있기 때문에 위와 같이 사용함

 

'Linux Basic' 카테고리의 다른 글

alias 명령어  (0) 2024.02.20
tail 명령어  (1) 2024.02.19
ftp 명령어  (1) 2024.02.01
nohup 명령어  (0) 2024.02.01
sed 명령어  (2) 2024.01.25