中易网

Linux怎么用stat命令显示文件

答案:1  悬赏:50  
解决时间 2021-02-22 01:12
Linux怎么用stat命令显示文件
最佳答案
用法:stat [选项]... 文件...
显示文件或文件系统的状态。
-L, --dereference 跟随链接
-f, --file-system 显示文件系统状态而非文件状态
-c --format=格式使用指定输出格式代替默认值,每用一次指定格式换一新行
--printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作
输出结尾。如果您仍希望使用换行,可以在格式中
加入"\n"
-t, --terse 使用简洁格式输出
--help显示此帮助信息并退出
--version 显示版本信息并退出
有效的文件格式序列(不使用 --file-system):
%a八进制权限
%A 用可读性较好的方式输出权限
%b 计算已分配块数(参见%B)
%B 以字节为单位输出%b 所报告的每个块的大小
%C SELinux 安全环境字符串
%d十进制设备编号
%D十六进制设备编号
%f十六进制原始模式
%F文件类型
%g文件的属组ID
%G文件的属组组名
%h硬链接数量
%iInode 编号
%m挂载点
%n文件名
%N如果对象是一个符号链接,显示引用到的其它文件名
%oI/O 块大小
%s总计大小,以字节为单位
%t十六进制主设备类型
%T十六进制子设备类型
%u文件的属主ID
%U文件的属主用户名
%w文件创建时间,若未知则显示"-"
%W从UNIX 元年起以秒计的文件创建时间,若未知则显示"-"
%x上次访问时间
%X从UNIX 元年起以秒计的上次访问时间
%y上次修改时间
%Y从UNIX 元年起以秒计的上次修改时间
%z上次更改时间
%Z从UNIX 元年起以秒计的上次更改时间
有效的文件系统格式序列:
%a非超级用户可用的剩余块数
%b文件系统的总数据块数
%c文件系统中文件节点总数
%d文件系统中空闲文件节点数
%f文件系统中空闲块数
%i十六进制文件系统ID
%I允许的文件名最大长度
%n文件名
%s块大小(用于快速传输)
%S基本块大小(用于块计数)
%t十六进制类型描述
%T可读性较好的类型描述
注意:您的shell 内含自己的stat 程序版本,它会覆盖这里所提及的相应
版本。请查阅您的shell 文档获知它所支持的选项。

ls 命令及其许多参数提供了一些非常有用的文件信息。另一个不太为人所熟知的命令 stat 提供了一些更为有用的信息。
下面演示了如何对可执行文件“oracle”(位于 $ORACLE_HOME/bin 目录下)使用此命令。

复制代码
代码如下:

# cd $ORACLE_HOME/bin
# stat oracle
File: `oracle'
Size: 93300148 Blocks:182424 IO Block:4096 Regular File
Device: 343h/835d Inode: 12009652 Links: 1
Access: (6751/-rwsr-s--x) Uid:( 500/ oracle) Gid:( 500/ dba)
Access: 2006-08-04 04:30:52.000000000 -0400
Modify: 2005-11-02 11:49:47.000000000 -0500
Change: 2005-11-02 11:55:24.000000000 -0500

注意使用该命令获得的信息:除了通常的文件大小(也可以使用 ls -l 命令获得)以外,您还获得了该文件占用的块数。通常的 Linux 块大小为 512 字节,因此一个大小为 93,300,148 字节的文件将占用 (93300148/512=) 182226.85 个块。由于块都是完整占用,因此该文件使用了一些整数个数的块。无需猜测就可以获得确切的块数。
您还可以从以上输出中获得文件所有权的 GID 和 UID,以及权限的八进制表示形式 (6751)。如果要将文件恢复到它现在具有的相同权限,可以使用 chmod 6751 oracle,而不是显式拼写这些权限。
以上输出最有用的部分是文件访问时间戳信息。该输出显示,该文件被访问的时间是 2006-08-04 04:30:52(显示在“Access:”的旁边),即 2006 年 8 月 4 日上午 4:30:52。这是某个人开始使用数据库的时间。该文件的修改时间是 2005-11-02 11:49:47(显示在“Modify:”的旁边)。最后,“Change:”旁边的时间戳显示文件状态更改的时间。
stat 命令的修改符 -f 显示了有关文件系统(而非文件)的信息:

复制代码
代码如下:

# stat -f oracle
File: "oracle"
ID: 0 Namelen:255 Type:ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096
Inodes: Total: 12222464 Free: 12093976

另一个选项 -t 显示了完全相同的信息,只不过是在一行中显示的:

复制代码
代码如下:

# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096

这对 shell 脚本非常有用,在 shell 脚本中可以使用一个简单的 cut 命令获得值以进行进一步处理。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一二三四五六七.全不加起都不是.不加六七等于
你好.我想问一下在漯河舞阳上一个电动车牌照
新缘鞋店我想知道这个在什么地方
洞庭山特许加盟店怎么去啊,我要去那办事
柳州城市职业学院-实训楼1在哪里啊,我有事要
造梦西游3毒丹有几种方式得
多开安卓模拟器用什么显卡性价比高?
秀水主题客房分店地址有知道的么?有点事想过
手臂外侧毛孔,和臀部毛孔有很多黑点也不痒不
静安区武定路327号怎么走?
寿光市商业大厦有限公司工会委员会怎么去啊,
请问新买的笔记本电脑把剩余的电量用完后,第
关于文天祥的评价。
t0.005等于多少
跳舞能长高吗 跳什么舞最长高
推荐资讯
火凤凰何露雪在河边那去天狼照片是哪一集
长方形和正方形都有()条边,()个直角。
卡地亚手表掉地上一下 之后就不走了怎么回事
手机听音乐,会影响通话音质吗?
百圆裤业怎么样啊?
万好万家快捷酒店停车场怎么去啊,有知道地址
利君化石在什么地方啊,我要过去处理事情
龙虾味道在哪里啊,我有事要去这个地方
洛克王国闪电矿石在哪里
如何接近领导
拔丝地瓜的英文怎么说
天下三死区怎么赚钱
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?