홈 › 리눅스 명령어 › 07 / 10

압축·아카이브·검색 (tar·gzip·find)

섹션 7진행 0 / 10

5. 자주 하는 실수 (Tip)

❌ 실수 1: tar 인자 순서를 바꾼다

tar czf app app.tgz 는 app 이라는 파일을 만들려 합니다. ✅ f 바로 뒤가 결과 파일이고 그다음이 대상입니다.

❌ 실수 2: 풀리는 경로를 안 보고 tar xzf 한다

현재 폴더에 파일 수백 개가 흩어지거나 기존 파일을 덮습니다. ✅ tar tzf 로 경로를 먼저 보고 -C 로 빈 폴더에 풉니다.

❌ 실수 3: 절대 경로로 묶는다

tar czf x.tgz /opt/myapp 은 풀 때 /opt/myapp 에 덮어쓰려 합니다. ✅ -C /opt myapp 처럼 상대 경로로 묶습니다.

❌ 실수 4: gzip 이 원본을 지우는 것을 모른다

gzip big.log 뒤 원본이 사라져 당황합니다. ✅ 원본이 필요하면 -k 입니다. 압축 뒤에는 zcat·zgrep 으로 읽으면 됩니다.

❌ 실수 5: 열려 있는 로그를 압축한다

앱이 쓰는 중인 파일을 gzip 하면 이후 로그가 사라지거나 파일이 깨집니다. ✅ 날짜가 지난 파일만 대상으로 하고 현재 파일은 운영 묶음 06 의 copytruncate 로 돌립니다.

❌ 실수 6: grep -r 을 루트에서 돌린다

/proc 과 바이너리까지 훑어 몇 분씩 걸립니다. ✅ 폴더를 좁히고 --include 로 확장자를 제한합니다.

❌ 실수 7: 체크섬 없이 반입한다

잘린 jar 로 배포해 ZipException 이 납니다. ✅ 반출 측 sha256sum > 파일, 반입 측 sha256sum -c 입니다.

❌ 실수 8: zip 으로 권한을 보존하려 한다

zip 은 리눅스 권한과 링크를 잃습니다. ✅ 리눅스끼리는 tar 를 쓰고 zip 은 Windows 와 주고받을 때만 씁니다.

❌ 실수 9: split 조각을 순서 없이 합친다

cat part_ab part_aa 처럼 순서가 틀리면 깨집니다. ✅ cat part_* 글로브가 이름순이라 안전합니다. 합친 뒤 체크섬을 봅니다.

❌ 실수 10: 백업 파일 이름에 날짜를 안 넣는다

같은 이름으로 덮어써 이전 백업이 사라집니다. ✅ $(date +%Y%m%d_%H%M%S) 를 이름에 넣고 -mtime +N -delete 로 정리합니다.