linux - Linux 中的 I/O 性能

标签 linux file io

文件A在一个有10000个文件的目录下,文件B在一个有10个文件的目录下,读/写文件A会比文件B慢吗? 它会受到不同日志文件系统的影响吗?

最佳答案

没有。

浏览目录和打开文件会变慢(在实践中是否明显取决于文件系统)。文件的输入/输出完全相同。

编辑:
澄清一下,目录中的"file"不是真正的文件,而是一个链接(“硬链接(hard link)”,与符号链接(symbolic link)相对),它只是一个一种带有一些元数据的名称,但与您认为的"file"无关。这也是为什么删除文件是通过 unlink 系统调用而不是通过假设的 deletefile 调用完成的历史原因。 unlink 删除链接,如果那是最后一个链接(但只有那时!),则文件。

一个文件在不同目录中有一百个链接是完全合法的,打开一个文件然后将其移动到不同的地方甚至取消链接(当它保持打开状态!)也是完全合法的。它不会影响您以任何方式读/写文件描述符的能力,即使文件(据您所知)甚至不再存在。

关于linux - Linux 中的 I/O 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11878573/

相关文章:

java - 文件未找到。为什么不?

C++ 覆盖已经打开的文件

linux - 算术评估中的符号和带 x 的数字在 Bash 中意味着什么?

linux - 在Linux中使用cURL POST txt文件和文本

java - 在 netbeans 中打开文件

xml - xml 文件错误,标记中的数据过早结束

java - 在同一文件中存储纯文本和字节信息 - 转换问题

c - 使用 C 代码难以读取 DNA 序列文件

python - opencv安装ffmpeg报错

regex - 在文件和输出文件名中搜索具有特定文本的行(文件命令和 grep)