맨위로가기

임시 파일

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

임시 파일은 운영 체제나 프로그램이 데이터를 일시적으로 저장하기 위해 생성하는 파일이다. 가상 메모리, 프로세스 간 통신, 대용량 데이터 처리 등 다양한 목적으로 사용된다. 운영 체제와 프로그래밍 언어는 고유한 임시 파일 이름을 생성하는 기능을 제공하며, POSIX 시스템에서는 `mkstemp`, `tmpfile` 함수를, 윈도우 시스템에서는 `GetTempFileName` 함수를 사용한다. 프로그램 충돌이나 개발자의 실수로 인해 임시 파일이 삭제되지 않고 축적되어 디스크 공간을 낭비하는 문제가 발생할 수 있으며, 수동 삭제, 운영 체제 클리너, 메모리 기반 파일 시스템 사용 등을 통해 해결할 수 있다.

더 읽어볼만한 페이지

  • 파일 시스템 - 부트 섹터
    부트 섹터는 시스템 부팅 코드를 담은 저장 매체의 특정 영역으로, 볼륨 부트 레코드(VBR)와 마스터 부트 레코드(MBR)로 나뉘며, BIOS는 이를 실행하고 UEFI는 부트로더를 직접 로드하지만 바이러스 공격에 취약하다.
  • 파일 시스템 - ZFS
    ZFS는 Jeff Bonwick 등이 설계하고 구현한 파일 시스템으로, 데이터 무결성, 스냅샷, RAID-Z 등의 기능을 제공하며, 썬 마이크로시스템즈에서 개발되어 OpenZFS 프로젝트를 통해 다양한 운영체제에서 사용된다.
임시 파일
파일 정보
텍스트 문서 아이콘
텍스트 문서 아이콘
일반 정보
종류파일 형식
확장자.tmp
.temp
기술 정보
사용 목적임시 데이터 저장
관련 프로그램운영체제, 응용 프로그램
특징자동 생성 및 삭제
데이터 손실 방지
시스템 리소스 관리
상세 정보
설명임시 파일(臨時파일, 영어: temporary file)은 데이터를 보관하기 위해 응용 프로그램이 만드는 파일이다.
목적데이터 손실을 방지하거나
큰 파일을 편집할 때 메모리 공간을 확보하거나
프로그램 간의 데이터 교환을 용이하게 하는 데 사용됨.
생성 시기프로그램 실행 중
삭제 시기프로그램 종료 시
시스템 재시작 시
일정 시간이 지난 후
위치운영체제 지정 임시 폴더
응용 프로그램 지정 폴더
주의 사항중요한 정보를 임시 파일에 저장하지 않도록 주의해야 함.
불필요한 임시 파일은 주기적으로 삭제하여 디스크 공간을 확보하는 것이 좋음.
활용 예시
문서 편집기자동 저장 기능을 위한 임시 파일 생성
예기치 않은 종료 시 데이터 복구
웹 브라우저캐시 파일 저장
다운로드 임시 파일 저장
운영체제스왑 파일 생성 (메모리 부족 시 디스크 공간 활용)
시스템 업데이트 임시 파일 저장

2. 목적

임시 파일은 프로그램이 실행되는 동안 대량의 데이터를 처리하기 위한 추가적인 저장 공간으로 사용되거나[1], 여러 프로그램 간에 데이터를 주고받는 간단한 방법으로 활용된다.

2. 1. 보조 기억 공간

현대의 운영 체제는 가상 메모리 기능을 통해 주 기억 장치(RAM)가 부족할 때 보조 기억 장치의 일부 공간을 활용한다. 하지만 비디오 편집과 같이 한 번에 매우 많은 양의 데이터를 다루는 프로그램은 가상 메모리만으로는 부족하여 추가적인 작업 공간이 필요할 수 있다. 이런 경우, 프로그램은 처리 중인 데이터를 임시 파일 형태로 보조 기억 공간에 생성하여 작업을 수행한다.

2. 2. 프로세스 간 통신

대부분의 운영 체제는 프로그램 사이에 데이터를 전달하기 위해 파이프, 소켓, 공유 메모리와 같은 기본적인 기능을 제공한다. 하지만 때로는 데이터를 임시 파일에 저장하고, 데이터를 받을 프로그램에게 해당 파일의 위치를 알려주는 방식이 더 간단할 수 있다. 특히 유닉스 철학을 따르는 프로그램에서 이러한 방식을 사용하는 경우가 많다.

3. 생성

운영 체제와 프로그래밍 언어는 일반적으로 고유한 임시 파일 이름을 얻기 위한 기능을 제공한다. 이를 통해 프로그램 실행 중 임시 데이터를 저장할 파일을 안전하게 생성하고 관리할 수 있다.

임시 파일을 생성하는 방식은 다양하며, 특정 함수를 사용하면 프로그램이 종료되거나 파일이 닫힐 때 자동으로 삭제되도록 할 수 있다. 반면, 프로그램 실행이 끝난 후에도 파일이 유지되어야 하는 경우에는 다른 함수를 사용하여 임시 파일 이름을 생성할 수 있다. 구체적인 파일 생성 방법이나 기본 저장 위치는 POSIX 호환 시스템이나 윈도우와 같은 운영 체제 환경에 따라 다르다.

3. 1. POSIX 시스템

POSIX 시스템에서는 mkstemp 또는 tmpfile 라이브러리 함수를 사용하여 임시 파일을 안전하게 생성할 수 있다. 일부 시스템은 과거 POSIX 표준이었으나 현재는 제거된 mktemp 프로그램을 제공하기도 한다. 이러한 파일은 일반적으로 표준 임시 디렉토리인 /tmp에 위치한다.

tmpfile 함수로 생성된 임시 파일은 프로그램이 종료되거나 파일이 닫힐 때 자동으로 삭제된다. 생성한 프로그램의 실행이 끝난 후에도 유지되어야 하는 임시 파일 이름을 생성하려면 tmpnam 함수를 사용할 수 있다.

3. 2. 윈도우 시스템

윈도우 시스템에서는 운영 체제나 프로그래밍 언어가 고유한 임시 파일 이름을 얻는 기능을 제공한다. 윈도우에서는 GetTempFileName(...) 함수를 사용하여 임시 파일 이름을 생성할 수 있다. 이렇게 생성된 임시 파일은 일반적으로 각 사용자의 로그인 환경에 따라 다른 %TEMP% 환경 변수로 지정된 디렉토리에 저장된다.

GetTempFileName(...) 함수로 생성된 파일은 생성한 프로그램이 종료된 후에도 유지될 수 있다는 특징이 있다.

4. 문제점

프로그램 실행 중 충돌이 발생하거나 개발자의 실수 등으로 인해 임시 파일이 제때 삭제되지 않고 시스템에 남는 경우가 발생한다. 이러한 파일들이 쌓이면 저장 공간을 낭비하는 문제로 이어질 수 있다.

4. 1. 임시 파일 축적

일부 프로그램은 임시 파일을 만든 후 삭제하지 않고 그대로 두기도 한다. 이는 프로그램이 충돌하거나 개발자가 프로그램 작업 완료 후 임시 파일을 삭제하는 코드를 누락하는 등의 이유로 발생할 수 있다. 이렇게 남겨진 임시 파일은 시간이 지나면서 쌓여 디스크 공간을 많이 차지하게 될 수 있다.

임시 파일은 사용자가 직접 수동으로 삭제할 수 있다. 또한, 운영 체제는 시스템을 재부팅할 때 임시 디렉터리를 자동으로 정리하기도 하며, 일정 시간 동안 접근하지 않은 파일을 제거하는 '클리너' 스크립트를 포함하기도 한다. tmpfs와 같이 메모리를 기반으로 하는 파일 시스템의 경우, 재부팅 시 파일 내용이 보존되지 않으므로 임시 파일이 남지 않는다.

4. 2. 해결 방안

임시 파일은 사용자가 직접 수동으로 삭제할 수 있다. 운영 체제는 재부팅할 때 임시 디렉터리를 자동으로 정리하기도 하며, 일정 시간 동안 접근하지 않은 파일을 제거하는 "클리너" 스크립트를 사용하기도 한다. 또한, tmpfs와 같은 메모리 기반 파일 시스템은 재부팅 시 자동으로 파일이 삭제되는 특징을 가진다.


본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com