리눅스 한걸음 5탄 - touch

들어가기에 앞서 제가 리눅스를 공부하면서 참고한 책입니다.
(출처 : 우분투 리눅스 - 한빛미디어 이종원지음)

오늘은 리눅스 명령어 touch에 대해 알아보겠습니다.
오늘 시간부터는 맥 App인 Pages의 표만들기 기능을 활용하여
깔끔하게 정리를 해보겠습니다!!
touch



기능 파일을 생성한다
형식 touch [옵션] [파일]
옵션 -t [파일] : 시간을 직접 입력하여 날짜정보를 변경한다. 
-c [파일] : 현재시간으로 파일 날짜정보를 변경한다.
-r [파일A] [파일B] : 파일B 날짜정보를 파일A 날짜정보와 같게 변경한다.
사용 touch test
touch 명령어는 빈 파일을 새로 생성하거나 파일의 마지막 접근 시간 또는 수정시간을 변경할 수 있습니다. touch에 인자로 주어진 파일이 존재하지 않으면 내용이 없는 빈 파일을 생성합니다.

제가 touch명령어를 linux에서 맥OS에서 사용했을 때 다른 점을 발견했습니다!
먼저 linux에서 touch명령어를 사용해보겠습니다.

1 ) touch touchExample로 빈 파일을 생성한다

2 ) ls -l을 통해 빈 파일의 시간을 확인한다. (파일을 만든 시간입니다)

3 ) touch -t 08301400 touchExample을 입력하여 touchExmaple의 파일의 날짜정보를 변경한다.
(이때 08301400이 의미하는 것은 08.30은 , 1400은 14 00을 의미합니다)

4 ) ls -l을 통해 변경된 파일의 시간을 확인합니다.
(이때 현재 날짜는 2017년 10월 29일이므로 17년 8월 30일로 날짜가 변경이 되었습니다)

5 ) touch -t 12311400 touchExample
이것은 2017년 12월 31일 14:00로 날짜를 변경하라 라는 뜻입니다.

6 ) ls -l을 사용해보니 날짜는 변경되지만 시간은 변경되지않는다는 것을 확인할 수 있습니다.

7 ) touch -t 09311400 touchExample
9월 31일이라는 존재하지 않는 날짜를 입력하니
invalid date format 인식 불가능한 날짜 양식이라고 오류가 뜹니다
마찬가지로 touch -t 09302500라는 존재하지 않는 시간을 입력하니
invalid date format 인식 불가능한 날짜 양식이라고 오류가 뜹니다

즉 우리는 리눅스에서 날짜를 변경할시 
우리가 현실에서 사용하는 시간 양식을 사용해야된다는 것을 알 수 있습니다.

이와 반대로 맥에서는
touch -t 09311400 touchExample과 touch -t 09302500 touchExample같은 
현실에서 사용하지 않는 시간을 입력하더라도
각각 10월 1일 14:00, 10월 1일 01: 00로 변경시켜주는 것을 알 수 있습니다.

 이제 touch -c에 대해 알아보도록 하겠습니다.
touch -c [파일명]을 입력할 경우 파일이 생성되지 않습니다.
미리 touch [파일명]으로 파일을 생성 한뒤
(혹은 이미 존재한 파일들을)
touch -c를 활용해야 newfile이 현재시각으로 날짜정보가 바뀌는 것을 알 수있습니다.

이제 touch -r 에 대해 알아보도록 하겠습니다
touch -t를 사용하여 oldfile을 원하는 시간으로 날짜정보를 바꿉니다.
touch -r oldfile newfile을 사용하면
위와 같이 newfile의 날짜정보가 oldfile의 날짜정보로 변경된 것을 확인 할 수 있습니다.

댓글