Linux 创建同名文件和目录

Linux 创建同名文件和目录,linux,bash,file,directory,Linux,Bash,File,Directory,在Linux中,为什么不能创建同名的文件和目录。当测试文件存在时看到以下错误 $mkdir test mkdir: cannot create directory ‘test’: File exists $cd test bash: cd: test: Not a directory 目录是一种特殊类型的文件,它没有自己的任何数据,而是包含其他文件的列表 与任何其他文件一样,不能在同一位置有两个同名文件,无论它们是常规文件、目录、符号链接、命名管道还是其他任何文件。您误用了术语“文件”,实际上

在Linux中,为什么不能创建同名的文件和目录。当测试文件存在时看到以下错误

$mkdir test
mkdir: cannot create directory ‘test’: File exists
$cd test
bash: cd: test: Not a directory

目录是一种特殊类型的文件,它没有自己的任何数据,而是包含其他文件的列表

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

您误用了术语“文件”,实际上可能是目录、套接字或管道。名称
test
保存在与文件对应的inode链接的目录条目中


在Unix中,传统意义上的文件称为常规文件,请检查call man page中的
S_ISREG
宏。

如果需要,可以在使用不同大小写字母时创建同名文件和目录

$mkdir Test ; touch test

$ls -l
-rw-r--r-- 1 user 1002  0 Oct  8 10:52 test
drwxr-xr-x 2 user 1002 40 Oct  8 10:52 Test

$find -iname test 
./test
./Test

因为
目录
也是一种
文件
技术上有一个名为test.duplicate:的文件,我是唯一一个认为这与此无关的人吗。(如果还不知道,仍然是有用的信息;但是,它没有回答问题)