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

时间:2012-01-20 11:08:16

标签: bash aix

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

ls -lha
ls --full-time

但我必须在AIX上使用core-shell。如何实现这一目标?

4 个答案:

答案 0 :(得分:4)

您可以使用istat:

$ istat  test.ksh
Inode 86741 on device 10/8 File
Protection: rw-r-----
Owner: 6361(user2) Group: 621(norgroup)
Link count: 1 Length 116 bytes
Last updated: Thu Jun 9 14:25:11 EDT 2011
Last modified: Thu Jun 9 14:25:11 EDT 2011
Last accessed: Fri Jan 20 16:08:46 EST 2012

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

答案 1 :(得分:0)

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

stat -c "%y  %n" *

答案 2 :(得分:0)

您可能最好安装相关的GNU软件包。除非您喜欢编写自己的程序,否则没有简单的替代方案。核心AIX工具不会那么容易 - 除非你进入Perl。 (我很确定安装了Perl并且可以编写代码,因此它甚至可以在AIX上找到相当陈旧的Perl版本。)

答案 3 :(得分:0)

我使用这个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。

这比接受的答案更有优势:

  1. 这涉及更多平台,
  2. 您可以控制时间格式并使其成为机器 友好。