Linux学习笔记 #3

上一篇:Linux学习笔记 #2

Linux学习笔记 #3

    • 8 进程
      • 8.1 基本介绍
      • 8.2 查看进程
        • 8.2.1 ps -aux指令
        • 8.2.2 ps -ef指令
      • 8.3 终止进程
      • 8.4 查看进程树
      • 8.5 动态监控进程
      • 8.6 监控网络状态
    • 9 服务管理
      • 9.1 基本介绍
      • 9.2 service管理指令
      • 9.3 服务的运行级别
        • 9.3.1 Linux的运行级别
        • 9.3.2 默认运行级别的查看和设置
        • 9.3.3 设置服务的运行级别
      • 9.4 Linux的开机流程
      • 9.5 systemctl管理指令
      • 9.6 端口
    • 10 rpm包
      • 10.1 基本介绍
      • 10.2 rpm包的查询
      • 10.3 rpm包的管理
      • 10.4 yum

下一篇:Linux学习笔记 #4


8 进程

8.1 基本介绍

  • 在Linux中,每个执行的程序都称为一个进程。每一个进程都会被分配一个ID号,称为进程号(pid)。
  • 进程的存在方式:前台和后台。
    • 前台:用户目前的屏幕上可以进行操作的。
    • 后台:实际在操作,但屏幕上无法看到的。

      一般系统服务都会以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

8.2 查看进程

  • 【命令】查看进程:ps [选项]

8.2.1 ps -aux指令

  • 常用选项-1:

    • -a:显示当前终端的所有进程信息
    • -u:以用户的格式显示进程信息
    • -x:显示后台进程运行的参数
  • 一般使用ps -aux来查看进程信息:
    在这里插入图片描述

    USER:进程执行用户
    PID:进程号
    %CPU:当前进程占用CPU的百分比
    %MEM:当前进程占用物理内存的百分比
    VSZ:当前进程使用的虚拟内存量(KB)
    RSS:当前进程占用的固定内存量(KB)
    TTY:该进程在那个终端上运行,若与终端无关,则显示?; 若为pts/0等,则表示由网络连接主机进程。
    STAT:当前进程的运行状态
    START:该进程被触发启动时间
    TIME:该进程实际使用CPU运行的时间
    COMMAND:进程名,或启动该进程所用的命令或参数

    STAT的状态:

    • S:睡眠
    • s:该进程是会话进程的先导进程
    • N:进程拥有比普通优先级更低的优先级
    • R:正在运行
    • D:短期等待
    • Z:僵死进程
    • T:被跟踪或者被停止
  • 可以配合grep指令和管道符来筛选特定进程:ps -aux | grep xxx

8.2.2 ps -ef指令

  • BSD风格的呈现。
  • 常用选项-2:
    • -e:显示所有进程
    • -f:以全格式显示
  • 一般使用ps -ef来查看进程:
    Linux学习笔记 #3_第1张图片

    UID:用户名
    PID:进程的ID
    PPID:父进程ID
    C:进程占用CPU的百分比
    STIME:进程启动到现在的时间
    TTY:该进程在那个终端上运行,若与终端无关,则显示?; 若为pts/0等,则表示由网络连接主机进程。
    CMD:命令的名称和参数

8.3 终止进程

当某个进程需要被中止时,可对其使用kill命令。

  • 【指令】通过进程号终止进程:kill [选项] 进程号

  • 【指令】通过进程名终止进程:killall 进程名称

    也支持通配符。

  • 常用选项:

    • -9:表示强迫进程立即停止

上一篇:Linux学习笔记 #2
下一篇:Linux学习笔记 #4

8.4 查看进程树

  • 【指令】直观地查看进程信息:pstree [选项]
  • 常用选项:
    • -p:显示进程的PID
    • -u:显示进程的所属用户

8.5 动态监控进程

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

  • 【命令】top [选项]

    • 常用选项:
      • -d 秒数:指定top每隔几秒更新(默认3秒)
      • -i:使top不显示任何闲置或者僵死的进程
      • -p:通过指定进程ID来仅仅监控某个进程的状态
  • top命令说明:
    Linux学习笔记 #3_第2张图片

    17:05:23——当前时间
    1:46——系统运行时长
    2 users——用户数
    load average——负载值
    Tasks——系统任务数
    %Cpu(s)——cpu使用情况

    us——用户占用
    sy——系统占用
    id——空闲

    Mem——内存使用情况
    Swap——交换分区使用情况

    在此界面进行交互:

    操作 功能
    P 以CPU使用率排序(默认此项)
    M 以内存的使用率排序
    N 以PID进行排序
    q 退出top界面
  • 示例

    • 查看特定用户的进程(监控特定用户):
      1. 输入u,回车;
      2. 输入用户名。
    • 终止指定的进程(如结束wzs的登录):
      1. 输入k,回车;
      2. 输入要结束的进程ID号;
      3. 输入signal:9。

8.6 监控网络状态

  • 【指令】查看系统网络状态:netstat [选项]

    • 常用选项
      • an:按照一定的顺序排序输出
      • -p:显示哪个进程在调用

    Linux学习笔记 #3_第3张图片

    Proto:网络协议
    Local Address:本地地址(Linux的地址)
    Foreign Address:外部地址

    例如Windows通过xshell和Linux的SSHD服务连接:
    Linux的本地地址是192.168.219.129,SSHD服务在22号端口进行监听
    Windows上的xshell使用的外部地址192.168.219.1,通过端口3472与Linux的SSHD的端口22连接
    此时如果有新用户通过xshell连接Linux,就会通过另一个端口与Linux的SSHD的端口22连接


9 服务管理

9.1 基本介绍

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

9.2 service管理指令

CentOS8.4中似有许多指令做出了更改,以下内容部分不再适用

  • 【指令】服务管理:service 服务名 [start | stop | restart | reload | status]

    在CentOS7.0之后,很多服务不再使用service,而是systemctl进行管理。

    • service指令管理的服务在/etc/init.d/查看。
    • 示例:使用service指令——查看、关闭、启动network。
  • 【指令】查看全部服务:setup

9.3 服务的运行级别

9.3.1 Linux的运行级别

  • Linux有7种运行级别(runlevel)。其中常用的是级别3和5。
    Linux学习笔记 #3_第4张图片

9.3.2 默认运行级别的查看和设置

  • 在CentOS7之后,运行级别的设置进行了简化。
    在/etc/initab中:
    • multi-user.target: analogous to runlevel 3
    • graphical.target: analogous to runlevel 5
  • 【指令】查看默认运行级别:systemctl get-default
  • 【指令】设置默认运行级别:systemctl set-default TARGET.target

9.3.3 设置服务的运行级别

  • 【指令】查看服务:chkconfig --list [| grep xxx]
  • 【指令】设置某个服务在某个运行级别时的启动或关闭:chkconfig --level 5 服务名 on/off

9.4 Linux的开机流程

  1. 开机;
  2. 进入BIOS;
  3. 进入程序引导/boot;
  4. 执行进程1:systemd;
  5. 确定运行级别;
  6. 把运行级别对应的服务启动。

9.5 systemctl管理指令

  • 语法:systemctl [start | stop | restart | status] 服务名

    systemctl指令管理的服务在/usr/lib/systemd/system查看
    指令控制了3和5两个运行级别

  • 【指令】查看服务开机启动状态:systemctl list-unit-files [| grep 服务名]

  • 【指令】设置服务的开机启动:systemctl enable 服务名

  • 【指令】关闭服务开机启动:systemctl disable 服务名

  • 【指令】查询某个服务是否是自启动的:systemctl is-enabled 服务名

  • 示例:查看当前防火墙的状态,关闭防火墙和重启防火墙

    • systemctl status firewalld
    • systemctl stop firewalld / systemctl start firewalld

systemctl中,start和stop指令只是临时开启和关闭;要永久启动和关闭(即是否开机启动),需要用enable和disable指令。

9.6 端口

应用场景:防火墙打开的情况下,通过打开指定端口进行通讯。

  • firewall指令
    • 【指令】打开端口:firewall-cmd --permanent --add-port=端口号/协议
    • 【指令】关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
    • 【指令】重新载入端口使之生效:firewall-cmd --reload
    • 【指令】查询端口是否开放:firewall-cmd --query-port=端口/协议

10 rpm包

10.1 基本介绍

  • rpm:RedHat Package Manager。用于互联网下载包的打包及安装工具,生成具有.RPM扩展名的文件。包含在某些Linux的分发版中。类似Windows的setup.exe。

10.2 rpm包的查询

  • 【指令】查询已安装所有rpm软件包:rpm -qa [| grep xxx]
  • 【指令】查询软件包是否安装:rpm -q 软件包名
  • 【指令】查询软件包信息:rpm -qi 软件包名
  • 【指令】查询软件包安装的文件:rpm -ql 软件包名
  • 【指令】查询文件所属的软件包:rpm -qf 文件全路径名
  • 示例:查询火狐的rpm包:rpm -qa | grep firefox
    在这里插入图片描述

    rpm包的基本格式
    名称:firefox
    版本号:78.9.0-1
    适用操作系统:el8_3.x86_64(表示centos8.x的64位系统)

10.3 rpm包的管理

  • 【指令】卸载rpm包:rpm -e rpm包的名称

    示例:卸载火狐的rpm包:rpm -e firefox

  • 【指令】安装rpm包:rpm -ivh rpm包的全路径名称

    参数说明:
    i = install(安装)
    v = verbose(提示)
    h = hash(进度条)

10.4 yum

  • yum是一个shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且以此安装所有以来的额软件包。
  • 【指令】查询yum服务器是否有需要安装的软件:yum list | grep xxx
  • 【指令】安装指定的yum包:yum install xxx

你可能感兴趣的:(Linux,linux,centos)