了解你的系统
预备知识
当你登陆到系统,也许你不知道干嘛好?黑乎乎的的界面,你也不知道这台电脑到底有啥子东西,你是否很好奇配置咋样之类的。它都运行了哪些程序?等等的东西,那么我们就来了解一下我们使用的系统吧。
关于Linux系统运行级别:
在Linux中共有7个运行级别,它们分别是:
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入字符模式(就是黑乎乎的界面)
运行级别4:系统未使用,保留
运行级别5:图形界面模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
系统启动默认级别设置文件是 : /etc/inittab 。修改里面的 id:3:initdefault:这一行 ,就能改变启动默认启动级别,比如id:3 ,就是默认启动到字符界面。
实验步骤一
查看Linux中硬件信息
1、查看CPU信息
命令:cat /proc/cpuinfo
如图
这么多是不是感觉有点乱。那来选取一些我们想要的信息吧(至于为啥命令是这样写,以后会知道的)
查看逻辑CPU个数:
cat /proc/cpuinfo | grep "processor" | wc -l
查看物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
查看core id的数量,如果有两个逻辑CPU具有相同的 core id ,意味这,CPU启用的超线程
cat /proc/cpuinfo | grep "core id" | uniq | wc -l
2、查看linux的内存信息
命令:cat /proc/meminfo
如图:
显示的信息较多,我们可以用另外一个命令 :free 来查看内存的信息:
Total:代表总大小 ; used :已经使用的大小;free:剩余的大小;Shared:多个进程共享的内存总额;Buffers/cached:磁盘缓存的大小。
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是887016KB,已用内存是133280KB,其中包括,内核(OS)使用+Application(X, oracle,etc等)使用的+buffers+cached。
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如上图:
931612=887016+6888+37708
3、磁盘使用情况查看
磁盘分区信息查看之fdisk -l
如图:
以后我们会详细讲解linux下如何用fdisk进行分区,这里稍做了解就好了。
磁盘使用情况查看之 df -Th命令
实验步骤二
身份信息查看
我是谁?
命令:whoami 如图:
可以看到,我们当前的用户身份是root。
还有谁?
命令:who
Linux作为一个多用户的系统,常常是很多人同时使用的,如果你作为管理员,当然希望都有哪些人在用系统。
当前的话,只有我们自己登陆到这台系统。
系统在干嘛?
系统都在运行哪些程序?
命令:top
作用:相当与windows里面的任务管理器
里面会显示cpu,内存,swap的使用情况等。会列出具体进程所占用的资源
top 是动态显示的,如果要退出,按 q 键就好了。
进程查看之二 ps 命令
ps 是显示瞬间的状态,而 top是实时动态显示的
最常用命令:ps -aux
解释: 显示所有包含其他使用者的进程
字段说明:
USER:该 process 属于哪个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有:
D 不可中断
R 运行中
S 休眠的进程,可以被某些信号唤醒
T 停止的进程
Z 僵死的进程,就像windows里面程序无响应差不多
系统都开启了哪些服务?
命令:chkconfig --list
解释:查询系统服务在系统各个运行级别上的信息
最左边的一列,是表示服务名,右边是指各个服务在各个系统启动级别上是否开启的状态。
查看服务命令之二:service
它就像我们windows里面的服务管理,可以开启和关闭服务。
要注意的是这个命令不是在所有的linux发行版本中都有。主要是在redhat、fedora、和centos中。
用法:service [服务名] status :查看某个服务的状态,比如查看 sshd这个服务的状态
查看所有服务的状态:
实验步骤三
系统网络链接状况
系统网卡链接状态?
命令:ifconfig
默认使用ifconfig 会显示已经启用的所有网卡的状态
如果只想看一其中一个的话,用 ifconfig [网卡名] 就行了,如 :ifconfig eth0
Inet addr :就是IP地址 ;Bcast:广播地址;Mask:是子网掩码;inet6 addr:这是ipv6的ip地址。RX:指接收 ;TX:指发送。
系统都建立了哪些链接?
命令:netstat
这条命令类似与windows里面的netstat
如果要看更加详细的,可以使用 netstat -atunp
会显示所有udp和tcp链接并显示进程号
心得体会
通过这次实验我掌握了如何查看系统基本信息,如何了解自己在系统中的角色和系统运行的进程有哪些
分析与思考
1、自行查阅资料,如何进入centos6.5的单用户模式?
系统启动引导到grub启动时(显示启动选项),按下c进入grub的命令模式。然后在kernel所在行按下e键,在该行后面加上single。然后再输入b引导系统就可以进入单用户模式了。例子:kernel /vmlinuz-xxxxx ro root=/dev/volgroup00/logvolroot single,进不去?启动的时候,狂按c键,画面停下来以后,按esc就可以看到菜单了。
2、自行查阅资料,如何使用ps 命令找出某个进程的pid?
用 ps 列出程序,得到 pid,比如 kafka
$ ps -ef | grep kafka
3、自行查阅资料,如何找到httpd的进程号?
ps -ef | grep httpd | wc -l