linux查看开机时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux查看开机时间相关的知识,希望对你有一定的参考价值。
1.uptime命令
输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00
2.查看/proc/uptime文件计算系统启动时间
cat /proc/uptime
输出: 5113396.94 575949.85
第一数字即是系统已运行的时间5113396.94 秒,运用系统工具date即可算出系统启动时间
- [root@localhost ~]# date -d "$(awk -F. \'print $1\' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"2017-10-27 14:32:35
3.查看/proc/uptime文件计算系统运行时间
[root@localhost ~]# cat /proc/uptime| awk -F. \'run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)\'系统已运行:0天0时24分34秒who 命令查看
who -b 查看最后一次系统启动的时间。
[root@localhost ~]# who -b system boot 2017-10-27 14:32who -r 查看当前系统运行时间
[root@localhost ~]# who -r run-level 3 2017-10-27 14:332: last reboot
如下所示last reboot可以看到Linux系统历史启动的时间。 重启一下操作系统后,然后
[root@localhost ~]# last rebootreboot system boot 3.10.0-327.el7.x Fri Oct 27 14:32 - 14:59 (00:26) wtmp begins Fri Oct 27 14:32:39 2017#如果只需要查看最后一次Linux系统启动的时间《Linux就该这么学》 一起学习linux
[root@DB-Server ~]# last reboot | head -1reboot system boot 2.6.9-42.ELsmp Thu May 29 15:25 (00:08)3:TOP命令查看
如下截图所示,up后表示系统到目前运行了多久时间。反过来推算系统重启时间
[root@localhost ~]# who -b system boot 2017-10-27 14:32top - 15:00:29 up 27 min, 2 users, load average: 0.00, 0.01, 0.05Linux - 简易shell脚本编写,以开机日志为例,编写一个用于查看Linux进程启动的脚本
在Linux开发中,开发者为了能够了解Linux的进程启动过程或者启动顺序,往往需要借助一些工具或日志,今天这篇简短的文章就是介绍编译一个Linux开机启动脚本,记录各个进程模块的启动时间以及顺序。
准备任务,在Linux服务器下编写一个shell脚本,脚本的可以存在任何你可以访问的目录,笔者存在根目录下,如果是刚入手Linux的话,具体的shell脚本语法可以查看下面这个链接,里面有非常详细的语法使用介绍。
shell脚本语法使用:http://www.runoob.com/linux/linux-shell-basic-operators.html
那接下来就是编写脚本了,这里笔者已经写好了,但是我会具体介绍他们的意义于作用。
上图就是笔者编写的简单shell脚本,第一个echo为在执行开始时打印字符“================ printf start =================”。
logpath=/mnt/log 这一句是log需要存储在哪个目录,这里为/mnt/log目录
logname=$logpath/printf.log 这一句是log命名,这里为printf.log
if [ -d $logpath ]; then
echo "$logpath dircetory exists..."
else
mkdir $logpath
fi
上述脚本代码意为判断/mnt/log是否为目录,如果是表示存在,echo一个字符串 "$logpath dircetory exists...",其中$logpath表示变量logpath指向的目录地址。如果不是目录则表示不存在,创建logpath变量所指向的目录文件夹。
if [ -f $logname ]; then
echo "$logname file exists..."
else
touch $logname
fi
上述脚本代码意为判断/mnt/log/printf.log是否为常规文件,如果是则表示该常规文件存在,echo一个字符串echo "$logname file exists...",其中$logname表示变量logname指向的文件存放绝对路径。如果该常规文件不存在,创建logname变量所指向的日志文件。
if [ $1 ]; then
echo "$1 loading..." >> $logname
fi
上述脚本代码意为判断第一个参数是否为null,如不为null,将其输出到之前的logname文件。
echo "################# $(date +%F%t%T) #################" >> $logname
echo ================ printf end =================
exit 0
上述脚本代码意为输出当前时间到之前的logname文件,其中%F的意义为完整日期格式,等价 %y-%m-%d;%t为输出一个制表位;%T为时间,等于%H:%M:%S。
最后一个echo为在执行结束时打印字符“================ printf end =================”。
完整的代码:
#!/bin/sh
#
# printf
#
# This script is Record the process of starting up and the order of startup.
#
# author Engineer-jsp.
echo ================ printf start =================
logpath=/mnt/log
logname=$logpath/printf.log
if [ -d $logpath ]; then
echo "$logpath dircetory exists..."
else
mkdir $logpath
fi
if [ -f $logname ]; then
echo "$logname file exists..."
else
touch $logname
fi
if [ $1 ]; then
echo "$1 loading..." >> $logname
fi
echo "################# $(date +%F%t%T) #################" >> $logname
echo ================ printf end =================
exit 0
输出效果:
使用方式:
小伙伴们可以多写写,熟悉语法,因为编译Android系统也用得到这些知识,尤其是自定义rom的时候,比如一些知名的手机厂商,OPPO、小米、华为、魅族等等,他们都是通过修改Google Android原生系统代码,修改对应的一些模块架构,诸如CPU的支持、手机硬件模块的支持、主板的支持等,以公版或补丁形式,对自己的产品进行支持开发。
以上是关于linux查看开机时间的主要内容,如果未能解决你的问题,请参考以下文章