在Linux中,为什么我不能创建具有相同名称的文件和目录。当测试文件存在时看到以下错误。
$mkdir test
mkdir: cannot create directory ‘test’: File exists
$cd test
bash: cd: test: Not a directory
答案 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