创建具有相同名称的文件和目录

ata*_*t81 5 linux directory bash file

在Linux中,为什么我不能创建具有相同名称的文件和目录.存在测试文件时看到以下错误.

$mkdir test
mkdir: cannot create directory ‘test’: File exists
$cd test
bash: cd: test: Not a directory
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 8

目录是一种特殊的文件 - 一种没有自己的数据,但包含其他文件的列表.

与任何其他文件一样,您不能在同一位置拥有两个具有相同名称的文件,无论它们是常规文件,目录,符号链接,命名管道还是其他任何文件.


mya*_*aut 5

您误用了术语file,它实际上可以是目录、套接字或管道。该名称test保存在链接到与文件相对应的索引节点的目录条目中。

传统意义上的文件在Unix中称为常规文件,查看stat(2)S_ISREG调用手册页中的宏。