俺反正是經常忘啊,用的時候總是翻箱倒柜的找也不是個事,把它們列在這里吧。

  • –b 當file存在并且是塊文件時返回真
  • -c 當file存在并且是字符文件時返回真
  • -d 當pathname存在并且是一個目錄時返回真
  • -e 當pathname指定的文件或目錄存在時返回真
  • -f 當file存在并且是正規文件時返回真
  • -g 當由pathname指定的文件或目錄存在并且設置了SGID位時返回為真
  • -h 當file存在并且是符號鏈接文件時返回真,該選項在一些老系統上無效
  • -k 當由pathname指定的文件或目錄存在并且設置了“粘滯”位時返回真
  • -p 當file存在并且是命令管道時返回為真
  • -r 當由pathname指定的文件或目錄存在并且可讀時返回為真
  • -s 當file存在文件大小大于0時返回真
  • -u 當由pathname指定的文件或目錄存在并且設置了SUID位時返回真
  • -w 當由pathname指定的文件或目錄存在并且可執行時返回真。一個目錄為了它的內容被訪問必然是可執行的。
  • -o 當由pathname指定的文件或目錄存在并且被子當前進程的有效用戶ID所指定的用戶擁有時返回真。

UNIX Shell 里面比較字符寫法:

  • -eq   等于
  • -ne    不等于
  • -gt    大于
  • -lt    小于
  • -le    小于等于
  • -ge   大于等于
  • -z    空串
  • =    兩個字符相等
  • !=    兩個字符不等
  • -n    非空串