The shell determines whether a folder or file exists

Create the folder if it does not exist

1
2
3
4
5
if  [ ! -d  "/data/"  ]; then
mkdir  /data
else
echo  "文件夹已经存在"
fi

Delete the file if it exists

1
2
3
4
5
if  [ ! -f  "/data/filename"  ]; then
echo  "文件不存在"
else
rm  -rf  /data/filename
fi

Check if a folder exists

1
2
3
4
5
if  [ -d  "/data/"  ]; then
echo  "文件夹存在"
else
echo  "文件夹不存在"
fi

Check if the file exists

1
2
3
4
5
if  [ -d  "/data/test"  ]; then
echo  "文件存在"
else
echo  "文件不存在"
fi

file comparator

1
2
3
4
5
6
7
8
9
-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  ]

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324607279&siteId=291194637