O Linux possui um diretório temporário padrão para uso geral, como a C:\Temp
pasta do Windows ? Se sim, onde está localizada? Encontrei uma pergunta SO sobre como localizar um tmp
diretório programaticamente , mas quero definir um local temporário em um arquivo de configuração XML com antecedência.
linux
temporary-files
Pops
fonte
fonte
/tmp
, mas elas eram ambíguas sobre se isso é padrão para Linux ou apenas uma convenção comum.C:\Temp
certamente não é padrão. O Windows 95 já estava%TEMP%
apontandoC:\WINDOWS\Temp
.Respostas:
O sistema de arquivos Hierarchy Standard versão 3.0 diz:
Também, The Open Group Base Specifications Issue 7, Environment Variables menciona o seguinte:
fonte
Esta é uma pergunta antiga, hoje existe outra opção disponível. As distribuições Linux em
systemd
que se baseia (90% delas) agora podem usar o$XDG_RUNTIME_DIR
diretório ( XDG Base Directory Specification ) para armazenar certos tipos de arquivos temporários. Geralmente está localizado em/run/user/$uid
. Este é um diretório por usuário com700
permissões que fornece melhor segurança. Esta é umatmpfs
montagem que fornece desempenho. A desvantagemtmpfs
é que ele só deve ser usado para manter pequenos arquivos e soquetes.Eu vejo isso como um casamento de
/tmp
e/var/run
.fonte
Sim / tmp é para uso geral. Veja aqui e aqui No padrão de hierarquia do sistema de arquivos.
Com mais alguns detalhes listados no PDF.
fonte
Você não pode escolher com antecedência um único nome de diretório temporário que funcione para qualquer sistema Linux. De fato, você também não pode fazer isso no Windows. De acordo com o artigo da Wikipedia sobre pastas temporárias , o diretório temporário no Windows é determinado pela variável de ambiente TEMP. Se você estivesse simplesmente usando
c:\Temp
como um diretório temporário em um sistema Windows que configurasse o TEMP para outra coisa, qualquer programa que usasse seu arquivo XML para escolher um diretório temporário falharia.Em resumo, o diretório temporário do sistema é determinado pelo ambiente em todos os sistemas operacionais modernos que eu conheço, incluindo o Windows e qualquer sistema semelhante ao UNIX. Definir um único caminho estático como seu diretório temporário funcionará apenas enquanto os padrões não tiverem sido alterados.
De qualquer forma, o diretório temporário padrão em um sistema Linux típico é
/tmp
. É o equivalenteC:\Temp
no sentido de que é apenas o diretório temporário padrão, não universal. Mesmo se/tmp
estiver disponível, se um usuário (ou o sistema) tiver definido a variável de ambiente TEMP, o valor dessa variável deverá ser usado.Você pode tentar escolher um diretório temporário em relação ao diretório inicial do usuário, que você pode criar.
fonte
TMPDIR
variável de ambiente./tmp
presidir sobre a variável temp?A pergunta inicial era: O Linux possui um diretório temporário padrão. Se sim, onde está localizada? As pastas tmp podem ser encontradas em: Sistema de arquivos / tmp e Sistema de arquivos / var / tmp O conteúdo / tmp pode ser excluído - se você souber quais arquivos / pastas são necessários / não exigidos por vários aplicativos em um "conforme necessário" base. Os arquivos não necessários geralmente são os baixados por um aplicativo para facilitar o próprio aplicativo apenas nesse ponto; portanto, não são mais necessários após a execução do aplicativo. A pasta / var / tmp não deve ser tocada.
fonte