精华内容
下载资源
问答
  • 1.获取uptime的源代码,并安装到服务器上 gitclonegit://github.com/fzaninotto/uptime.git cduptime npminstall 2.修改Uptime 的配置文件 修改/uptime/config/defau...

    1.获取uptime的源代码,并安装到服务器上

     git clone git://github.com/fzaninotto/uptime.git  
     cd uptime
     npm install

    2.修改Uptime 的配置文件 

        修改/uptime/config/default.yaml文件

    url:        'http://localhost:8082'
      server:   localhost    # 此处是需要修改的(修改成与mongodb副本集的主库对应的IP地址)
      database: uptime       # 此处是需要修改的 
      user:     root         # 此处是需要修改的
      password:              # 此处是需要修改的
      connectionString:       # alternative to setting server, database, user and password separatelymonitor:
      name:                   origin
      apiUrl:                 'http://localhost:8082/api' # must be accessible without a proxy
      pollingInterval:        10000      # ten seconds
      timeout:                5000       # five seconds
      userAgent:              NodeUptime/2.0 (https://github.com/fzaninotto/uptime)analyzer:
      updateInterval:         60000      # one minute
      qosAggregationInterval: 600000     # ten minutes
      pingHistory:            8035200000 # three monthsautoStartMonitor: trueplugins:
      - ./plugins/console
      - ./plugins/patternMatcher
      - ./plugins/httpOptions
      # - ./plugins/email

    3.开启守护进程

    forever start app.js

    相关文档参照:https://github.com/fzaninotto/uptime



    转载于:https://my.oschina.net/chinacaptain/blog/322959

    展开全文
  • uptime及top命令

    2019-03-05 22:51:11
    1.uptime查看CPU负载工具 如果服务器的CPU为1核,则load average中的数字>=3,则负载过高。 如果服务器的CPU为4核,则load average中的数字>=12,则负载过高。 2.top动态管理进程 top快捷键: ...

    1.uptime查看CPU负载工具

       如果服务器的CPU为1核,则load  average中的数字>=3,则负载过高。

       如果服务器的CPU为4核,则load  average中的数字>=12,则负载过高。

    2.top动态管理进程

        top快捷键:

         ●默认3s刷新一次,按s修改刷新时间

         ●按空格立刻刷新

         ●q :退出

         ●P :按CPU占用率大小排序

         ●M:按内存占用率大小排序

         ●T:按时间排序

         ●数字1:显示每个内核的CPU使用率

         ●u:指定显示的用户

         ●h:帮助

         ●p:查看某个进程状态

     

    展开全文
  • /var/run/utmp 二、系统相关命令 (一)uname命令 (二)uptime命令 (三)dmesg命令 (四)free命令 三、单用户模式下修改root密码 四、快捷键 一、用户相关命令 (一)su命令 改变身份的命令 su su 是最简单的...

    一、用户相关命令

    (一)su命令

    改变身份的命令 su

    su 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。

    普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功

    用法: su [选项] 用户名

    选项:

    • -f: –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell,执行后不改变环境变数和目录

    • -l: –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。

    • -m-p :–preserve-environment:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)

    • -c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者
      ,执行时不改变环境变数和目录

    • -:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。

    • 不加选项:切换用户后不改变环境变数和目录

    说明:以上所有选项后如果没有指定用户名,缺省情况是root

    -f ,-p,-m和不加选项的功能基本一样

    【例 1】

    #从普通用户切换到root用户,可以执行部分root权限
    #使用-f选项不会改变环境变数和目录
    [dxk@admin ~]$ whoami
    dxk
    [dxk@admin ~]$ pwd
    /home/dxk
    [dxk@admin ~]$ echo  $PATH
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dxk/.local/bin:/home/dxk/bin
    [dxk@admin ~]$ su -f root
    密码:
    [root@admin dxk]# pwd     #注意命令行的显示,表示是从普通用户dxk切换到root用户下
    /home/dxk
    [root@admin dxk]# whoami
    root
    [root@admin dxk]# echo $PATH       #可以看到环境变量还是切换以前的用户的
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dxk/.local/bin:/home/dxk/bin
    [root@admin dxk]# exit       #使用exit命令就可以退出当前用户 ,切换回以前的用户
    exit
    [dxk@admin ~]$ 
    

    这里要说明的是:无论su命令使用哪个选项,从root用户切换到普通用户不需要输入密码;而普通用户切换到任何用户都需要输入密码

    【例 2】

    # 完全就是直接登录到root用户,大部分环境变量都是以切换过来的用户为主,并且目录也是切换过来的用户的
    [dxk@admin ~]$ pwd
    /home/dxk
    [dxk@admin ~]$ echo  $PATH
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dxk/.local/bin:/home/dxk/bin
    [dxk@admin ~]$ whoami
    dxk
    [dxk@admin ~]$ su -l root
    密码:
    上一次登录:一 7月 13 21:55:44 CST 2020pts/0 上
    [root@admin ~]# pwd          #从以下可以看到环境变数和目录都切换过来了 
    /root
    [root@admin ~]# whoami
    root
    [root@admin ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@admin ~]# exit      #使用exit命令就可以退出当前用户 ,切换回以前的用户
    登出
    [dxk@admin ~]$ 
    

    【例 3】

    #验证:
    [root@admin ~]# su -c pwd dxk  
    /root				#可以看到,目录并未改变
    [root@admin ~]#     #执行完后执行完该命令自行切换回原来的用户
    [dxk@admin ~]$ su -c 'echo $PATH' root
    
    密码:       		#普通用户切换到其他用户还是得输入密码
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dxk/.local/bin:/home/dxk/bin
     #变量也并未改变,root的PATH变量是:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    

    【例 4】

    #普通用户是无法使用useradd命令的
    [dxk@admin ~]$ su -c "useradd test01" root
    密码:
    [dxk@admin ~]$ su -c "passwd test01" root
    密码:
    更改用户 test01 的密码 。
    新的 密码:
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新
    [dxk@admin ~]$
    

    【例 5】

    [dxk@admin ~]$ su - root
    密码:
    上一次登录:二 7月 14 09:35:48 CST 2020pts/1 上
    [root@admin ~]# pwd       #目录也切换过来
    /root
    [root@admin ~]# pwd
    /root
    [root@admin ~]# echo $PATH       #环境变数也切换过来
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@admin ~]# whoami  		#同样身份也是
    root
    [root@admin ~]# exit
    登出
    [dxk@admin ~]$ 
    #下面我们看看su不加选项
    [dxk@admin ~]$ su root
    密码:
    [root@admin dxk]# pwd
    /home/dxk
    [root@admin dxk]# echo $PATH
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dxk/.local/bin:/home/dxk/bin
    [root@admin dxk]# whoami
    root
    [root@admin dxk]# exit
    exit
    [dxk@admin ~]$ 
    #不改变环境变数和目录
    

    只有 -c 选项执行一条命令后用户身份会随即自动切换回来,其他切换用户的方式不会自动切换,只能使用 exit 命令进行手动切换

    su 和 su - 的区别
    因为我们su命令最常用的就是 susu - ,这两个的的区别是:
    使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。我们知道,环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命令无法正确执行。在不使用 su - 的情况下,虽然用户身份成功切换,但环境变量依旧用的是原用户的,切换并不完整

    (二) 查看当前用户信息的命令

    1.who命令

    显示目前登录到系统的用户的命令 who
    显示当前已登录的用户信息

    用法: who [选项]… [ 文件 | 参数1 参数2 ]

    选项:

    • -a :显示所有用户的所有信息(上次系统启动时间、显示已死的进程、显示系统登录进程、显示由 init 进程衍生的活动进程、显示当前的运行级别、用+,- 或 ? 标注用户消息状态、列出已登录的用户)

    • -q:打印一份在本地系统上的用户和用户数的快速清单。

    • -r:显示当前系统的运行级别

    • -b:指出最近系统启动的方式和时间

    who命令实际上就是通过访问该/var/run/utmp日志文件而获取的相关信息

    【例 1】

    #第一列显示当前登录到服务器的用户
    #第二列显示登陆的终端设备
    #第三列显示登陆的时间和终端的ip地址
    [root@admin ~]# who     #等同于who -s
    root     tty1         2020-07-14 10:11
    root     pts/0        2020-07-14 09:07 (192.168.126.1)
    dxk      pts/1        2020-07-14 09:43 (192.168.126.1)
    [root@admin ~]# who -s
    root     tty1         2020-07-14 10:11
    root     pts/0        2020-07-14 09:07 (192.168.126.1)
    dxk      pts/1        2020-07-14 09:43 (192.168.126.1)
    [root@admin ~]# who -H      #添加表头
    名称   线路       时间           备注
    root     tty1         2020-07-14 10:11
    root     pts/0        2020-07-14 09:07 (192.168.126.1)
    dxk      pts/1        2020-07-14 09:43 (192.168.126.1)
    

    【例 2】

    [root@admin ~]# who -a
               系统引导 2020-07-14 09:06
    root     + tty1         2020-07-14 10:11 00:21         744
               运行级别 3 2020-07-14 09:07
    root     + pts/0        2020-07-14 09:07   .          1615 (192.168.126.1)
    dxk      + pts/1        2020-07-14 09:43   .          1830 (192.168.126.1)
               pts/2        2020-07-14 10:10              1727 id=ts/2  终端=0 退出=0
    #第一列显示当前登录到系统的用户名
    #第二列显示对应用户在终端设备的登陆方式
    #第三列显示对应用户的登录时间
    #第四列显示对应用户的客户端ip地址
    #第一行和第三行显示本机登陆的方式和运行级别
    

    说明:系统的启动级别有7个运行级别:

    • 0: 系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。
    • 1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
    • 2:多用户模式,没有NFS网络支持。
    • 3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
    • 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
    • 5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。
    • 6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。

    提示:输入init 0,系统会关机;输入init 6,系统会自动重启

    查看系统运行级别:runlevel

    [root@admin ~]# runlevel
    N 3
    

    【例 3】

    #-q:打印一份在本地系统上登录的用户和用户数的快速清单
    [root@admin ~]# who -q
    root root dxk
    # 用户数=3
    

    【例 4】

    #-r:显示当前进程的运行级别
    [root@admin ~]# who -r
             运行级别 3 2020-07-14 09:07
    

    【例 5】

    #-b:指出最近系统启动的方式和时间
    [root@admin ~]# who -b
             系统引导 2020-07-14 09:06
    

    2.w命令

    显示登录到系统的用户信息的命令 w

    w命令和who命令类似
    Linux w命令用于显示目前登入系统的用户信息。

    执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。

    w命令实际上就是通过访问该/var/run/utmp日志文件而获取的相关信息

    用法: w [选项][用户名称]

    选项:

    • -f 开启或关闭显示用户从何处登入系统(单独使用w命令是默认开启显示ip)
    • -h 不显示各栏位的标题信息列
    • -l 使用详细格式列表,此为预设值
    • -s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间
    • -u 忽略执行程序的名称,以及该程序耗费CPU时间的信息
    • -V 显示版本信息
      单独执行 w 指令会显示所有的用户,也可指定用户名称,仅显示某位用户的相关信息

    【例 1】

    #第一行显示当前的系统时间,启动 (up)多久,几个使用者以及在系统上的平均负载等
    #第二行是各个选项的说明(用户名,登陆的终端方式、客户端IP地址、登录时间、系统运行时长、JCPU、PCPU、当前运行进程)
    #第三行以后,每行代表一个使用者及其相关信息
    #
    [root@admin ~]# w			#单独使用w命令是默认开启显示ip
     10:56:54 up  1:50,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      10:11   45:02   0.04s  0.04s -bash
    dxk      pts/0    192.168.126.1    10:55   30.00s  0.11s  0.11s -bash
    root     pts/1    192.168.126.1    10:56    2.00s  0.08s  0.03s w
    [root@admin ~]# w -f    #使用-f选项不显示ip
     11:07:26 up  2:00,  3 users,  load average: 0.01, 0.02, 0.05
    USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1      10:11   55:34   0.04s  0.04s -bash
    dxk      pts/0     10:55   11:02   0.11s  0.11s -bash
    root     pts/1     10:56    6.00s  0.06s  0.00s w -f
    

    【例 2】

    #-h 不显示各栏位的标题信息列
    [root@admin ~]# w
     11:09:34 up  2:03,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      10:11   57:42   0.04s  0.04s -bash
    dxk      pts/0    192.168.126.1    10:55   13:10   0.11s  0.11s -bash
    root     pts/1    192.168.126.1    10:56    6.00s  0.06s  0.00s w
    [root@admin ~]# 
    [root@admin ~]# w -h 
    root     tty1                      10:11   57:03   0.04s  0.04s -bash
    dxk      pts/0    192.168.126.1    10:55   12:31   0.11s  0.11s -bash
    root     pts/1    192.168.126.1    10:56    7.00s  0.06s  0.00s w -h
    

    【例 3】

    [root@admin ~]# w
     11:17:45 up  2:11,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      10:11    1:05m  0.04s  0.04s -bash
    dxk      pts/0    192.168.126.1    10:55   21:21   0.11s  0.11s -bash
    root     pts/1    192.168.126.1    10:56    1.00s  0.14s  0.00s w
    [root@admin ~]# w -s    #-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间
     11:17:48 up  2:11,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM              IDLE WHAT
    root     tty1                       1:05m -bash
    dxk      pts/0    192.168.126.1    21:24  -bash
    root     pts/1    192.168.126.1     4.00s w -s
    [root@admin ~]# w -u		#-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息
     11:17:51 up  2:11,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      10:11    1:05m  0.04s  0.04s -bash
    dxk      pts/0    192.168.126.1    10:55   21:27   0.11s  0.11s -bash
    root     pts/1    192.168.126.1    10:56    7.00s  0.14s  0.00s w -u
    

    【例 4】
    也可以查看指定的用户的信息

    [root@admin ~]# w dxk
     11:20:03 up  2:13,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    dxk      pts/0    192.168.126.1    10:55   23:39   0.11s  0.11s -bash
    [root@admin ~]# w root
     11:20:07 up  2:13,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      10:11    1:08m  0.04s  0.04s -bash
    root     pts/1    192.168.126.1    10:56    7.00s  0.17s  0.00s w root
    

    4.last命令

    列出目前与过去登入系统的用户相关信息的命令 last

    用法: last [选项]

    选项:

    • -a:把从何处登入系统的主机名称或ip地址,显示在最后一行;
    • -d:将IP地址转换成主机名称;
    • -f <记录文件>:指定记录文件。
    • -n :<显示列数>或-<显示列数>:设置列出名单的显示列数;
    • -R:不显示登入系统的主机名称或IP地址;
    • -x:显示系统关机,重新开机,以及执行等级的改变等信息

    last命令实际上是通过访问/var/log/wtmp日志文件获得这些信息

    【例 1】

    [root@admin ~]# last 
    root     pts/1        192.168.126.1    Tue Jul 14 10:56   still logged in   
    dxk      pts/0        192.168.126.1    Tue Jul 14 10:55   still logged in   
    root     tty1                          Tue Jul 14 10:11   still logged in   
    dxk      pts/1        192.168.126.1    Tue Jul 14 09:43 - 10:55  (01:11)    
    test01   pts/2        192.168.126.1    Tue Jul 14 09:23 - 10:10  (00:47)    
    dxk      pts/1        192.168.126.1    Tue Jul 14 09:22 - 09:43  (00:21)    
    #still logged in:表示依然在线
    #09:43 - 10:55  表示该用户在线的时间区间
    #(01:11)表示用户的在线时长
    wtmp begins Mon Jun 29 17:14:22 2020
    

    【例 2】

    #-a:把从何处登入系统的主机名称或ip地址,显示在最后一行;
    [root@admin ~]# last -a 
    root     pts/1        Tue Jul 14 10:56   still logged in    192.168.126.1
    dxk      pts/0        Tue Jul 14 10:55   still logged in    192.168.126.1
    root     tty1         Tue Jul 14 10:11   still logged in    
    dxk      pts/1        Tue Jul 14 09:43 - 10:55  (01:11)     192.168.126.1
    test01   pts/2        Tue Jul 14 09:23 - 10:10  (00:47)     192.168.126.1
    dxk      pts/1        Tue Jul 14 09:22 - 09:43  (00:21)     192.168.126.1
    
    wtmp begins Mon Jun 29 17:14:22 2020
    

    【例 3】

    #-d:将IP地址转换成主机名称;
    [root@admin ~]# last -d 
    root     pts/1        192.168.126.1    Tue Jul 14 10:56   still logged in   
    dxk      pts/0        192.168.126.1    Tue Jul 14 10:55   still logged in   
    root     tty1         0.0.0.0          Tue Jul 14 10:11   still logged in   
    dxk      pts/1        192.168.126.1    Tue Jul 14 09:43 - 10:55  (01:11)    
    test01   pts/2        192.168.126.1    Tue Jul 14 09:23 - 10:10  (00:47)    
    dxk      pts/1        192.168.126.1    Tue Jul 14 09:22 - 09:43  (00:21)    
    
    wtmp begins Mon Jun 29 17:14:22 2020
    

    【例 4】

    -n <显示列数>或-<显示列数>:设置列出名单的显示列数;
    [root@admin ~]# last -n 4    #只显示最近的四条信息
    root     pts/1        192.168.126.1    Tue Jul 14 10:56   still logged in   
    dxk      pts/0        192.168.126.1    Tue Jul 14 10:55   still logged in   
    root     tty1                          Tue Jul 14 10:11   still logged in   
    dxk      pts/1        192.168.126.1    Tue Jul 14 09:43 - 10:55  (01:11)    
    
    wtmp begins Mon Jun 29 17:14:22 2020
    

    另外,如果想要知道每个账户最近登录的时间,则可以使用lastlog这个命令,lastlog会去读取/var/log/lastog文件,并将数据输出

    5.lastlog命令

    lastlog命令用于显示系统中所有用户最近一次登录信息

    lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示Never logged。注意需要以root身份运行该命令。

    lastlog命令实际是查看/var/log/lastlog文件

    用法: lastlog [选项] 参数

    选项:

    • -b:–before DAYS 仅打印早于 DAYS 的最近登录记录
    • -t: --time DAYS 仅打印晚于 DAYS 的最近登录记录
    • -u:–user LOGIN 打印 LOGIN 用户的最近登录记录

    【例 1】

    显示系统中所有用户最近一次的登录信息

    [root@admin ~]# lastlog
    用户名           端口     来自             最后登陆时间
    root             pts/1    192.168.126.1    二 7月 14 10:56:52 +0800 2020
    bin                                        **从未登录过**
    daemon                                     **从未登录过**
    adm                                        **从未登录过**
    ……中间省略……
    apache                                     **从未登录过**
    ntp                                        **从未登录过**
    test01           pts/2    192.168.126.1    二 7月 14 09:23:46 +0800 2020
    
    

    【例 2】

    显示指定天数前的登录信息

    #显示10天前的登录信息
    [root@admin ~]# lastlog -b 10
    

    【例 3】

    显示指定天数以来的登录信息

    #显示10天以来的登录信息
    [root@admin ~]# lastlog -t 10
    

    【例 4】

    显示指定用户的最近登录信息

    #显示dxk用户的信息
    [root@admin ~]# lastlog -u dxk
    

    (三)linux下记录用户登录信息的日志文件

    1. /var/log/lastlog文件

    使用lastlog命令查看该文件,查看系统用户的登录历史
    该日志文件记录最近成功登陆的事件和最后一次不成功的登录事件,由login生成。
    在每次用户登陆时被查询,该文件是一个二进制文件,需要使用lastlog命令查询,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为“Never logged in”。该命令只能以root权限执行

    2. /var/log/wtmp文件

    该文件存放所有用户的所有登录信息,last命令就是通过这个文件获取信息的
    该日志文件永久记录每个用户登录、注销及系统的启动、停机事件。
    因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录次数。
    该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端、tty或时间显示相应的记录。

    3. /var/run/utmp

    该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

    以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用cat、less之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件来查看

    二、系统相关命令

    (一)uname命令

    显示操作系统相关信息的命令 uname

    uname命令可用于显示电脑以及操作系统的相关信息

    用法:uname [选项]…

    选项:

    • -a:–all 输出所有信息
    • -s:–kernel-name 输出内核名称
    • -n:–nodename 输出网络节点上的主机名
    • -r:–kernel-release 输出内核发行版号
    • -v: --kernel-version 输出内核版本
    • -m: --machine 输出主机的硬件架构名称
    • -p: --processor 输出处理器类型或"unknown"
    • -i:–hardware-platform 输出硬件平台或"unknown"
    • -o: --operating-system 输出操作系统名称
      输出一组系统信息。如果不跟随选项,则视为只附加-s 选项。

    uname -a :显示系统内核名称、网络节点上的主机名、内核发行版号、内核版本、机器硬件架构名、处理器类型、硬件平台、操作系统名称

    [root@admin bin]# uname -a
    Linux admin 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    
    #分解
    [root@admin ~]# uname -s    #输出内核名称
    Linux
    [root@admin ~]# uname -n    #输出网络节点上的主机名
    admin
    [root@admin ~]# uname -r    #输出内核发行版号
    3.10.0-1127.el7.x86_64
    [root@admin ~]# uname -v    输出内核版本
    #1 SMP Tue Mar 31 23:36:51 UTC 2020
    [root@admin ~]# uname -m    #输出主机的硬件架构名称
    x86_64
    [root@admin ~]# uname -p    #输出处理器类型
    x86_64
    [root@admin ~]# uname -i    #输出硬件平台
    x86_64
    [root@admin ~]# uname -o    #输出操作系统名称
    GNU/Linux
    

    也可以查看文件:

    [root@admin ~]# cat /proc/version
    

    查看发行版本:

    [root@admin ~]# cat /etc/redhat-release
    

    (二)uptime命令

    输出系统运行信息的命令 uptime

    显示当前系统的运行信息

    用法 : uptime [选项]

    选项:

    • -p:显示当前系统的运行时长
    • -s:显示当前系统的启动时间

    显示内容简介:
    依次显示:当前时间、系统已经运行了多长时间、有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载

    [root@admin ~]# uptime
     15:37:28 up  1:33,  2 users,  load average: 0.00, 0.01, 0.05
    
    • 15:37:28:表示系统的当前时间

    • up 1:33:表示系统已经运行了1小时33分钟;系统累计运行时间,重启后清零

    • 2 users:当前在线的用户数量;注意这里实际是连接数量,可以用w命令查看,同一用户多个连接的时候算作多个用户

    • load average: 0.00, 0.01, 0.05:最近1分钟、5分钟、15分钟系统的负载,值越低表示系统性能越好

    【例 1】

    查看系统平均负载

    [root@admin ~]# cat /proc/loadavg
    0.00 0.01 0.05 1/148 1824
    #前3个数字表示最近1、5、15分钟的平均进程数量; 第4个数分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID
    

    系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:

    • 它没有在等待I/O操作的结果
    • 它没有主动进入等待状态(也就是没有调用’wait’)
    • 没有被停止(例如:等待终止)

    一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.

    【例 2】

    查看系统运行时长

    [root@admin ~]# uptime -p
    up 6 minutes
    

    【例 3】

    显示系统的启动时间

    [root@admin ~]# uptime -s
    2020-07-14 16:28:45
    

    【例 4】
    查看CPU详细信息:

    [root@admin ~]# cat /proc/cpuinfo
    

    统计CPU核心数:

    [root@admin ~]# cat /proc/cpuinfo | grep processor | wc -l
    4
    

    或top命令下按【1】键查看:

    top - 17:40:45 up 46 min,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks: 127 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
    %Cpu0  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
    %Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
    %Cpu2  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
    %Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
    KiB Mem :  1863040 total,  1539440 free,   182696 used,   140904 buff/cache
    

    (三)dmesg命令

    显示开机信息的命令 dmesg

    dmesg命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信 息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。

    kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg的日志文件中

    dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过less或grep使用管道查看dmesg的输出,这样可以更容易找到待查信息。

    用法: dmesg [选项]

    选项:

    • -c:显示信息后,清除ring buffer中的内容。
    • -s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小。
    • -n:设置记录信息的层级。

    【例 1】

    我们可以使用如 more、tail, less或者 grep 文字处理工具来处理 dmesg 命令的输出。由于dmesg日志的输出不适合在一页中完全显示,使用cat命令不方便查看,因此我们使用管道(pipe)将其输出送到more或者less命令单页显示

    [root@admin ~]# dmesg | more[root@admin ~]# dmesg | less
    

    【例 2】

    只输出dmesg命令的前20行日志

    [root@admin ~]# dmesg | head  -20
    

    只输出dmesg命令最后20行日志

    [root@admin ~]# dmesg | tail  -20
    

    查看dmesg头部的信息

    [root@admin ~]# dmesg | head
    

    查看dmesg尾部的信息

    [root@admin ~]# dmesg | tail
    #如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式
    
    

    【例 3】

    搜索包含特定字符串的被检测到的硬件

    #如果以太网连接出现问题,那么可以在dmesg日志中搜索eth
    [root@admin ~]# dmesg | grep eth
    #如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式
    [root@admin ~]# dmesg | grep DMA
    

    【例 4】

    清空dmesg缓冲区日志

    我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。

    [root@admin ~]# dmesg  -c
    

    (四)free命令

    显示系统内存状态的命令 free

    free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存

    free 命令中的信息都来自于/proc/meminfo文件

    用法: free [选项]

    选项:

    • -b:以Byte为单位显示内存使用情况
    • -k:以KB为单位显示内存使用情况
    • -m:以MB为单位显示内存使用情况
    • -g :以GB为单位显示内存使用情况
    • -h:以易于阅读的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
    • -s 间隔秒数: 持续观察内存使用状况
    • -t:显示内存总和列
    • -V:显示版本信息

    下面先解释一下输出的内容:

    [root@admin ~]# free
                  total        used        free      shared  buff/cache   available
    Mem:        1863040      184852     1541648        9708      136540     1530292
    Swap:       3907580           0     3907580
    
    1. Mem 行(第二行)是内存的使用情况。
    2. Swap 行(第三行)是交换分区的使用情况。
    3. total 列显示系统总的可用物理内存和交换空间大小。
    4. used 列显示已经被使用的物理内存和交换分区。
    5. free 列显示还有多少物理内存和交换空间可以使用。
    6. shared 列显示被共享使用的物理内存大小。
    7. buff/cache 列显示被 buffer(缓冲区) 和 cache(缓存) 使用的物理内存大小。
    8. available 列显示还可以被应用程序使用的物理内存大小。

    【例 1】

    以合适的单位显示内存使用情况

    [root@admin ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        180M        1.5G        9.5M        133M        1.5G
    Swap:          3.7G          0B        3.7G
    

    【例 2】

    以总和的形式显示内存的使用信息

    [root@admin ~]# free -t
                  total        used        free      shared  buff/cache   available
    Mem:        1863040      185156     1539248        9708      138636     1528940
    Swap:       3907580           0     3907580
    Total:      5770620      185156     5446828
    [root@admin ~]# free -ht
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        181M        1.5G        9.5M        135M        1.5G
    Swap:          3.7G          0B        3.7G
    Total:         5.5G        181M        5.2G
    

    【例 3】

    有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:

    [root@admin ~]# free -s 3
                  total        used        free      shared  buff/cache   available
    Mem:        1863040      185272     1539132        9708      138636     1528824
    Swap:       3907580           0     3907580
    
                  total        used        free      shared  buff/cache   available
    Mem:        1863040      185288     1539116        9708      138636     1528808
    Swap:       3907580           0     3907580
    
                  total        used        free      shared  buff/cache   available
    Mem:        1863040      185288     1539116        9708      138636     1528808
    Swap:       3907580           0     3907580
    
    ^C
    [root@admin ~]# 
    

    上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。

    其实 free 命令中的信息都来自于 /proc/meminfo 文件。/proc/meminfo 文件包含了更多更原始的信息,只是看起来不太直观

    [root@admin ~]# cat /proc/meminfo
    

    三、单用户模式下修改root密码

    忘记root密码这个问题出现的几率是很高的,不过,在linux下解决这个问题也很简单,只需重启linux系统,然后引导进入linux的单用户模式(init1),由于单用户模式是不需要输入登录密码的,因此,可以直接登录系统,修改root密码即可解决问题

    重新启动进入单用户模式,系统会提供 root 权限的 bash 接口,此时用 passwd 命令修改账户密码

    这里以CentOS7.8为例:

    第一步:

    进入grub引导的文本界面:
    在这里插入图片描述
    注意:这个界面一闪而过,所以速度要快一些

    第二步:

    利用键盘上下键找到如下图所示以“Linux16”为开头的一行,将光标定位到该行,这时按下【End】键,就将光标定位到了该段的最后,也就是此时光标在”UTF-8“的8后面闪烁
    在这里插入图片描述
    此时按下空格键并输入字段rd.break,之后按下【Ctrl】+ X键,等待系统运行进入单用户模式(警告:rd.break前有一个空格
    在这里插入图片描述
    第三步: 进入单用户模式后

    重新以读写的形式挂载 /sysroot 文件系统
    执行命令mount -o remount,rw /sysroot在这里插入图片描述
    第四步: 进入文件系统
    执行命令chroot /sysroot
    在这里插入图片描述
    第五步: 修改密码
    执行命令echo “密码” |passwd --stdin root (这里的密码就是你重新为root用户设置的密码)
    在这里插入图片描述
    第六步: 刷新密码文件上下文
    执行命令touch .autorelabel
    在这里插入图片描述

    第七步: 退出单用户:exit

    在这里插入图片描述

    第八步: 重启系统
    执行 reboot命令
    在这里插入图片描述
    最后系统就会正常启动进入登陆界面,输入root用户和你修改后的密码就可以登录了
    在这里插入图片描述

    四、快捷键

    Ctrl + c 终止当前进程
    Ctrl + a 光标跳转到行首
    Ctrl + e 光标跳转到行尾
    Ctrl + k 清空光标之后(包括光标)的所有内容
    Ctrl + u 清空光标(不包括光标)之前的所有内容
    Ctrl + l 清屏(等同于清除屏幕信息的命令 clear)

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

修改uptime