stat-获取文件属性

330阅读 0评论2015-12-07 sync_1521
分类:LINUX

 

获取文件的属性
$stat filename
> stat file
  File: `file'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d      Inode: 658203      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ clouder)   Gid: (  100/   users)
Access: 2015-12-07 08:27:31.100392889 +0800
Modify: 2015-12-07 08:27:31.100392889 +0800
Change: 2015-12-07 08:27:31.100392889 +0800

获取文件系统信息
$stat -f /dev/sda1   #此获取的是文件系统(分区),而不是文件

stat支持许多取得文件属性的格式代码,基本用法为 :
stat -c 格式代码  filename

适用于文件的格式代码:
%A 用文件权限代码表示,如-rw-r--r--
> stat -c %A file
-rw-r--r--

%a 用八进制数字表示文件权限
> stat -c %a file
644

%b 占用的区块数量
%B 用%b计算区块数量时,每一区块的大小,预设是512bytes
%D 用16进制表示设备编号
%d 用10进制表示设备编号
%F 文件形态,即文件类型
%f raw mode以16进制表示
%G 文件拥有者的组名
%g 文件拥有着的群组编号
%h 硬链接的数量
> stat -c %h file
1

%i inode编号
> stat -c %i file
658203

%N 将符号链接的文件明和其指向的文件的文件名,用引号包含,'1.sh'->'h.sh'
%n 文件名
%o IO区块的大小,预设是4096bytes
%s 文件大小
%T 16进制表示Minor次要设备代码
%t 16进制表示Major主要设备代码
%U 文件拥有者的使用者名称
%u 文件拥有者的使用者编号
%X 取用时间,用1900.1.1至取用时间的秒数
%x 取用时间
%Y 修改时间,类似取用时间
%y 修改时间
%Z 属性改动时间
%z 属性改动时间

如:获取文件的大小
$stat  -c %s file


适用于文件系统(即分区)的格式代码:
%a 一般使用者可自由运行的区块数
%b 全部的区块数
%c 全部的文件节点数
%d 可取用的文件节点数
%f 可取用的区块数
%i 使用16进制数表示的文件系统代码
%l 最大的文件名长度
%n 文件名
%s 最佳传输的文件大小
%T 用易于了解的方式表示文件系统的格式
%t 用16进制数表示文件系统的格式

如:获取最大的文件名长度
$stat -f -c %l /dev/sda1

上一篇:FTP主动模式和被动模式的比较
下一篇:tcpdump用法