搜索将在大多数/每个 Unix 系统上启动时创建的文件或目录

搜索将在大多数/每个 Unix 系统上启动时创建的文件或目录

有时了解操作系统将要使用的特定文件很有用启动时创建
例如,您可以在脚本需要知道启动时间。

是否有任何像这样的“高度标准”文件适合所有人,或者至少适合许多人类Unix操作系统,包括嵌入式设备(路由器、AP、网络摄像头)或变体(BSD、CentOS、iOS)?

答案1

简短的回答是:不,没有这样的文件。

更长的答案是:

不,不存在这样的文件,如果有该文件的时间戳将是它的创建时间,与机器启动的时间不同。根据它在启动过程中的具体创建位置,可能是在系统实际启动后几秒、几分钟甚至更长的时间。

一些替代方案:

$ uptime
 10:06:50 up 31 days, 18:52, 21 users,  load average: 0.50, 0.54, 0.49

$ who -b
         system boot  2019-08-13 15:14

$ last reboot | head -n 1
reboot   system boot  5.2.0-2-amd64    Tue Aug 13 15:14   still running

这些都不能保证在不同操作系统上具有完全相同的输出。例如,上述命令在 Debian GNU/Linux (sid) 上运行。在我的 FreeBSD 12 VM 上,它们看起来像这样:

$ uptime
10:14AM  up 8 days, 23:12, 1 user, load averages: 0.25, 0.28, 0.26

$ who -b
                 system boot  Sep  5 11:02 

$ last reboot | head -n 1
boot time                                  Thu Sep  5 11:02

在 Linux 上,您可以运行一个名为 的程序uptimed来记录启动和关闭时间。您可以使用 来查询uprecords。例如:

$ uprecords -B
     #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
->   1    31 days, 18:52:24 | Linux 5.2.0-2-amd64       Tue Aug 13 15:14:29 2019
     2    52 days, 20:45:19 | Linux 4.19.0-5-amd64      Fri Jun 21 18:21:54 2019
     3    51 days, 01:01:16 | Linux 4.19.0-4-amd64      Wed May  1 16:40:47 2019
     4     1 day , 01:13:47 | Linux 4.19.0-4-amd64      Tue Apr 30 14:54:34 2019
     5    21 days, 10:56:49 | Linux 4.19.0-4-amd64      Tue Apr  9 03:29:37 2019
     6     0 days, 01:20:59 | Linux 4.19.0-3-amd64      Tue Apr  9 02:01:15 2019
     7    41 days, 03:01:09 | Linux 4.19.0-3-amd64      Tue Feb 26 23:13:23 2019
     8     0 days, 01:40:57 | Linux 4.18.0-3-amd64      Tue Feb 26 21:29:41 2019
     9    20 days, 00:59:13 | Linux 4.18.0-3-amd64      Wed Feb  6 20:07:11 2019
    10    66 days, 00:02:21 | Linux 4.18.0-3-amd64      Sun Dec  2 19:05:03 2018

相关内容