IBM AIX:core-shell:显示文件修改日期

Posted

技术标签:

【中文标题】IBM AIX:core-shell:显示文件修改日期【英文标题】:IBM AIX: core-shell: show date of modification of file 【发布时间】:2012-02-14 23:07:26 【问题描述】:

我想用 bash 做这样的事情(查看文件上次修改的时间):

ls -lha
ls --full-time

但我必须在 AIX 上使用 core-shell。怎么能这样实现?

【问题讨论】:

我确实读过 man 但我到了这里。 查看适用于 AIX 的 ITtoolbox.com 'groups'。那里的参与度很高。你可能会在那里得到一些提示。祝你好运。 【参考方案1】:

我使用这个 Perl 单行:

perl -e 'my ($sec, $min, $hour, $mday, $mon, $year) =localtime((stat(shift))[9]);printf("%04d-%02d-%02d %02d:%02d:%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec)' /etc/passwd

或者在 bash 中这样:

    filetime=$(perl -e 'my ($sec, $min, $hour, $mday, $mon, $year) =localtime((stat(shift))[9]);printf("%04d-%02d-%02d %02d:%02d:%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec)' /etc/passwd)
echo $filetime

对于您的应用程序,您可能希望删除 \n。

与接受的答案相比,它的优点是:

    这可以跨更多平台运行, 您可以控制时间格式,并可以使其成为机器 友好。

【讨论】:

【参考方案2】:

你可以使用istat:

$ istat test.ksh 设备 10/8 文件上的 Inode 86741 保护:rw-r----- 所有者:6361(user2)组:621(norgroup) 链接数:1 长度 116 字节 最后更新时间:2011 年 6 月 9 日星期四 14:25:11 EDT 最后修改时间:2011 年 6 月 9 日星期四 14:25:11 EDT 最后访问时间:2012 年 1 月 20 日星期五 16:08:46 EST

见我的blog - AIX version of stat command – Command to get File Timestamp

【讨论】:

【参考方案3】:

您可能最好安装相关的 GNU 软件包。除非您喜欢编写自己的程序,否则没有简单的替代方案。核心 AIX 工具不会让这种事情变得容易——除非您使用 Perl。 (我很确定 Perl 已安装并且可以编写代码,因此即使使用您可能在 AIX 上找到的相当过时的 Perl 版本,它也可以工作。)

【讨论】:

【参考方案4】:

AIX 是否有stat?也许你可以这样做:

stat -c "%y  %n" *

【讨论】:

以上是关于IBM AIX:core-shell:显示文件修改日期的主要内容,如果未能解决你的问题,请参考以下文章

aix系统命令

Solaris、HP-UX、IBM-AIX 等平台是不是支持 Unix 域套接字而无需套接字文件,如 Linux?

小型机IBM P550 AIX 更换硬盘步骤 操作LVM及文件系统

IBM AIX - 阿帕奇卡夫卡

AIX IBM 服务器上的替代截断 cmd

AIX系统修改网卡MTU值