時には、オペレーティングシステムが使用する特定のファイルを知っておくと便利です。起動時に作成されました。
たとえば、次のことができます。スクリプト開始時間を知る必要があります。
誰も、または少なくとも多くの人に適した「高度標準」文書がありますか?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
uptimed
Linuxでは、開始時刻と終了時刻を記録するプログラムを実行できます。クエリに使用できます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