Qual é a principal diferença entre um arquivo temporário e um arquivo regular no Linux?

0

Qual é a principal diferença entre um arquivo temporário ("tempfile") e um arquivo regular no Linux?

A única diferença principal que reconoco entre esses dois inodes é que, em geral, um "arquivo temporário" tem um ciclo de vida muito mais curto que um "arquivo regular", por qualquer razão, enquanto ambos são, por princípio, praticamente temporários menos do fato de que este universo está indo para um total de morte por calor ).

Referências:

  1. Como um duto difere de um arquivo temporário?

  2. Como um FIFO (pipe nomeado) difere de um pipe regular (pipe não nomeado)?

por user9303970 11.04.2018 / 14:04

2 respostas

4

Não há absolutamente nenhuma diferença entre um arquivo temporário e um arquivo normal.

Um arquivo temporário é um arquivo regular, e um arquivo regular é "regular" ao invés de ser um diretório, ou um arquivo especial de dispositivo, ou pipe nomeado, etc.

A única diferença é, como você indica, o uso típico do arquivo. Quando um programa ou script cria um "arquivo temporário", normalmente é um arquivo comum usado para armazenar dados temporários que não são necessários além do tempo de vida do processo que os criou. Esses arquivos geralmente são criados em $TMPDIR .

POSIX define :

File: An object that can be written to, or read from, or both. A file has certain attributes, including access permissions and type. File types include regular file, character special file, block special file, FIFO special file, symbolic link, socket, and directory. Other types of files may be supported by the implementation.

Regular file: A file that is a randomly accessible sequence of bytes, with no further structure imposed by the system.

No entanto, não se pode dizer nada sobre a definição de um "arquivo temporário", porque não é um tipo de arquivo específico (em vez disso, uma forma de usar arquivos regulares).

    
por 11.04.2018 / 14:18
1

Não há diferença técnica entre um arquivo temporário e um arquivo normal.

Semanticamente, seria razoável assumir as seguintes afirmações:

  1. Um arquivo temporário deve ter vida curta
  2. Um arquivo temporário pode ser intencionalmente excluído do sistema de arquivos (pelo próprio aplicativo) enquanto ainda estiver em uso
  3. Um arquivo temporário de longa duração pode ser excluído inesperadamente do sistema de arquivos (por um processo de limpeza) enquanto ainda estiver em uso
  4. Geralmente, um arquivo temporário deve ser criado em /tmp ou /var/tmp
por 11.04.2018 / 14:16

Tags