Shell|Shell 判断文件夹或文件是否存在

1.判断是否存在
判断文件夹是否存在

if[ -d "/data/" ]; then echo"文件夹存在" else echo"文件夹不存在" fi

判断文件是否存在
if[ -f"/data/filename" ]; then echo"文件存在" else echo"文件不存在" fi

2.应用
文件夹不存在则创建
if[ ! -d "/data/" ]; then mkdir/data echo"文件夹已创建" fi

文件存在则删除
if[ ! -f "/data/filename" ]; then echo"文件不存在" else rm -rf/data/filename fi

3.各种比较符
-e filename如果 filename 存在,则为真[ -e /var/log/syslog ] -d filename如果 filename 为目录,则为真[ -d /tmp/mydir ] -f filename如果 filename 为常规文件,则为真[ -f /usr/bin/grep ] -L filename如果 filename 为符号链接,则为真[ -L /usr/bin/grep ] -r filename如果 filename 可读,则为真[ -r /var/log/syslog ] -w filename如果 filename 可写,则为真[ -w /var/mytmp.txt ] -x filename如果 filename 可执行,则为真[ -L /usr/bin/grep ] filename1-nt filename2如果 filename1 比 filename2 新,则为真[ /tmp/install/etc/services -nt /etc/services ] filename1-ot filename2如果 filename1 比 filename2 旧,则为真[ /boot/bzImage -ot arch/i386/boot/bzImage ]

    推荐阅读