【问题标题】:Creating file and directory with same name创建具有相同名称的文件和目录
【发布时间】:2026-01-11 07:35:01
【问题描述】:

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

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

【问题讨论】:

标签: linux bash file directory


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    $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
    

    【讨论】:

    • 只有我一个人认为这无关紧要。 (如果还不知道,仍然有用的信息;但是,它不能回答问题)
    【解决方案3】:

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

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

    【讨论】:

      最近更新 更多