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
.
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).