반응형
truncate 명령어
파일의 크기를 지정한 크기로 즉시 변경하는 Linux/Unix 유틸리티입니다.
truncate란?
truncate는 파일의 크기를 지정한 크기로 즉시 변경하는 Linux/Unix 유틸리티입니다. 로그 파일 초기화, 테스트용 더미 파일 생성, 파일 용량 조절 등 다양한 상황에서 유용하게 활용됩니다.
핵심 특징
- 파일 내용 무시: 기존 내용은 유지하지 않고 크기만 조정합니다.
- 크기 축소: 지정 크기보다 큰 부분은 잘립니다.
- 크기 확장: 늘어난 부분은 NULL 바이트(0x00)로 채워집니다.
- 자동 생성: 파일이 없으면 새로 생성할 수 있습니다.
기본 구문
truncate [OPTION]... FILE...
주요 옵션
- -s, --size=SIZE : 파일 크기 지정
- -c, --no-create : 파일이 없으면 생성하지 않음
- -r, --reference=FILE : 참조 파일과 동일한 크기로 설정
SIZE 지정 방식
단위 사용[K = KB(1024 bytes), M = MB, G = GB, T = TB]
- 10MB 크기로 설정
truncate -s 10M file.txt
- 1GB 크기로 설정
truncate -s 1G bigfile.bin
정확한 바이트 지정
- 파일 크기를 정확히 1024바이트로 설정
truncate -s 1024 file.txt
기존 크기 기준 연산
- +SIZE : 기존 크기 + SIZE
- -SIZE : 기존 크기 - SIZE
- %SIZE : SIZE의 배수로 맞춤
상대적 크기 조정
truncate -s +100K file.txt # 100KB 증가
truncate -s -1M file.txt # 1MB 감소
truncate -s %4K file.txt # 4KB 배수로 맞춤
728x90
자주 쓰는 실전 예제
로그 파일 비우기(가장 흔한 용도)
truncate -s 0 /var/log/application.log
- 파일을 삭제하지 않고 크기만 0으로 초기화
- 권한/파일 핸들 유지 → 운영 환경에서 안전
- > file 또는 : > file 보다 명시적이고 가독성 좋음
테스트용 더미 파일 생성
truncate -s 1G dummy.img
- 실제 데이터 없이 1GB 파일 생성
- dd보다 훨씬 빠름
파일 크기 강제 제한
truncate -s 100M large_file.log
- 100MB 초과 데이터 제거
참조 파일과 동일한 크기로 설정
truncate -s -r reference.bin target.bin
파일이 없으면 실패하도록
truncate -c -s 0 maybe_exists.log
- 실수로 새 파일 생성 방지
데이터 복구 불가
cp important.log important.log.backup
truncate -s 0 important.log
- 데이터는 즉시 삭제, 복구 매우 어려움
728x90
반응형
'리눅스' 카테고리의 다른 글
| 우분투 24.04에 단일 노드 Elasticsearch와 Kibana를 설치하는 방법 (0) | 2026.01.09 |
|---|---|
| 우분투 22.04에서 DHCP 서버를 구축하는 방법 (0) | 2026.01.05 |
| MongoDB Extension 버전을 다운그레이드하는 방법 (0) | 2026.01.02 |
| 우분투 22.04에서 root 계정의 비밀번호를 초기화하는 방법 (1) | 2025.12.31 |
| 우분투 24.04에서 NFS 서버를 설치하고 NFS 볼륨을 마운트하는 방법 (0) | 2025.12.23 |