我们接着介绍Linux中的命令。
现在假设有这样的一个情况:
假如说你是一个Linux系统专家,你有一个朋友,他的Linux系统出了问题,邀请你帮他解决一下。由于不是你的系统,那么你可能首先就需要确定是谁登录了这个系统,登录系统的这个用户名的身份有什么样的权限,这样方便你做进一步的问题排查。
那么如何知道当前登录这个系统的人的身份呢?--使用下面的命令就可以显示出来他的:
●whoami
说明:此命令用于显示出当前登录系统的人的身份(用户名)。
我们打开Terminal,先输入自己的用户名和密码。
我在这里输入我自己的用户名xiaozhi,登录进了系统。
然后我输入whoami,然后回车,就显示出当前登录这个系统的人的身份:xiaozhi。如下图:
现在我的这个系统是以xiaozhi这个身份登陆的,我想以另一个身份登录,用什么命令呢?
●su 已经存在的用户名
说明:su是substitute的简写,substitute就是替代的意思。所以以su开头,后面跟一个已经存在的用户名,使用这个命令,就会把系统切换到su后面跟的这个用户名的身份。
如果需要你再输入切换过来的用户名和密码,再输入这个用户名和密码就行。
如果su 后面跟的是一个不存在的用户名,或者说你随便乱打的字母,就会提示这个用户不存在。
如下图:
如上图,我在su后面随便输入了wahaha这个用户名,显示结果就是:
user wahaha does not exist
如果我想退出或者说注销当前登录的用户,使用下面的命令:
●exit
说明:这个命令用于退出或者说注销当前登录的用户。
这个命令必须是小写,Linux系统对命令的字母大小写非常敏感,如果是小写就必须是小写,如果是大写就必须是大写,不能输错。
输入exit并回车后,就会退出当前登录的用户,回到登录前的状态。
如下图:
登录系统就是输入你的用户名和密码,退出系统就是输入exit。
我们是在自己电脑上创建了一个虚拟机,然后又把虚拟机开机进入虚拟机上的Linux系统的。现在如果我们想关机,使用什么命令呢?
有三个常见的关机命令:
●halt
说明:这个命令相当于把整个系统停止,差不多相当于让系统休眠的意思。
halt这个英文单词本身就是停止、中止的意思。
●poweroff
说明:关闭系统和电源。
●shutdown -H/-P/-r/-h/-k
说明:shutdown命令用于关机,shutdown后面跟-H/-P/-r/-h/-k这几个选项,有不同的意义。
我们可以在命令行输入shutdown --help,这样相当于查看shutdown的说明书。
如下图:
shutdown -H
shutdown后面跟-H,相当于halt的命令。
shutdown -P
shutdown后面跟-P,相当于poweroff的命令。
shutdown -r
shutdown后面跟-r,就是重启的意思。r是reboot的首字母。reboot就是重启的意思。
shutdown -h
shutdown后面跟-h,等同于poweroff的命令,比halt的权限要高。
shutdown -k
shutdown后面跟-k,相当于先给一个关机的警告,然后再让你做决定。
shutdown -c
shutdown后面跟-c,相当于给关机的过程一个倒计时的期限。在这个倒计时的期限内可以取消关机。
我们现在看看shutdown -k是什么效果:
当我们输入shutdown -k时,它会提示:Must be root.
意思是权限不够,那么我们使用超级权限,超级权限就是在前面加上sudo,即:sudo shutdown -k
然后需要输入密码,输入密码后,会提示将会在什么时间关机,可以用shutdown -c命令去取消。
halt、poweroff、shutdown三个命令的大概区别:
halt是最简单的关机命令,相当于调用shutdown -h。
poweroff是关闭系统之后,还要关闭电源。
shutdown是以一种安全的方式关闭系统,所有登录系统的用户都可以看到关机的提示信息。可以指定立刻关机,也可以指定系统在延时一定时间后关机。这可以使其他程序有时间对处于编辑状态的文件进行存储、将缓冲数据进行清除等等。
如果我们想看看系统中最占空间、最占资源的程序是什么,就可以使用一个命令:
●top
说明:这个命令就相当于我们在Windows系统里面打开任务管理器的操作。可以看到系统后台有哪些程序正在运行,哪些程序占用资源和内存最高。
比如说你做系统管理员的话,如果服务器正在被入侵,那么使用top命令是非常有用的。假如说你用top看到后台有一个你不认识的程序正在运行,而且它还占用大量的内存空间和资源,有可能就是你的服务器被入侵了,这时就可以用前面的PID来反查出现了什么情况。至于怎么反查后面再学习。
top命令就是查看系统后台有哪些程序在运行。
我们在命令行输入top,回车,如下图:
这就是系统后台正在运行的程序,而且这个结果是不断变化的,就是运行的程序是在实时变动的。
我们还可以在这个界面上按下h,就会出现关于这个界面上的命令操作的说明。
按下h后,如下图:
如果要退出上面的界面,可以按q键,就会回到top命令结果的页面,如果要退出top命令结果的页面,也是按q键,在top命令结果的页面按下q键之后,这个top命令的结果就不再实时变化了,说明退出了这个页面,回到了命令行正常状态。
如果要把Terminal中前面的信息都清除,使用命令:
●clear
说明:清除命令行中的信息。
使用clear命令之后,就会清除命令行中的信息,效果如下:
大家可以自行动手实践。