¿Linux tiene un directorio temporal estándar para uso general, como la C:\Tempcarpeta de Windows ? Si es así, ¿dónde está ubicado? Encontré una pregunta SO sobre cómo encontrar un tmpdirectorio mediante programación , pero quiero establecer una ubicación temporal en un archivo de configuración XML antes de tiempo.
linux
temporary-files
Estallidos
fuente
fuente

/tmp, pero eran ambiguas sobre si eso es estándar para Linux o simplemente una convención común.C:\Tempes sin duda no estándar. Windows 95 ya tenía%TEMP%apuntando aC:\WINDOWS\Temp.Respuestas:
La versión 3.0 de la jerarquía del sistema de archivos dice:
Además, el número 7 de las especificaciones básicas de The Open Group, Variables de entorno, menciona lo siguiente:
fuente
Esta es una vieja pregunta, así que hoy hay otra opción disponible. Las distribuciones de Linux en las
systemdque se basa (que es el 90% de ellas) ahora pueden usar el$XDG_RUNTIME_DIRdirectorio ( XDG Base Directory Specification ) para almacenar ciertos tipos de archivos temporales. Generalmente se encuentra en/run/user/$uid. Este es un directorio por usuario con700permisos que proporciona una mejor seguridad. Este es untmpfssoporte que proporciona rendimiento. La desventaja de estotmpfses que solo debe usarse para mantener pequeños archivos y sockets.Lo veo como un matrimonio de
/tmpy/var/run.fuente
Sí / tmp es para uso general. Ver aquí y aquí en el estándar de jerarquía del sistema de archivos.
Con algunos detalles más enumerados en el PDF.
fuente
No puede elegir un solo nombre de directorio temporal con anticipación que funcione para cualquier sistema Linux. De hecho, tampoco puedes hacer eso en Windows. Según el artículo de Wikipedia sobre carpetas temporales , el directorio temporal en Windows está determinado por la variable de entorno TEMP. Si simplemente estuviera usando
c:\Tempun directorio temporal en un sistema Windows que configurara TEMP en otra cosa, entonces cualquier programa que use su archivo XML para elegir un directorio temporal fallará.En resumen, el directorio temporal del sistema está determinado por el entorno en todos los sistemas operativos modernos que conozco, incluidos Windows y cualquier sistema similar a UNIX. Establecer una única ruta estática como su directorio temporal solo funcionará mientras no se hayan cambiado los valores predeterminados.
De todos modos, el directorio temporal estándar en un sistema Linux típico es
/tmp. Es el equivalente deC:\Tempen el sentido de que es solo el directorio temporal predeterminado, no universal. Incluso si/tmpestá disponible, si un usuario (o el sistema) ha establecido la variable de entorno TEMP, el valor de esa variable debe utilizarse en su lugar.Puede intentar elegir un directorio temporal relativo al directorio de inicio del usuario, que puede crear.
fuente
TMPDIRvariable de entorno./tmppreside la variable temporal?La pregunta inicial fue: ¿Linux tiene un directorio temporal estándar? Si es así, ¿dónde está ubicado? Las carpetas tmp se encuentran en: Sistema de archivos / tmp y Sistema de archivos / var / tmp El contenido / tmp podría eliminarse, si sabe qué archivos / carpetas son necesarios / no son necesarios para varias aplicaciones en un "según sea necesario" base. Los archivos no requeridos generalmente son aquellos descargados por una aplicación para facilitar la aplicación en ese punto solamente, por lo tanto, no se requieren más después de que la aplicación haya funcionado. La carpeta / var / tmp no debe tocarse en absoluto.
fuente