Linux网络&进程管理笔记总结(三)

网络环境配置

Linux网络配置原理图

img

Linux网络环境配置

  1. #不推荐# 第一种方法(自动获取):
    img

  2. 第二种方法(指定IP):

    直接修改配置文件来指定IP,并可连接到外网(推荐)

    编辑 vim/etc/sysconfig/network-scripts/ifcfg-ens33

     BOOTPROTO=static
     #IP地址
     IPADDR=192.168.200.128
     #网关
     GATEWAY=192.168.200.2
     #域名解析器
     DNS1=192.168.200.2
    
    • ifcfg-ens33 文档说明

         TYPE="Ethernet"		#网卡类型(通常是Ethemet以太网)
         PROXY_METHOD="none"	#代理方式:为关闭状态
         BROWSER_ONLY="no"	#只是浏览器:否
         BOOTPROTO="static"	#网卡的引导协议【static:静态IP  dhcp:动态IP   none:不指定,不指定容易出现各种各样的网络受限】
         DEFROUTE="yes"		#默认路由
         IPV4_FAILURE_FATAL="no"		#是否开启IPV4致命错误检测
         IPV6INIT="yes"		#IPV6是否自动初始化:是(现在还未用到IPV6,不会有任何影响)
         IPV6_AUTOCONF="yes"	#IPV6是否自动配置:是(现在还未用到IPV6,不会有任何影响)
         IPV6_DEFROUTE="yes"	#IPV6是否可以为默认路由:是(现在还未用到IPV6,不会有任何影响)
         IPV6_FAILURE_FATAL="no"		#是否开启IPV6致命错误检测
         IPV6_ADDR_GEN_MODE="stable-privacy"	#IPV6地址生成模型
         NAME="ens33"		#网卡物理设备名称
         UUID="ab60d501-535b-49f5-a76b-3336a4120f64"#通用唯一识别码,每一个网卡都会有,不能重复,否则两台linux机器只有一台可上网
         DEVICE="ens33"		#网卡设备名称,必须和‘NAME’值一样
         ONBOOT="yes"		#是否开机启动,要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`
         IPADDR=192.168.1.34		# 本机IP
         NETMASK=255.255.255.0		#子网掩码
         GATEWAY=192.168.1.1		#默认网关
         DNS1=8.8.8.8#
         DNS2=8.8.8.5#
         ZONE=public#
      

设置主机名和hosts映射

  1. 设置主机名:vim /etc/hostname

  2. 设置hosts映射

    Windows

     在C:\Windows\System32\drivers\etc\hosts 文件指定即可
    
     例如:192.168.200.128 主机名
    

    Linux

     在/etc/hosts 主机名 指定
    
     例如:192.168.200.1 主机名
    

主机名解析过程分析(Hosts、DNS)

  1. Host

    一个文本文件,用来记录IP和Hostname(主机名)的映射关系
    
  2. DNS

    dns 即是 domain name system 域名系统的缩写,将域名和 ip 的映射关系保存在一个分布式数据库中。
    

img

Linux进程管理(重点)

  1. 显示系统执行的进程

ps指令:ps -aux | grep xxx 查看有没有xxx服务/程序

  1. ps -a: 显示当前终端的所有进程信息
  2. ps -u: 以用户的格式显示进程信息
  3. ps -x: 显示后台进程运行的参数

(常用风格)System V展示风格

    USER	用户名称
    
    PID	进程号

    %CPU   进程占用CPU的百分比
    
    %MEM	进程占用物理内存的百分比
    
    VSZ	进程占用的虚拟内存大小(单位:KB)
    
    RSS	进程占用的物理内存大小(单位:KB)
    
    TT	终端名称,缩写
    
    STAT	进程状态,其中S-睡眠,s-表示该进程是会话的先导
    进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运
    行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
    
    STARTED	进程的启动时间
    
    TIME	CPU时间,即进程使用CPU的总时间
    
    COMMAND	启动进程所用的命令和参数,如果过长会被截断显示

img

BSD风格

  1. ps -ef 以全格式显示所有的进程,查看进程的父进程。

  2. -e 显示所有进程 -f 全格式

     UID	用户ID
    
     PID	进程ID
    
     PPID	父进程ID
    
     C	CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低,数值越小,表明进程是I/O密集型运算,执行优先级会提高
    
     STIME	进程启动的时间
    
     TTY	完整的终端名称
    
     TIME	CPU时间
     
     CMD	启动进程所用的命令或参数
    

img

终止进程kill或killall

常用选项: -9 :表示强迫进程立即停止

kill指令就像是Windows系统中的任务管理->结束任务一样

基本语法:

kill [选项] 进程号(功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负 载过大而变得很慢时很有用)

pstree指令:pstree -p | grep xxx 查看有没有xxx服务/程序

用于查看进程树之间的关系,即是各个进程之间父子关系,

  1. pstree -p:同时列出每个进程的PID

  2. pstree -u: 同时列出每个进程的所属账号名称

服务(service)管理

介绍:

    服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。

service 管理指令

仅限在CentOS7之前可以使用

   service    服务名 [start | stop | restart | reload | status]
   service    指令管理的服务在/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,否则不能正常启动

开机的流程说明

img

CentOS7后运行级别说明

在/etc/initab进行了简化:

$\color{red}{multi-user.target:}$analogous to runlevel 3

$\color{red}{graphical.target:}$analogous to runlevel 5

语法:

    查看默认级别:
    systemctl get-default

    设置默认级别:
    systemctl set-default TARGET.target

chkconfig指令

仅限在CentOS7之前可以使用

介绍

注意:在CentOS7后,很多服务$\color{red}{使用systemctl}$ 管理

  1. 通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
  2. chkconfig 指令管理的服务在/etc/init.d查看

chkconfig基本语法

  1. 查看服务 chkconfig --list[ | grep xxx]
  2. chkconfig 服务名 --list
  3. chkconfig --level 5 服务名 on/off

systemctl管理指令

  1. 基本语法:systemctl [start | stop | restart | reload | status] 服务名
  2. systemctl指令管理的服务在/usr/lib/systemd/system 查看

systemctl设置服务的自启动状态

  1. systemctl list-unit-files [ | grep 服务名]
  2. systemctl enable 服务名 (设置服务开机启动)
  3. systemctl disable 服务名 (关闭服务开机启动)
  4. systemctl is-enabled 服务名 (查询某个服务是否自启动的)

firewall指令

  1. 打开端口:firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效:firewall-cmd --reload
  4. 查询端口号是否开放:firewall-cmd --query-port=端口号/协议

动态监控进程

top 与 ps 命令很相似。它们都用来显示正在执行的进程。
Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

语法: top [参数]

img

交互操作说明:

img

监控网络状态

查看系统网络情况netstat

基本语法:netstat [参数]

-an 按一定顺序排序输出

-p 显示哪个进程在调用

检查主机连接命令ping

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。
img

posted @   WuCoke  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示