shell 常见面试题及答案(3)

本文接 《shell 常见面试题及答案(2)》

四、

1.如何取得文件/etiantian的权限对应的数字,如-rw-r--r-- 为644,取得644这样的数字。
解答:

Loong:/home/yee/shell# stat -c %a calculate_birthday.sh
777
知识点:

stat

STAT(1)                                 User Commands                                STAT(1)

NAME
       stat - display file or file system status                                       显示文件或文件系统状态

SYNOPSIS
       stat [OPTION] FILE...

DESCRIPTION
       Display file or file system status.

       -L, --dereference
              follow links

       -f, --file-system
              display file system status instead of file status   显示文件系统状态

       -c  --format=FORMAT
              use  the  specified FORMAT instead of the default; output a newline after each
              use of FORMAT
                    用指定的格式代替默认值,输出到新行

       --printf=FORMAT
              like --format, but interpret backslash escapes, and do not output a  mandatory
              trailing newline.  If you want a newline, include \n in FORMAT.

       -t, --terse
              print the information in terse form         简洁形式输出

       --help display this help and exit

     --version
              output version information and exit

       The valid format sequences for files (without --file-system):

       %a     Access rights in octal                用8进制的形式表示权限

Loong:/home/yee/shell# stat -c %a calculate_birthday.sh 
777
        %A     Access rights in human readable form           可读型表示法

Loong:/home/yee/shell# stat -c %A calculate_birthday.sh 
-rwxrwxrwx

       %b     Number of blocks allocated (see %B)

       %B     The size in bytes of each block reported by %b

       %C     SELinux security context string

       %d     Device number in decimal

       %D     Device number in hex

       %f     Raw mode in hex

       %F     File type

       %g     Group ID of owner

       %G     Group name of owner

       %h     Number of hard links

       %i     Inode number

       %n     File name

       %N     Quoted file name with dereference if symbolic link

       %o     I/O block size

       %s     Total size, in bytes

       %t     Major device type in hex

       %T     Minor device type in hex

       %u     User ID of owner

       %U     User name of owner

       %x     Time of last access

       %X     Time of last access as seconds since Epoch

       %y     Time of last modification

%z     Time of last change

       %Z     Time of last change as seconds since Epoch

       Valid format sequences for file systems:

       %a     Free blocks available to non-superuser

       %b     Total data blocks in file system

       %c     Total file nodes in file system

       %d     Free file nodes in file system

       %f     Free blocks in file system

       %C     SELinux security context string

       %i     File System ID in hex

       %l     Maximum length of filenames

       %n     File name

       %s     Block size (for faster transfers)

       %S     Fundamental block size (for block counts)

       %t     Type in hex

       %T     Type in human readable form

       NOTE:  your shell may have its own version of stat, which usually supersedes the ver-
       sion described here.  Please refer to your shell's documentation  for  details  about
       the options it supports.

应用举例:
Loong:/home/yee/shell# stat practise1.sh
  File: “practise1.sh”
  Size: 144           Blocks: 8          IO Block: 4096   普通文件
Device: 806h/2054d    Inode: 3776576     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-11-01 15:23:00.000000000 +0800
Modify: 2012-11-01 15:20:55.000000000 +0800
Change: 2012-11-01 15:20:55.000000000 +

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值