查出/tmp的权限,以数字方式显示 | 您所在的位置:网站首页 › 如何用数字表示linux目录或文件的权限 › 查出/tmp的权限,以数字方式显示 |
看到群里朋友问了这么个问题,闲着没事想了想 查看目录权限最常用的命令是ls -ld和stat 执行 ls -ld /tmp得到的结果如下: [01:41:09 root@ubuntu ~]#ls -ld /tmp drwxrwxrwt 11 root root 4096 Jul 13 01:41 /tmp看到drwxrwxrwx脑子里是可以反映出1777的数字权限,但没法直接用命令显示出来. 执行stat /tmp [04:42:54 root@ubuntu ~]#stat /tmp File: /tmp Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 2621441 Links: 11 Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-07-13 04:31:06.683566251 +0000 Modify: 2021-07-13 01:41:05.857551728 +0000 Change: 2021-07-13 01:41:05.857551728 +0000 Birth: -可以看到第四行是有获得1777这几个数字的.接下来只需要取出这些数字就可以了 过程:可以看到1777在第四行. 用grep取 [04:50:53 root@ubuntu ~]#stat /tmp|grep Uid Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) 用head+tail取 [04:51:54 root@ubuntu ~]#stat /tmp|head -4|tail -1 Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) 用sed取 [04:44:35 root@ubuntu ~]#stat /tmp |sed -n '4p' Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)感觉用sed取最为合理 结果:接下来就是用cut或者awk分割了 cut方法 [04:56:31 root@ubuntu ~]#stat /tmp |sed -n '4p'|cut -f2 -d "("|cut -f1 -d "/" 1777 awk方法 [04:51:58 root@ubuntu ~]#stat /tmp |sed -n '4p'|awk -F [\(/] '{print $2}' 1777 tr+cut方法 [04:51:58 root@ubuntu ~]#stat /tmp|sed -n '4p'|tr -s "(/" " "|cut -f2 -d " " grep方法 [04:51:58 root@ubuntu ~]#stat /tmp|sed -n '4p'|grep -Eo '[0-9]{4}' 1777感觉用grep取最为合理,因为字符少 |
CopyRight 2018-2019 实验室设备网 版权所有 |