Linux学习笔记之系统管理
项目5 系统管理
5.1 图形界面管理
- X-Window
X-Server(X服务器)
X-Client(X客户机)
X-Protocol(X通信协议) - X-服务器:处理来自X-客户机的请求
如:在屏幕上绘制图形
负责管理可用的字形与屏幕可用的颜色等系统资源
读取使用者的输入,传送键盘、鼠标事件与窗口状态信息给X-客户机(也就是应用程序) - X-客户机:不负责任何图形相关的具体操作,只和X-服务器交互,由X-服务器负责完成其图形显示任务;X-客户机可以运行在本地机器,也可以运行在网络上的不同主机;任何一个X应用程序(文字处理、数据库应用、网络软件等),包括窗口管理器在内都是X-客户机
- X-协议:X-服务器与X-客户机之间的通信协议
X-协议允许X-服务器与X-客户机通过网络来交换信息;这意味着X-服务器与X-客户机不限制都得在同一台机器上执行,可在不同的计算机上同时执行(网络透明性) - X-Window的特点
良好的网络支持
个性化的窗口界面
跨平台特性
开源软件 - GNOME图形环境:一种流行的Linux桌面环境,通过它提供的图形界面,用户不仅可以运行X应用程序,也能够方便、直观地进行图形化地文件管理和系统配置
- 图形化桌面包括系统菜单、通知区域、桌面图标、任务条和工作区切换区域
5.2 进程管理
- 程序(program):通常为binary program,存放在计算机地硬盘、光盘、U盘等存储媒体中,以实体文件的形态存在
- 进程(process):是当程序被触发后,执行者的权限与属性、程序的代码与所需数据等都会被加载到内存中,操作系统给予这个内存内的单元一个标识符(Process ID,简称PID)
- 程序与进程的区别
程序是指令的集合,是进程运行的静态描述文本
进程则是程序在系统上顺序执行时的动态活动 - 进程分类:交互进程、批处理进程、守护进程
交互进程:是由shell启动的进程,它既可以在前台运行,也可以在后台运行,交互进程在执行过程中,要求与用户进行交互操作
批处理进程:与Windows原来的批处理很类似,是一个进程序列,该进程负责按顺序启动其他进程
守护进程:是指执行特定功能或执行系统相关任务的后台进程 - 进程的属性:进程号(PID)、父进程号(PPID)、进程名、用户、cpu%、内存%、优先级和开启时间等
- 启动前台进程:用户在shell中输入一条命令,即可启动一个前台进程,这是最常用的方式。例如:vim /proc/cpuinfo
- 启动后台进程:只需在命令后面添加一个字符“&”。例如:find / -name root > result.txt &
job [-l] 查看当前 shell中已经启动的后台进程的执行状态
fg %n(n代表后台进程的工作号,该命令可以将后台进程转前台) - 查看进程状态的命令
- uptime
系统的当前时间、系统状态、用户已登录系统的时间、登录系统的用户数量和过去的1、5、15分钟内运行队列中的平均进程数量 - ps
监控系统后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出进行通信的,所以如果需要检测其情况,便可以使用该命令
命令格式:ps [选项]
-e:显示所有进程
-f:全格式
-h:不显示标题
-l:长格式
-w:宽输出
-a:显示终端上的所有进程,包括其他用户的进程
-r:只显示正在运行的进程
示例:
ps -ef
ps -aux - top
显示进程所占系统资源,动态查看系统中正在运行的进程的状态,默认每隔3秒刷新一次
在top程序的执行过程中输入命令,以交互方式控制执行结果
常用的命令有以下几种:
<空格>:立即刷新显示
h:显示帮助信息
k:终止一个进程
r:设置进程的优先级别
s:改变两次刷新之间的延迟时间
M:根据驻留内存大小进行排序
P:根据CPU使用百分比大小进行排序
T:根据时间/累积时间进行排序
W:将当前设置写入~/.toprc文件中
q:退出程序
示例:top -bn1一次性全部把所有信息输出出来而非动态显示
- uptime
- 终止前台进程
方法一:在程序退出时,该前台进程将自动结束
方法二:在程序运行过程中,可按 Ctrl+c 键退出前台进程 - 终止后台进程:使用kill命令
kill [选项] [信号代码] [进程ID]
列出kill命令支持的信号类型:kill -l
正常结束一个进程:kill -15 pid
强制终止一个进程:kill -9 pid
彩蛋一:脑图(1)(因后续随笔更新内容,思维图没有同步更新,请读者自行注意)
5.3 软件包管理
- CentOS下安装软件经常使用的软件包管理器为RPM和YUM
- RPM(Redhat Package Manager)软件包是将程序源代码经过编译和封装后形成的包文件,在软件包里面会封装软件的二进制程序、配置文件、帮助手册、库文件以及头文件等
- RPM软件包限制:
RPM软件包安装环境必须与编译时的环境一致或者相当
RPM软件包之间存在着相互依赖的情况
卸载RPM软件包时需要把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃 - RPM软件包管理的优点:
可以安装、删除、升级和管理软件
可以把自己做的程序包打包成rpm包发布
能利用签名GPG和MD5检测软件包的来源安全性和内容完整性 - RPM使用权限:
RPM软件的安装、删除、更新只有root权限才能使用
对于查询功能,任何用户都可以操作
如果普通用户拥有安装目录的权限,也可以进行安装 - 一些常用的rpm命令:
- 安装RPM包
从网上下载一个RPM包,然后运行命令:rpm -ivh 文件名 - 升级rpm包:
rpm -Uvh rpm包名//原来没有安装过的,直接安装;如果已安装过,则更新至新版
rpm -Fvh rpm包名//原来没有安装过的,不安装;如果已安装过,则更新至新版 - 查询一个包是否安装:rpm -q rpm包名
这里的包名,不带平台信息以及后缀名;
查询当前系统所有安装过的rpm包:rpm -qa - 卸载rpm包:rpm -e 文件名(这里的文件名是通过rpm查询功能所查到的)
- 得到一个已安装rpm包的相关信息:rpm -qi 包名(这里的包名同样不需要加平台信息与后缀名)
- 列出一个rpm包安装的文件:rpm -ql 包名
- 列出某一个文件属于哪个rpm包:rpm -qf 文件的绝对路径
- 安装RPM包
- YUM(Yellow dog Updater,Modified):YUM的主要功能是更方便的添加/删除/更新包,便于管理大量系统的更新问题;yum可以同时配置多个资源库(repository);使用简洁的配置文件(/etc/yum.conf)自动解决增加/删除rpm包时遇到的依赖性问题,保持与rpm数据库的一致性
- 一些常用的yum命令
- 列出所有可用的rpm包:yum list
- 列出目前服务器上可供本机进行升级的软件:yum list updates
- 利用grep来过滤yum list|grep [关键字]
- 列出提供passwd这个文件的软件有哪些:yum provides passwd
- 搜索一个rpm包:yum search [关键词]
- 查看一个rpm包的功能:yum info [rpm包名]
- 安装一个rpm包:yum install [-y] [rpm包名]
- 卸载一个rpm包:yum remove [-y] [rpm包名]
- 升级一个rpm包:yum update [-y] [rpm包名]
- 查询软件组:yum grouplist [软件组名]
- 安装软件组:yum groupinstall 软件组名
- 删除软件组:yum groupremove 软件组名
- 列出所有可用的rpm包:yum list
彩蛋二:脑图(2)(因后续随笔更新内容,思维图没有同步更新,请读者自行注意)
5.4 网络管理(网络环境配置及测试)
-
通过主机名可以实现局域网内的访问
配置主机名:hostname- 查看主机名:hostname
- 设置主机名(临时生效):hostname 计算机新的名字
- 在文件中修改主机名(永久生效):vi /etc/hostname
-
使用ifconfig配置网络接口(网卡)
- 查看所有网卡位置:ifconfig
- 查看指定网卡(比如eth0)的情况:ifconfig eth0
- 设置IP地址:ifconfig 网卡名 ip地址 netmask 子网掩码
- 设置辅助IP地址:ifconfig 网卡名:虚拟网卡ID IP地址 [netmask 子网掩码],如ifconfig eth0:1 192.168.1.4
- 启用网卡:方式一:ifconfig 网卡名称 up;方式二:ifup 网卡名称
- 禁用网卡:方式一:ifconfig 网卡名称 down;方式二:ifdown 网卡名称
-
更改网卡MAC地址
-ifconfig 网卡名称 hw ether MAC地址,如ifconfig eth0 hw ether 12:34:56:78:9a:bc(说明:ifconfig命令修改IP地址和MAC地址均为临时生效。重新启动系统后,设置失效。可以通过修改网卡配置文件使其永久生效) -
网卡配置文件位于/etc/sysconfig/network-scripts/目录下,名称如ifcfg-ens33
网卡参数
- DEVICE:指定网卡名称
- BOOTPROTO:指定启动方式(Static(none)表示使用静态IP地址;Bootp/dhcp表示通过BOOTP或DHCP协议自动获得IP地址。默认为Static(none))
- HVADDR:指定网卡的MAC地址
- IPV6_AUTOCONF:IPV6地址自动配置生效,默认yes
- ONBOOT:指定在启动network服务时,是否启用该网卡,默认yes
- IPADDR:指定IP地址,当BOOTPOTO=static时不能省略
- NETMASK:指定子网络地址,当BOOTPOTO=static时不能省略
- GATEWAY:指定网关 -
route命令设置网关
- route add default gw IP地址 //添加默认网关
- route del default gw IP地址 //删除默认网关
- route //使用route可以查看网关及路由情况(该方式中的Flags用来描述该条路由条目的相关信息,如是否活跃,是否为网关等。U表示该条路由为活跃的,G表示该条路由要涉及网关) -
修改resolv.conf设置DNS:vim /etc/resolv.conf
-
ping命令检测到特定主机的网络连通性
- 命令格式:ping [可选项] IP/域名/主机名
- ping命令选项
-c:设置完成要求回应的次数
-s:设置数据包的大小
-i:指定收发信息的间隔时间
-f:极限检测
-I:使用指定的网络接口送出的数据包
-n:只输出数值
-p:设置填满数据包的范本样式
-R:记录路由过程
-q:不显示指令执行过程,开头和结尾的相关信息除外
-r:忽略普通的路由表,直接将数据包送到远端主机
-t:设置存活数值TTL的大小
-v:详细显示指定的执行过程
-l:设置在送出要求信息之前,先行发出的数据包
-
netstat命令
- 命令格式:netstat [可选项]
- netstat命令选项
-r或--route:显示路由表
-a或--all:显示所有连接信息
-t或--tcp:显示TCP传输协议的连线状况
-u或--udp:显示UDP传输协议的连线状况
-c或--continuous:持续列出网络状态,监控连接情况
-i或--interfaces:显示网络界面信息表单
-l或--listening:显示监控中的服务器的Socket
-n或--numeric:使用数字方式显示地址和端口号
-p或--programs:显示正在使用Socket的程序识别码和程序名称
-s或--statistics:显示网络工作信息统计表 -
nslookup测试域名解析
- 非交互模式:nslookup 域名【或IP地址】
- 交互模式:在交互模式下,nslookup可以自由查询主机或域名信息
彩蛋三:脑图(3)(因后续随笔更新内容,思维图没有同步更新,请读者自行注意)
未完,待续 ~