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

时间:2015-10-08 08:36:11

标签: linux bash file directory

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

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

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:2)

您滥用术语文件,实际上可以是目录,套接字或管道。名称mongod.service - LSB: An object/document-oriented database Loaded: loaded (/etc/init.d/mongod) Active: failed (Result: exit-code) since Thu 2015-10-08 13:46:08 IST; 22s ago Docs: man:systemd-sysv-generator(8) Process: 6604 ExecStart=/etc/init.d/mongod start (code=exited, status=1/FAILURE) Oct 08 13:46:07 gariya-GA-A55M systemd[1]: Starting LSB: An object/document-oriented database... Oct 08 13:46:07 gariya-GA-A55M mongod[6604]: * Starting database mongod Oct 08 13:46:08 gariya-GA-A55M mongod[6604]: ...fail! Oct 08 13:46:08 gariya-GA-A55M systemd[1]: mongod.service: control process exited, code=exited status=1 Oct 08 13:46:08 gariya-GA-A55M systemd[1]: Failed to start LSB: An object/document-oriented database. Oct 08 13:46:08 gariya-GA-A55M systemd[1]: Unit mongod.service entered failed state. Oct 08 13:46:08 gariya-GA-A55M systemd[1]: mongod.service failed. 保存在目录条目中,该目录条目链接到与文件对应的 inode

传统意义上的文件在Unix中称为常规文件,请在stat(2)调用联机帮助页中查看test宏。

答案 2 :(得分:1)

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

$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