현재디렉토리의 숨김파일 포함 압축

2021. 3. 1. 15:35IT/S . e . v . e . r . I . n . f . r . a

unix 에서는, 파일명의 맨 앞에 마침표(.)가 있으면 히든파일 즉 숨겨진 파일이 됩니다.
예를 들면 "env.prd"는 숨김파일이 아니지만 ".env.prd"는 숨김파일이 됩니다.

요새는 github 같은 형상관리툴을 사용해서 디플로이를 하기 때문에 사용빈도가 많이 줄었습니다만
작은 환경이나 이전 환경에서는 파일을 압축하여 업로드하여 서버상에서 압축을 풀어 적용하는 방법이 많이 쓰였습니다.

이런 개발 환경에서는 환경변수나 숨김파일을 같이 서버에 업로드해야 할 경우가 있는데
이때 파일을 압축하는 방법에 따라 현재 디렉토리의 숨김파일이 포함되거나 되지 않게 됩니다.

자 그럼 예제를 보며 확인을 해보도록 합시다.

 

절대경로가 아닌 상대경로로 압축을 하게 될 때 보통 아래와 같은 명령어로 파일을 압축하게 됩니다.
그러나 아래 커맨드로는 서브 디렉토리의 숨김파일은 포함되지만 현재 디렉토리의 숨김파일은 포함 되지 않게 됩니다.

# tar cvfpz 압축파일이름 *

 

- 압축파일내용

index.html
header.html
subdir_1/file1.html
subdir_1/.file1.html

 

이런 경우 아스테리스크(*)를 사용하지 말고 아래와 같이 현재 디렉토리의 의미인 닷(.)으로 압축을 하자.
아래 커맨드를 실행하면 현재 디렉토리의 숨김파일뿐 아니라 서브 디렉토리의 숨김파일도 모두 포함된다.

# tar cvfpz 압축파일이름 .

 

- 압축파일내용

./.env.prd
./index.html
./header.html
./subdir_1/file_1.html
./subdir_1/.file_1.html