Chinaunix

标题: 获取文件属性的方法 stat -c [打印本页]

作者: yjh777    时间: 2016-02-14 17:13
标题: 获取文件属性的方法 stat -c
本帖最后由 yjh777 于 2016-02-14 18:08 编辑

通常我们可能习惯使用 ls -l [Other option] | awk '' 获取文件的一些常用属性
但是发现在不同的coreutils的版本中 ls -l 的输出格式并不一样;着会导致脚本在有些系统上出错

更好更通用的方法是用 stat 的 -c 选项:
  1. $ LANG=C  stat . -c %F
  2. directory
  3. $ LANG=C  stat /tmp --file-system -c %T
  4. tmpfs
  5. $ LANG=C  stat . -c %i
  6. 412554
  7. $ LANG=C  stat . -c %s
  8. 4096
复制代码
stat -c "%F"

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

       %a     access rights in octal

       %A     access rights in human readable form

       %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

       %m     mount point

       %n     file name

       %N     quoted file name with dereference if symbolic link

       %o     optimal I/O transfer size hint

       %s     total size, in bytes

       %t     major device type in hex, for character/block device special files

       %T     minor device type in hex, for character/block device special files

       %u     user ID of owner

       %U     user name of owner

       %w     time of file birth, human-readable; - if unknown

       %W     time of file birth, seconds since Epoch; 0 if unknown

       %x     time of last access, human-readable

       %X     time of last access, seconds since Epoch

       %y     time of last data modification, human-readable

       %Y     time of last data modification, seconds since Epoch

       %z     time of last status change, human-readable

       %Z     time of last status change, seconds since Epoch

stat  --file-system  -c "%T"

       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

       %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     file system type in hex

       %T     file system type in human readable form





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2