检查文件是否存在与Unix中的目录

时间:2015-12-04 22:04:42

标签: linux unix

检查文件是否存在或目录之间有区别吗?

例如,如果我们在U​​NIX中有一个命令检查是否: " C:/HelloWorld/hello.java"存在 与 " C:/ HelloWorld的"存在

当输入那些确切的值时,它会区分文件还是目录?或者文件也被认为是目录路径的一种形式?

2 个答案:

答案 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。