
Linux에는 Windows C:\Temp
폴더와 같이 일반 용도로 사용할 수 있는 표준 임시 디렉터리가 있습니까? 그렇다면 어디에 위치해 있나요? 나는 찾았다tmp
프로그래밍 방식으로 디렉토리를 찾는 것에 대한 SO 질문, 하지만 XML 구성 파일에 미리 임시 위치를 설정하고 싶습니다.
답변1
그만큼파일 시스템 계층 표준버전 3.0은 다음과 같이 말합니다.
/tmp : 임시 파일
임시 파일이 필요한 프로그램에 대해 디렉토리
/tmp
를 사용할 수 있어야 합니다.
/tmp
프로그램은 프로그램 호출 사이에 의 파일이나 디렉터리가 보존된다고 가정해서는 안 됩니다 .이론적 해석
IEEE 표준 POSIX.1-2008에는 위 섹션과 유사한 요구 사항이 나열되어 있습니다. 에 저장된 데이터는
/tmp
사이트별로 삭제될 수 있지만/tmp
시스템이 부팅될 때마다 에 있는 파일과 디렉터리를 삭제하는 것이 좋습니다.FHS는 역사적 선례와 일반적인 관행을 바탕으로 이 권장 사항을 추가했지만 시스템 관리가 이 표준의 범위에 속하지 않기 때문에 이를 요구 사항으로 만들지 않았습니다.
/var/tmp : 시스템 재부팅 사이에 보존되는 임시 파일
이
/var/tmp
디렉토리는 시스템 재부팅 사이에 보존되는 임시 파일이나 디렉토리가 필요한 프로그램에 사용할 수 있습니다. 따라서 에 저장된 데이터는/var/tmp
에 저장된 데이터보다 더 영구적입니다/tmp
.
/var/tmp
시스템이 부팅될 때 에 있는 파일과 디렉터리를 삭제하면 안 됩니다. 에 저장된 데이터는/var/tmp
일반적으로 사이트별 방식으로 삭제되지만 삭제 간격은 에서보다 덜 빈번하게 발생하는 것이 좋습니다/tmp
.
또한Open Group 기본 사양 문제 7, 환경 변수다음을 언급합니다.
TMPDIR
이 변수는 임시 파일을 생성할 장소가 필요한 프로그램에 사용할 수 있는 디렉토리의 경로 이름을 나타냅니다.
체계화된이것에 대해서도 말할 수 있습니다 :
/tmp/
그리고/var/tmp/
Linux 시스템이 임시 파일을 위해 제공하는 두 개의 누구나 쓸 수 있는 디렉터리입니다. 전자는 일반적으로 켜져 있습니다.tmpfs따라서 RAM/스왑으로 지원되며 재부팅할 때마다 플러시됩니다. 후자는 일반적으로 적절하고 지속적인 파일 시스템이므로 물리적 저장소의 지원을 받습니다. 이는 다음을 의미합니다.
/tmp/
더 작고 크기가 제한된 파일에만 사용해야 합니다./var/tmp/
다른 모든 용도로 사용해야 합니다.부팅 주기 동안 유지되는 데이터는
/tmp/
.
$TMPDIR
환경 변수가 설정된 경우 해당 경로를 사용하고 직접 사용/tmp/
하거나 사용하지 마십시오/var/tmp/
.보다파일 계층 구조(7)Linux 시스템의 이 두 디렉터리(그리고 대부분의 다른 디렉터리)에 대한 자세한 내용은
경로는 다음을 사용하여 쿼리할 수 있습니다.시스템 경로:
$ systemd-path temporary
/tmp
$ systemd-path temporary-large
/var/tmp
답변2
이것은 오래된 질문이므로 오늘은 다른 옵션을 사용할 수 있습니다. systemd
(90%) 에 의존하는 Linux 배포판은 이제 $XDG_RUNTIME_DIR
디렉토리(XDG 기본 디렉토리 사양) 특정 유형의 임시 파일을 저장합니다. 일반적으로 에 위치해 있습니다 /run/user/$uid
.
700
이것은 파일을 비공개 로 유지하는 사용자별 디렉터리입니다.tmpfs
뛰어난 성능을 갖춘 마운트(RAM 드라이브라고도 함) 입니다.- 자동으로 정리됩니다
단점은 tmpfs
작은 파일(PID 파일, 잠금 파일, 소켓 등)을 저장하는 데에만 사용해야 한다는 것입니다.
답변3
답변4
초기 질문은 다음과 같습니다. Linux에는 표준 임시 디렉토리가 있습니까? 그렇다면 어디에 위치해 있나요? tmp 폴더는 다음 위치에 있습니다: File System/tmp & File System/var/tmp /tmp 내용은 삭제될 수 있습니다. - "필요에 따라" 다양한 앱에 어떤 파일/폴더가 필요하거나 필요하지 않은지 알고 있는 경우 기초. 필요하지 않은 파일은 일반적으로 해당 시점에만 앱 자체를 활성화하기 위해 앱에서 다운로드한 파일이므로 앱이 실행된 후에는 더 이상 필요하지 않습니다. /var/tmp 폴더는 절대 건드리지 마세요.