Linux 中临时文件(“tempfile”)和常规文件的主要区别是什么?
我发现这两个 inode 之间唯一的主要区别是,一般来说,无论出于何种原因,“临时文件”的生命周期比“常规文件”要短得多,而从原则上来说,两者实际上都是临时的(至少从事实上这个宇宙正在走向一个总热寂)。
参考:
答案1
临时文件和常规文件完全没有区别。
临时文件是常规文件,常规文件是“常规”的,而不是目录、设备特殊文件或命名管道等。
正如您所指出的,唯一的区别是该文件的典型用途。当程序或脚本创建“临时文件”时,它通常是一个常规文件,用于存储在创建它的进程的生命周期之外不需要的临时数据。此类文件通常以$TMPDIR
.
文件:可以写入、读取或两者兼而有之的对象。文件具有某些属性,包括访问权限和类型。文件类型包括常规文件、字符特殊文件、块特殊文件、FIFO特殊文件、符号链接、套接字和目录。该实现可能支持其他类型的文件。
常规文件:文件是可随机访问的字节序列,没有系统强加的进一步结构。
然而,它并不在乎谈论“临时文件”的定义,因为它不是一种特定的文件类型(而是一种使用常规文件)。
答案2
临时文件和常规文件之间没有技术差异。
从语义上讲,假设以下陈述是合理的:
- 临时文件应该是短暂的
- 临时文件可能会在仍在使用时故意从文件系统中删除(由应用程序本身)
- 长期存在的临时文件在仍在使用时可能会意外地从文件系统中删除(通过清理过程)
/tmp
通常应在或下创建临时文件/var/tmp