shell判断文件是否存在

Created at 2020-09-27 Updated at 2020-09-27 Tag linux / shell

判断文件是否存在

#!/bin/sh

if [ ! -f "filename" ]; then
 touch "filename"
fi
  • -a/-e 文件存在

  • -d 文件存在,并且是目录

  • -f 文件存在,并且文件是常规文件

  • -L 文件存在,并且文件是符合链接

  • -h 文件存在,并且文件是软链接

  • -s 文件存在,并且文件大小大于 0

  • -x 文件存在,并且具有可执行权限

  • -nt 判断 file1 是否比 file2 新 [ "/data/file1" -nt "/data/file2" ]

  • -ot 判断 file1 是否比 file2 旧 [ "/data/file1" -ot "/data/file2" ]

文件类型

文件类型 缩写 英文
普通文件 - Regular file
目录文件 d Directory file
块特殊文件 b Block special file
字符设备文件 c Character special file
先进先出(命名管道) p FIFO
套接字文件 s Socket
符号链接(软链接) l Symbolic link
Site by Cellophane using Hexo & Random

Hide