我发现用这个命令我可以得到Centos的安装日期。
ls -lctd --time-style=+"%d-%m-%Y %H:%M:%S" /etc | tail -1 | awk '{print $6, $7}'
但在我的例子中,我需要从/proc 或其他一些我可以用 Java 读取的文本文件中获取这个值。 是否有任何文本文件可用于读取此值?
最佳答案
But in my case I need to get this value from /proc or some other text file which I can read with Java. Is there any text file that I can use for reading this value?
据我所知,没有。
但是,您应该能够使用 Java 7 文件属性执行与该“shell”命令等效的操作。具体来说,PosixFileAttributes
允许您访问创建时间戳。 (这里是关于 Java 7 文件属性 API 的教程 ... http://andreinc.net/2013/12/05/java-7-nio-2-tutorial-file-attributes/ )
我还应该指出,使用“/etc”的创建时间戳作为安装日期/时间的代理有点可疑。该目录可以从备份中恢复...或者可以使用 touch
或等效方法更改时间戳。
更新
您找到的替代解决方案涉及运行外部命令 rpm -qi basesystem
。您可以使用 ProcessBuilder
等从 Java 运行该命令...然后解析输出。但是,rpm
命令使用的是来自 RPM 数据库的信息,我不知道是否有 Java 库可以让您直接访问该信息……而无需付出大量额外努力。
关于linux - 如何从文本文件获取Centos安装日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337559/