常见系统管理类命令(续)

su命令
用于切换用户
(1)root切换其他用户:不需要密码
其他用户切换root:需要密码
其他用户切换其他用户:需要密码
(2)登录式shell,非登录式shell
su :切换用户,但不改变环境变量(环境变量还是上个用户的),工作目录也不改变,为非登录式shell环境(echo $PATH用于显示当前PATH环境变量)
su -:切换用户,环境变量和工作目录都为切换后用户,为登录式shell环境
常见系统管理类命令(续)
clear命令
用于清空屏幕
补充:(1)bash特性之快捷键
CTRL+l 清空屏幕
CTRL+a 光标跳到命令行首
CTRL+e 光标跳到命令行尾
CTRL+u 删除命令行光标前所有字符
CTRL+k 删除命令行光标后所有字符(包括光标字符)
CTRL+c 终止当前进程
(2)配置本地源时如何永久把光驱设备文件挂载到对应的文件目录(data)上
①:vim /etc/fstab
/dev/sr0 /data iso9660 defaults 0 0
:wq
mount -a :让文件立即生效,并检查语法错误。
②:vim /etc/rc.d/rc.local
if [ -d /data ]
then
mount /dev/sr0 /data
fi
:wq
③:[[email protected] ~]# chmod +x /etc/rc.d/rc.local #给予可执行权限
who 命令
显示当前真正登录系统中的用户(不会显示那些用su命令切换用户的登录者)
常见系统管理类命令(续)
第一列:登录的用户名
第二列:终端设备
第三列:登录时间
第四列:客户端的IP
命令选项
who -m:显示的是登录时的用户名,和who am i命令一样
whoami:显示的是当前用户下的用户名
常见系统管理类命令(续)
who -q:打印一份在本地系统上的用户和用户数
who -r:显示当前进程的运行级别
who -b:指出最近系统启动的时间和日期
who -a:处理/etc/utmp文件或有全部信息的指定文件。等同于指定-bdlprtTu标志。(有关当前登录用户的信息记录在文件utmp中)
常见系统管理类命令(续)
补充: 系统启动级别
0:关机
1:单用户
2:多用户,不带网络文件系统(不可访问网络)
3:多用户(全功能,不带图形界面)
4:预留,未使用
5:带有图形界面系统模式
6:重启(reboot)
例子,init0 关机,init6 重启。
例子, 单用户修改root密码
①:重启虚拟机,进入grub引导的文本界面,上下键选中第一行,按“e”;
②:进入单用户,在Linux16一行按end键(fn+→)跳到行尾,输入rd.break,再按ctrl+x;
③:重新以读写的形式挂载/sysroot文件系统;
mount -o remount,rw /sysroot
④:进入文件系统 ;
chroot /sysroot
⑤:修改密码;
echo “密码” |passwd --stdin root
⑥:刷新密码文件上下文;
touch .autorelabel
⑦:退出单用户;
输入两次exit
常见系统管理类命令(续)
w命令
显示登录到系统的用户信息,和who命令相似
w -h:不显示各栏目的标题信息列
常见系统管理类命令(续)
第一行信息说明:
14:41:57 —当前系统时间
up 14min----系统累计运行时间,重启后清零
4 users-----登录用户数
load average: 0.00, 0.01, 0.05-----平均负载量,系统过去1,5,15分钟的平均负载信息,值越低表示系统性能越好
第二行信息说明:
uesr----登录用户名
TTY-----登录用户使用的终端名
FROM-----登录用户来源的主机名或IP地址
[email protected]用户登录时长
IDLE-----自用户上一次与终端进行交互以来的空闲时间
JCPU-----附加到tty的所有进程使用的时间
PCPU-----用户当前进程所用的时间,显示在“WHAT”字段中的那个
WHAT----用户当前的进程及选项/参数
uname命令
显示操作系统相关信息的命令
uname -v:查看内核版本(时间为内核发行日期)
uname -n:显示在网络上的主机名称
uname -r:查看内核发行版本
3.10.0-957.el7.x86_64
主版本号:3(目前发布的内核主版本)
次版本号:10(偶数,稳定版;奇数,开发版)
释出版本:0(错误修补的次数)
修改版本:957(建立号,每个建立号可以增加少量新的驱动程序或缺陷修复)
el7:el表示Enterprise Linux,7表示Centos7
X86_64:CPU结构,64位
name -m:显示硬件名称
uname -p;显示CPU类型
uname -i:查看硬件平台(硬件平台告诉我们构建内核的架构)
uname -o: 显示操作系统名称
常见系统管理类命令(续)
/proc/version文件 :说明正在运行的内核版本
常见系统管理类命令(续)
uptime命令
输出系统运行信息的命令(与w命令第一行一样)
常见系统管理类命令(续)
CPU负载:在特定时间间隔内运行队列中的平均进程数
CPU使用率:CPU实际真正处理任务的时间和总时间的比值
CPU负载很高而使用率很低,是什么问题?
等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低。
last命令
列出目前与过去登入系统的用户相关信息
last -n 4:设置列出名单的显示列数(此处为4)
last -f /var/log/lastlog:指定记录文件
last -a:把从何处登录的用户名或IP显示在最后
补充:
(1)lastlog:显示系统用户的登录历史
常见系统管理类命令(续)
/var/log/lastlog
该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。
在每次用户登录时被查询,该文件是二进制文件,需要使用 lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。
如果某用户从来没有登录过,就显示为"Never logged in"。该命令只能以root权限执行。

(2)/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。
因此随着系统正常 运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。
该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,
last也能根据用户、终端 tty或时间显示相应的记录。
[[email protected] log]# last -f wtmp
常见系统管理类命令(续)
[[email protected] log]# last user01
常见系统管理类命令(续)
[[email protected] log]# last -t 20200612121212
常见系统管理类命令(续)

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

以上提及的3个文件(/var/log/wtmp、/var/run/utmp、 /var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。
这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故 不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。
下一步,login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。
wtmp文件被程序last使用。

dmesg命令
显示开机信息的命令
dmesg -n:设置记录信息的层级,设置级别为记录控制台启动信息的级别。比如,-n 1指的就是将此级别设为低级, 除了内核恐慌信息之外不会向控制台显示信息
dmesg -c:显示信息后,清除ring buffer中的内容
[[email protected] log]# more /var/log/dmesg
[[email protected] ~]# journalctl -x

free命令
显示系统内存状态的命令
free -s 间隔秒数:每隔多少秒持续观察内存使用状况
free -h:以人熟悉的方式显示

常见系统管理类命令(续)
[[email protected] ~]# cat /proc/meminfo
常见系统管理类命令(续)补充:
/etc目录:一般用来存放程序所需的整个文件系统的配置文件
/run目录:存放系统运行时所需文件
/var目录:存放系统执行过程中经常改变的文件
/dev目录:设备目录
/var/log目录:一般存放系统日志