网络配置
查看IP
ifconfig
显示或配置网络设备信息
获取IP
Linux下的IP地址可以自动获取,也可以人为指定。自动获取带来的问题是可能每次开机时获取到的IP都不一样,这显然不太方便。
- 自动获取
自动获取一般直接进入设置程序,在网络里面选择DHCP即可。
2. 人为指定
可以选择上图中的手动人为设定。也可以直接修改配置文件,编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0
文件即可。我们进入这个文件就可以编辑:
关于这个文件的说明,可以参考:
修改之后要重启网络服务service network restart
或者重启主机生效reboot
。
进程管理
在linux中,每个执行的程序(代码)都称作一个进程,用ID号来区分不同的进程。每一个进程都有一个对应的父进程。在linux中,系统使用fork创建进程。fork复制的内容包括和堆栈段以及父进程的进程环境。在Centos7下systemd是所有进程的“祖先”。如果父进程终止子进程自然终止。
显示系统执行的进程
-
ps [选项]
查看系统当前进程信息。可以不加任何参数,使用ps显示的字段有PID(进程识别号),TTY(终端机号),TIME(占用CPU的时间),CMD(正在执行的命令)。 -
常用的选项:
ps -a 显示当前终端的所有信息
ps -u 以用户的格式显示进程信息
ps -x 显示后台进程运行的参数
ps -aux
命令
列表说明:
• USER:用户名称
• PID:进程号
• %CPU:进程占用CPU的百分比
• %MEM:进程占用物理内存的百分比
• VSZ:进程占用的虚拟内存大小(单位: KB)
• RSS:进程占用的物理内存大小(单位: KB)
• TTY:终端名称,缩写 .
• STAT:进程状态,其中S-睡眠, s-表示该进程是会话的先导进程, N-表示进程拥有比普通
优先级更低的优先级, R-正在运行, D-短期等待, Z-僵死进程, T-被跟踪或者被停止等等
• STARTE:进程的启动时间
• TIME: CPU时间,即进程使用CPU的总时间
• COMMAND:启动进程所用的命令和参数,如果过长会被
ps -aux | grep xxx
配合管道符使用查看特定的内容
比如要查看有无sshd服务ps -aux | grep sshd
ps -ef
以全格式显示当前所有进程
• UID:用户ID
• PID:进程ID
• PPID:父进程ID
• C: CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,
执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
• STIME:进程启动的时间
• TTY:完整的终端名称
• TIME: CPU时间
• CMD:启动进程所用的命令和参数
终止进程kill和killall
kill [选项] 进程号
(功能描述:通过进程号杀死进程)killall 进程名称
(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负
载过大而变得很慢时很有用)
常用选项:
-9
强行终止进程注意是9不是g
查看进程树
pstree [选项]
可以更直观的查看进程pstree -p
显示进程PIDpstree -u
显示进程的所属用户
服务管理
服务的本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他进程的请求。比如mysql,shhd,防火墙等。因此我们又称之为守护进程。
service 管理指令
service 服务名 [start | stop | restart | reload | status]
,分别表示开启,停止,重启,重载,状态。在CentOS7.0后 不再使用service ,而是 systemctl。
-
使用案例:查看当前防火墙的状况,关闭或重启。
-
service iptables status
查看防火墙 -
service iptables stop
关闭防火墙 -
CentOS7 使用
systemctl stop firewalld.service
和systemctl start firewalld.service
。
讨论:服务的更改是立即生效的,但是这种方式只是临时生效,当系统重启后,还是会恢复之前的设置。如果要对某项服务进行永久性的设置,就要用chkconfig
命令(下面介绍)。
查看服务名
- 使用setup -> 系统服务
ls -l /etc/init.d
服务的运行级别 runlevel
查看或修改默认级别vi /etc/inittab
。
Linux系统有7种运行级别(runlevel): 常用的是级别3和5。
• 运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1: 单用户工作状态, root权限,用于系统维护,禁止远程登陆
• 运行级别2: 多用户状态(没有NFS),不支持网络
• 运行级别3: 完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4: 系统未使用,保留
• 运行级别5: X11控制台,登陆后进入图形GUI模式
• 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:
chkconfig指令
通过chkconfig指令可以给每个服务的各个运行级别设置自动启动/关闭。设置后要重启reboot后生效。
chkconfig --list
查看各个运行级别下的服务情况chkconfig --list | grep xxx
查看指定的服务chkconfig 服务名 --list
查看指定服务chkconfig --level [0-6] 服务名 on|off
设置某个运行级别下某个服务是否开启
示例:
- 案例1: 请显示当前系统所有服务的各个运行级别的运行状态
chkconfig --list - 案例2 :请查看sshd服务的运行状态
service sshd status - 案例3: 将sshd 服务在运行级别5下设置为不自动启动,看看有什么效果?
chkconfig --level 5 sshd off - 案例4: 当运行级别为5时,关闭防火墙。
chkconfig --level 5 iptables off - 案例5: 在所有运行级别下,关闭防火墙
chkconfig iptables off - 案例6: 在所有运行级别下,开启防火墙
chkconfig iptables on
动态监控进程 top命令
top 与 ps 命令和相似,都是用来显示正在执行的进程,Top与ps最大的不同之处在于top命令查看的进程是动态的。
top [选项]
选项说明:
交互操作说明:
应用实例:
- 监视特定用户
top
——u
——输入用户名 - 终止指定的进程
top
——k
——输入要结束的进程号 - 指定系统进程状态更新的时间(每隔10秒自动更新)
top -d 10
监控网络状态
-
netstat [选项]
查看系统网络状况
-an
按一定的顺序排列输出
-p
显示哪个进程在调用 -
netstat -anp | more
查看系统所有的网络服务
-
netstat -anp | grep sshd
查看sshd进程的网络服务