检查文件是否存在或目录之间有区别吗?
例如,如果我们在UNIX中有一个命令检查是否: " C:/HelloWorld/hello.java"存在 与 " C:/ HelloWorld的"存在
当输入那些确切的值时,它会区分文件还是目录?或者文件也被认为是目录路径的一种形式?
答案 0 :(得分:1)
您可以测试“某些内容是否存在”或文件是否存在或目录是否存在(或其他一些目录,请参阅man test
)
if [ -e "/path/to/something" ]; then
printf "Something exists there\n"
fi
if [ -f "/path/to/something" ]; then
printf "There is a file there\n"
fi
if [ -d "/path/to/something" ]; then
printf "There is a directory there\n"
fi
但你必须测试每个部分,如果C:/HelloWorld
不存在,那么c:/HelloWorld/hello.java
也不会,但如果你知道该文件不存在,你就不知道该目录是否存在。
答案 1 :(得分:0)
简短的回答是,检查文件或目录是否存在的代码是这样的。
在幕后,库通过众所周知的API调用文件系统管理器,以检查与参数(文件或目录)匹配的inode。
然后,API可以根据文件系统属性确定它是否分配了指示文件或目录存在的inode。