MacOS, 리눅스, 유닉스 환경 모두에서 사용되는 tar 명령어는
파일 및 디렉토리의 백업, 압축, 이관 작업의 표준 도구입니다.
특히 MacOS는 BSD 기반이므로 GNU 환경의 리눅스와는 약간의 차이가 존재하며,
이를 명확히 이해하고 사용하는 것이 중요합니다.
MacOS에서 사용하는 tar 명령어의 기본 구조부터 주요 옵션을 정리해보았습니다.
🔧 tar 명령어 기본 구조
tar [옵션] [압축파일명] [대상파일 또는 디렉토리]
tar -cvf archive.tar my_folder/
- -c : create (압축 생성)
- -v : verbose (진행 내용 출력)
- -f : file (출력 파일 지정)
✅ MacOS에서 자주 사용하는 tar 옵션
옵션설명비고
-c | 압축 생성 | 필수 옵션 |
-x | 압축 해제 (extract) | 압축 해제 시 사용 |
-v | 상세 출력 (verbose) | 작업 확인에 유용 |
-f | 파일 지정 (file) | .tar 파일명 지정 |
-z | gzip 압축 사용 | .tar.gz, .tgz 생성 가능 |
-j | bzip2 압축 사용 | .tar.bz2 파일 생성 |
-J | xz 압축 사용 | .tar.xz 파일 생성 |
--exclude | 특정 파일/디렉토리 제외 | 백업 시 필수 옵션 |
-C | 압축 해제 경로 지정 | -x와 함께 사용 |
🎯 자주 사용하는 tar 압축 예시 (MacOS 기준)
1. 디렉토리 압축 (gzip 사용)
tar -czvf my_data.tar.gz my_folder/
- -c: 압축 생성
- -z: gzip 사용
- -v: 출력
- -f: 압축 파일명 지정
2. 압축 해제 (gzip)
tar -xzvf my_data.tar.gz
3. 특정 파일 제외하고 압축하기
tar --exclude='*.log' -czvf clean_backup.tar.gz my_project/
4. 다른 경로에 압축 해제하기
tar -xvf backup.tar -C /Users/username/restore/
🔄 MacOS(BSD)와 리눅스(GNU tar)의 차이점
MacOS의 tar는 기본적으로 BSD tar를 사용합니다.
리눅스는 대부분 GNU tar가 기본이기 때문에, 몇 가지 옵션 사용 방식에서 차이가 발생할 수 있습니다.
차이점 | MacOS tar | GNU tar (Linux) |
--checkpoint 지원 | ❌ | ✅ |
--wildcards 패턴 압축 | ❌ | ✅ |
기본 압축 알고리즘 | gzip (별도 옵션 필요) | gzip, bzip2, xz 다양하게 내장 |
호환성 문제 발생 시 | GNU tar 설치 필요 (brew install gnu-tar) | 기본 제공 |
💡 TIP: MacOS에서 GNU tar 기능이 필요하다면, 다음 명령어로 설치하세요.
brew install gnu-tar
이후 gtar 명령어를 통해 GNU 방식으로 tar를 사용할 수 있습니다.
📁 tar와 함께 알아두면 좋은 유닉스 명령어
- gzip, gunzip: 단일 파일 압축/해제
- find, xargs, tar: 조합 사용 시 대량 파일 관리에 유리
- scp, rsync: tar와 함께 원격 백업에 활용
🧠 요약
- MacOS의 tar는 BSD 기반으로 GNU와 차이가 있으니 옵션에 유의해야 함
- 자주 사용하는 옵션 조합은 -czvf, -xzvf, --exclude 등
- 대규모 백업, 전송, 패키징 작업에 최적화된 도구
- 리눅스와 차이 나는 부분은 gnu-tar 설치로 해결 가능
터미널에서의 한 줄 명령어가
수백, 수천 개 파일을 다루는 데 핵심 무기가 될 수 있습니다.
효율적인 개발 환경을 위해 tar 명령어를 제대로 활용해보세요. 💻📦
'프로그래밍 > macOS' 카테고리의 다른 글
Showing All Errors OnlyCommand CompileXIB failed with a nonzero exit code (Xcode (1) | 2024.09.06 |
---|