Linux에는 Windows C:\Temp
폴더 와 같이 일반적인 표준 임시 디렉토리가 있습니까? 그렇다면 어디에 있습니까? 프로그래밍 방식 으로 tmp
디렉토리 를 찾는 것에 대한 SO 질문을 찾았 지만 XML 구성 파일에서 임시 위치를 미리 설정하고 싶습니다.
C:\Temp
는 확실히 표준이 아닙니다 . Windows 95는 이미를 %TEMP%
가리 켰습니다 C:\WINDOWS\Temp
.
Linux에는 Windows C:\Temp
폴더 와 같이 일반적인 표준 임시 디렉토리가 있습니까? 그렇다면 어디에 있습니까? 프로그래밍 방식 으로 tmp
디렉토리 를 찾는 것에 대한 SO 질문을 찾았 지만 XML 구성 파일에서 임시 위치를 미리 설정하고 싶습니다.
C:\Temp
는 확실히 표준이 아닙니다 . Windows 95는 이미를 %TEMP%
가리 켰습니다 C:\WINDOWS\Temp
.
답변:
파일 시스템 계층 구조 표준 버전 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 Base Specification Issue 7, 환경 변수 는 다음을 언급합니다.
TMPDIR
이 변수는 임시 파일을 만들 장소가 필요한 프로그램에 사용 가능한 디렉토리의 경로 이름을 나타냅니다.
이것은 오래된 질문이므로 오늘 사용할 수있는 다른 옵션이 있습니다. 의존하는 Linux 배포판 systemd
(90 %)은 이제 특정 유형의 임시 파일을 저장하기 위해 $XDG_RUNTIME_DIR
디렉토리 ( XDG Base Directory Specification )를 사용할 수 있습니다. 일반적으로에 있습니다 /run/user/$uid
. 이것은 700
더 나은 보안을 제공 하는 권한이있는 사용자 별 디렉토리입니다 . 이것은 tmpfs
성능을 제공 하는 마운트입니다. 단점은 tmpfs
작은 파일과 소켓을 유지하는 데만 사용해야한다는 것입니다.
나는의 결혼으로보고 /tmp
하고 /var/run
.
Linux 시스템에서 작동하는 단일 임시 디렉토리 이름을 미리 선택할 수 없습니다. 사실, Windows에서도 그렇게 할 수 없습니다. 임시 폴더 에 대한 Wikipedia의 기사에 따르면 Windows의 임시 디렉토리는 환경 변수 TEMP에 의해 결정됩니다. c:\Temp
TEMP를 다른 것으로 설정 한 Windows 시스템에서 임시 디렉토리로 사용하는 경우 XML 파일을 사용하여 임시 디렉토리를 선택하는 모든 프로그램이 실패합니다.
간단히 말해서 시스템 임시 디렉토리는 Windows 및 UNIX와 같은 시스템을 포함하여 내가 아는 모든 최신 운영 체제의 환경에 의해 결정됩니다. 단일 정적 경로를 임시 디렉토리로 설정하면 기본값이 변경되지 않은 경우에만 작동합니다.
어쨌든 일반적인 Linux 시스템의 표준 임시 디렉토리는 /tmp
입니다. 그것은하는 것과 동일합니다 C:\Temp
그것이 의미에서 단지 기본 임시 디렉토리, 보편적 없습니다. /tmp
사용 가능한 경우에도 사용자 (또는 시스템)가 TEMP 환경 변수를 설정 한 경우 해당 변수의 값을 대신 사용해야합니다.
사용자의 홈 디렉토리를 기준으로 임시 디렉토리를 선택하여 작성할 수 있습니다.
TMPDIR
환경 변수를 사용합니다 .
/tmp
임시 변수를 주재 하는가?
초기 질문은 다음과 같습니다. Linux에 표준 임시 디렉토리가 있습니까? 그렇다면 어디에 있습니까? tmp 폴더는 다음 위치에 있습니다. File System / tmp & File System / var / tmp / tmp 내용은 삭제할 수 있습니다- "필요에 따라"다양한 응용 프로그램에 필요한 파일 / 폴더가 무엇인지 알고있는 경우 기초. 필요하지 않은 파일은 대개 해당 시점에서 앱 자체를 용이하게하기 위해 앱에서 다운로드 한 파일이므로 앱이 수행 된 후에는 더 이상 필요하지 않습니다. / var / tmp 폴더는 전혀 건드리지 않아야합니다.
/tmp
보았지만 Linux 표준인지 아니면 일반적인 규칙인지에 대해서는 모호했습니다.