파일을 압축할 때 파일의 생성 시간, 수정 시간, 접근 시간을 포함하는 방법을 알고 계신가요? tar 명령어는 이런 메타데이터를 기본적으로 포함하지만, 좀 더 확실히 하기 위해 몇 가지 옵션을 사용할 수 있습니다. 이번 포스팅에서는 tar 명령어를 사용하여 파일의 시간 정보를 포함하여 압축하는 방법을 알아보겠습니다.
tar 명령어란?
tar는 Tape Archive의 약자로, 여러 파일을 하나의 파일로 묶거나, 묶인 파일을 해제할 때 사용하는 명령어입니다. 주로 백업 및 배포 목적으로 사용됩니다. tar 파일은 일반적으로 .tar 확장자를 가지며, 압축을 추가할 경우 .tar.gz, .tar.bz2 등의 확장자를 사용합니다.
시간 관련 정보란?
파일에는 다음과 같은 시간 정보가 포함됩니다:
- 수정 시간 (mtime): 파일의 내용이 마지막으로 수정된 시간
- 접근 시간 (atime): 파일이 마지막으로 읽힌 시간
- 변경 시간 (ctime): 파일의 속성이나 권한 등이 마지막으로 변경된 시간
tar 명령어로 시간 정보 포함하여 압축하기
기본적으로 tar 명령어는 시간 정보를 포함하여 파일을 압축합니다. 다음 명령어를 사용하면 파일의 시간 정보와 함께 압축할 수 있습니다:
/data/htdocs/web 폴더가 있을경우
tar -cvpzf web.tar.gz /data/htdocs/web
- -c: 새 아카이브 생성
- -v: 처리 과정을 화면에 출력 (선택 사항)
- -p: 파일 권한과 속성을 그대로 보존
- -z: gzip으로 압축
- -f: 아카이브 파일 이름 지정
위 명령어는 /data/htdocs/web를 web.tar.gz로 압축하며, 파일의 시간 정보와 권한을 보존합니다.
압축 해제 시 시간 정보 보존하기
압축 해제 시에도 시간 정보를 유지하려면 다음 명령어를 사용합니다:
tar -xvpzf web.tar.gz
옵션 설명:
- -x: 아카이브 해제
- -v: 처리 과정을 화면에 출력 (선택 사항)
- -p: 파일 권한과 속성을 그대로 보존
- -z: gzip 압축 해제
- -f: 아카이브 파일 이름 지정
이 명령어는 archive.tar.gz를 현재 디렉토리에 해제하며, 파일의 시간 정보와 권한을 그대로 유지합니다.
예제: 특정 파일만 압축하기
특정 파일만 압축하고 싶다면, tar 명령어와 함께 find 명령어를 사용할 수 있습니다. 예를 들어, today_log로 시작하는 모든 파일을 찾아 압축하려면 다음과 같이 합니다:
옵션 설명:
- find ./ -name "* today_log*" -print: 현재 디렉토리에서 today_log 로 시작하는 파일을 찾음
- |: 파이프를 사용하여 find 명령어의 출력을 tar 명령어의 입력으로 전달
- tar -cvpzf web.tar.gz -T -: find 명령어의 출력을 사용하여 파일을 압축
결론
이제 tar 명령어를 사용하여 파일을 압축할 때 시간 정보를 포함하는 방법을 알게 되셨습니다. tar 명령어는 기본적으로 시간 정보를 포함하지만, -p 옵션을 사용하여 파일 권한과 속성을 보존할 수 있습니다. 이 방법을 사용하면 파일의 중요한 메타데이터를 유지하면서 안전하게 압축할 수 있습니다.
이 글이 도움이 되셨다면, 댓글로 알려주시거나 공유해 주세요! 압축 관련 더 많은 팁과 트릭을 다음 포스팅에서 다루겠습니다.
'운영체제 > 리눅스(CentOS)' 카테고리의 다른 글
리눅스 시스템별 버전 확인 방법 (0) | 2024.06.20 |
---|---|
리눅스에서 폴더 용량을 큰 순서대로 나열 (2) | 2024.06.18 |
CentOS7 기존 PHP7.4 삭제 후 PHP 5.4와 CUBRID 드라이버를 설치하고 연결하는 방법 (0) | 2024.05.19 |
find 특정 파일 제외 검색 [find | xargs grep ] (0) | 2021.12.20 |
php 5.3에 phpredis 컴파일설치 (0) | 2021.12.03 |