1、思路1:ll命令获取字母权限,然后转换成数字输出:

ll test.sh |cut -c1-10|tr "rwx-" "4210"|awk -F "" \'{print $1+$2+$3$4+$5+$6$7+$8+$9}\'

               获取字母权限  转换数字       输出数字权限

2、思路2:stat命令直接输出带数字的权限,然后sed命令获取,采用()后向引用,注意转义

stat test.sh|sed -nr \'s#^.*\(0(.*)\/-r.*$#\1#gp\'

 

3、思路3:stat awk命令设定分隔符输出

stat test.sh|awk -F "[0/]" \'NR==4 {print $2}\'

4、思路4:直接用stat命令输出

stat -c %a test.sh