无基础学Linux(5)——Linux系统信息获取

本文详细介绍了Linux中用于获取系统信息、用户登录详情和时间管理的一系列命令,如uptime、w、who、whoami、last、uname、date、cal等。通过这些命令,你可以查看系统运行时长、当前登录用户、进程信息、用户登录历史以及系统时间和日期。此外,还讲解了如何使用grep、cut、sort、uniq等工具对命令输出进行过滤和处理,以获取所需的具体信息。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、uptime 系统运行时长,平均负载

在这里插入图片描述
1、当前时间
2、使用的时间
3、用户人数
4、平均负载:系统最近一段时间的压力

如果不会用可以使用 uptime --help指令或者uptime -h指令,效果相同,如下
在这里插入图片描述
-p, --pretty 使用时间
-h, --help 帮助指令
-s, --since 开启时间
-V, --version 版本
在这里插入图片描述

二、w 获取当前登录用户和正在执行的进程

1、w学习
在这里插入图片描述

-f  开启或关闭显示用户从何处登入系统。
-h  不显示各栏位的标题信息列。
-l  使用详细格式列表,此为预设值。
-s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
-V  显示版本信息。

在这里插入图片描述
还有uptime的信息,下面有用户、使用的终端、远程主机名、登录系统起始时间、(IDLE)空闲时间、JCPU指的是与该tty终端连接的所由进程占用的时间,不包括过去的后台作业时间、PCPU 指的是当前进程(即w项中显示的)所占用的时间、执行的事情。
在这里插入图片描述

三、who 显示当前登录系统的用户信息

2、who学习
在这里插入图片描述

-H 或 --heading:显示各栏位的标题信息列;
-i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
-m:此参数的效果和指定"am i"字符串相同;
-q 或--count:只显示登入系统的帐号名称和总人数;
-s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
-w 或-T 或--mesg或--message或--writable:显示用户的信息状态栏;
--help:在线帮助;
--version:显示版本信息。

在这里插入图片描述
相比于w,who的信息被精简,如下
在这里插入图片描述

四、whoami输出当前用户的有效名称

在这里插入图片描述
换一下再执行就不一样了,如下
在这里插入图片描述
3、sudo学习
4、su学习

sudo、sudo -i与su

sudo :暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。
缺点是每次执行超级用户权限都要在命令前加上 sudo 
优点是在当前终端再使用 sudo 不要再重复输入密码(只对于当前终端有效)sudo -i:为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。
提示输入密码时该密码为当前账户的密码。没有时间限制。
执行该命令后提示符变为`#`而不是`$`。想退回普通账户时可以执行exit或logout 。

su : 切换到某某用户模式,提示输入密码时的密码为切换后账户的密码,用法为“su  账户名称”。
如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。

五、last显示用户最近登录信息

在这里插入图片描述
5、last学习
在这里插入图片描述
-f “file”:指定记录文件
-n “num":指定输出记录致
-x:显示重新关机等信息

用下面的语句可以对信息进行筛选,有兴趣可以自己研究一下

last | grep -v "wtmp begins" | grep -v "^$" |cut -d '' -f 1 | sort | uniq -c |sort -n -r | head -n 1

其中
6、gerp学习

grep -v "wtmp begins"
grep -v "^$"

以上指令意思为:输出的信息里去除包含有"wtmp begins"和"^$"的选项。

grep 命令用于查找文件里符合条件的字符串
grep [-abcEFGhHilLnqrsvVwxy]
-v :显示不包含匹配文本的所有行

7、cut学习

cut -d '' -f 1

以上指令意思为:-d ‘’ 切掉空格符,-f 1只显示第一区域数据

cut 命令用于显示每行从开头算起 num1 到 num2 的文字。
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

8、sort学习

sort -n -r

以上指令意思为:依照数值的大小排序,取反

sort 命令用于将文本文件内容加以排序。
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-u 意味着是唯一的(unique),输出的结果是去完重了的。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息。

9、uniq学习

uniq -c

以上指令意思为:在每列旁边显示该行重复出现的次数

uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
-c或--count 在每列旁边显示该行重复出现的次数。
-d或--repeated 仅显示重复出现的行列。
-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
-u或--unique 仅显示出一次的行列。
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
--help 显示帮助。
--version 显示版本信息。

10、head学习

head -n 1

以上指令意思为:只显示一行

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数。

可以用以下方式尝试一下以上操作,不会vim的可以先看一下vim的使用参考

cd qqq      #先来到一个文件夹下
vim 1.log   #新建一个文本,也可以用这个指令查看里面的内容
man ls > 1.log
man man >> 1.log
man scanf >> 1.log   #将前面的内容放到1.log这个文件当中去
cat 1.log | tr -s -c "a-zA-Z" "\n"

在这里插入图片描述
11、tr学习

tr 命令用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d, --delete:删除指令字符
-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
--help:显示程序用法信息
--version:显示程序本身的版本信息

然后执行之前的那一堆,用more来看一下,按ctrl+c可退出
在这里插入图片描述
只显示一行的话如下
在这里插入图片描述
以上就可以用Linux处理英文高频词汇,自己找啦

六、uname输出当前系统信息

在这里插入图片描述
12、uname学习
在这里插入图片描述

-a或--all  显示全部的信息。
-m或--machine  显示电脑类型。
-n或--nodename  显示在网络上的主机名称。
-r或--release  显示操作系统的发行编号。
-s或--sysname  显示操作系统名称。
-p 处理器类型主:硬件平台
-v  显示操作系统的版本。
--help  显示帮助。
--version  显示版本信息。

七、date 显示或设置系统时间与日期

在这里插入图片描述
其中 date +“%s”所示的数值为计算机元年开始到此刻的时间
13、date学习

八、cal 显示日历

在这里插入图片描述
cal -hjy 命令会依次列出今年一月到十二月365天
在这里插入图片描述
cal -h 命令显示当年当月的日历
cal -j 命令显示当年当月的每一天是365天的第几天
cal -y 命令显示当年十二个月的日历
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值