如何使用BASH(数字)检查CHMOD?

时间:2014-11-15 18:56:31

标签: bash

如何在bash中查看chmod? 如何检查该用户,组...有7(R-W-X)?还是4等?

#!/bin/bash  
.
.
for file in *
do

if [ $file check.... ? ]
then
     echo $file
fi

done
exit 0

2 个答案:

答案 0 :(得分:2)

您想要的工具是stat

$ touch /tmp/file

# permissions + filename
$ stat -c "%a %n" /tmp/file
644 /tmp/file

# just file permissions
$ stat -c "%a" /tmp/file 
644

# human readable format
$ stat -c "%A" /tmp/file
-rw-r--r--

有关完整功能集,请参阅man stat

答案 1 :(得分:-1)

对于最常见的任务,您可以使用内置[ ... ]测试,man test

这不允许细粒度检查,但这很少是你需要的,通常你只关心文件是否存在,可读等等......

-r FILE
       FILE exists and read permission is granted
-w FILE
       FILE exists and write permission is granted
....

E.g:

if [ -r $file ]; then
   ..
fi