Linux从入门到精通 --- 4(下).网络请求和下载、端口、进程管理、主机状态监控、环境变量、文件的上传和下载、压缩和解压

文章目录

    • 第四章(下):
        • [4.8 网络请求和下载](#4.8 网络请求和下载)
          • [4.8.1 ping](#4.8.1 ping)
          • [4.8.2 wget](#4.8.2 wget)
          • [4.8.3 curl](#4.8.3 curl)
        • [4.9 端口](#4.9 端口)
          • [4.9.1 查看端口占用](#4.9.1 查看端口占用)
        • [4.10 进程管理](#4.10 进程管理)
          • [4.10.1 查看进程](#4.10.1 查看进程)
          • [4.10.2 查看指定进程](#4.10.2 查看指定进程)
          • [4.10.3 关闭进程](#4.10.3 关闭进程)
        • [4.11 主机状态监控](#4.11 主机状态监控)
          • [4.11.1 查看系统资源占用](#4.11.1 查看系统资源占用)
          • [4.11.2 top交互式选项](#4.11.2 top交互式选项)
          • [4.11.3 磁盘信息监控](#4.11.3 磁盘信息监控)
          • [4.11.4 网络状态监控](#4.11.4 网络状态监控)
        • [4.12 环境变量](#4.12 环境变量)
          • [4.12.1 env](#4.12.1 env)
          • [4.12.2 PATH](#4.12.2 PATH)
          • [4.12.3 $符号](#4.12.3 $符号)
          • [4.12.4 自行设置环境变量](#4.12.4 自行设置环境变量)
        • [4.13 文件的上传和下载](#4.13 文件的上传和下载)
          • [4.13.1 rz、sz](#4.13.1 rz、sz)
        • [4.14 压缩和解压](#4.14 压缩和解压)

第四章(下):

4.8 网络请求和下载
4.8.1 ping

作用:检查指定的网络服务器是否联通状态

语法:ping [-c num] ip或主机名

  • -c选项,表示检查的次数,不使用的话就无限次数检查

  • 参数ip或主机名,表示被检查的服务器ip地址或主机名地址

4.8.2 wget

作用:下载网络文件

语法:wget [-b] url

  • -b选项,表示后台下载,将日志写入当前工作目录中的wget-log文件中

  • 参数url,表示下载链接

4.8.3 curl

作用:发起网络请求

语法:curl [-O ]url

  • -O选项,表示下载文件
4.9 端口

端口是设备与外界通讯交流的出入口。

端口分类

  • 物理端口:又称接口,可见端口,如USB接口,RJ45网口等

  • 虚拟端口:计算机内部的端口,不可见,用来操作系统和外部进行交互使用

通过端口可锁定计算机上具体的程序,确保程序之间进行沟通

Linux系统支持65535个端口,分3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH的22端口等,非特殊需要,不要占用该范围的端口

  • 注册端口:1024~49151,通常可随意使用,用于松散的绑定一些程序或服务

  • 动态端口:49152~65535,通常不会固定绑定程序,而对程序对外进行网络连接时,临时使用。

4.9.1 查看端口占用

作用:查看指定端口的占用情况

语法:netstat -anp | grep 端口号

安装netstat:yum -y install net-tools

可看到当前系统22端口被程序进程1062占用

0.0.0.0:*,表示当前端口绑定在0.0.0.0该地址上,表示允许外部访问

可看到,当前系统3306接口,无人使用

4.10 进程管理

为管理运行的程序,每个程序在运行时,就被操作系统注册为系统中一个进程

每一个进程都会分配一个独有的进程ID(进程号)

4.10.1 查看进程

作用:查看Linux系统中的进程信息

语法:ps [-e -f]

  • -e选项,表示显示出全部的进程

  • -f选项,表示以完全格式化的形式展示信息(展示全部信息)

-e -f一般配合使用,列出全部进程的全部信息

从左到右:

  • UID:进程所属的用户ID

  • PID:进程的进程号ID

  • PPID:进程的父ID

  • C:此进程的CPU占用率

  • STIME:进程的启动时间

  • TTY:启动此进程的终端序号,?表示非终端启动

  • TIME:进程占用CPU的时间

  • CMD:进程对应的名称或启动路径或启动命令

4.10.2 查看指定进程

语法:ps -ef | grep 参数

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2a2de004311a487c82d7f8ed5b062420.png#pic_center![在这里插入图片描述](https://file.jishuzhan.net/article/1779901631144398850/5db7e520109b1768516955a0be9fa057.webp)

4.10.3 关闭进程

语法:kill [-9] 进程ID

  • -9选项,表示强制关闭进程
4.11 主机状态监控
4.11.1 查看系统资源占用

语法:top [-p -d -c -n -b -i -u]

  • -p选项,表示只显示某个进程的信息

  • -d选项,表示设置刷新时间,默认5秒

  • -c选项,表示显示产生进程的完整命令,默认是进程名

  • -n选项,表示指定刷新次数

  • -b选项,表示以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件

  • -i选项,表示不显示任何闲置或无用的进程

  • -u选项,表示查找特定用户启动的进程

默认每5秒刷新一次, q或ctrl + c退出

第一行:top:命令名称,21:12:43:当前系统时间,up 30 min:启动了30分钟, 3 users:3个用户登录,load:1、5、15分钟负载

第二行:Tasks:107个进程,1 running:1个子进程在运行,106 sleeping:106个进程睡眠,0个停止进程,0个僵尸进程

第三行:Cpu:CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,

wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中端率,st:强制等待占用CPU率

第四、五行:

Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用

Kib Swap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和cache占用

  • PID:进度id

  • USER:进程所属用户

  • PR:进程优先级,越小越高

  • NI:负值表示高优先级,正表示低优先级

  • VIRT:进程使用虚拟内存,单位KB

  • RES:进程使用物理内存,单位KB

  • SHR:进程使用共享内存,单位KB

  • S:进程状态(S休眠 R运行 Z僵死状态 N负数优先级 I空闲状态)

  • %CPU:进程占用CPU率

  • %MEM:进程占用内存率

  • TIME+:进程使用CPU时间总计,单位10毫秒

  • COMMAND:进程的命令或名称程序文件路径

4.11.2 top交互式选项

非-b选项启动,可用以下交互式命令进行控制

  • h键,显示帮助画面

  • c键,显示产生进程的完整命令

  • f键,可选择需要展示的项目

  • M键,根据驻留内存大小排序

  • P键,根据CPU使用百分比大小进行排序

  • T键,根据时间/累计时间进行排序

  • E键,切换顶部内存显示单位

  • e键,切换进程内存显示单位

  • l键,切换显示平均负载和启动时间信息

  • i键,不显示闲置或无用的进程

  • t键,切换显示CPU状态信息

  • m键,切换显示内存信息

4.11.3 磁盘信息监控

语法:df [-h]

  • -h选项,更好的单位显示

作用:查看CPU、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

  • -x选项,表示显示更多信息

  • num1 :刷新间隔

  • num2 :刷新次数

安装:yum install sysstat -y


rrqm/s:每秒这个设备相关的读取请求有多倍被Merge

wrqm/s:每秒这个设备相关的写入请求有多少被Merge

rsec/s:每秒读取的扇区数,sectors

wsec.s:每秒写入的扇区数

rKB/s:每秒发送到设备的读取请求数

wKB/s:每秒发送到设备的写入请求数

avgrq-sz:平均请求扇区的大小

avgqu-sz:平均请求队列的长度,长度越短越好

await:每一个IO请求的处理的平均时间,单位是微秒毫秒

svctm:表示平均每次设备I/O操作的服务时间,单位毫秒

%util:磁盘利用率

4.11.4 网络状态监控

语法:sar -n DEV num1 num2

  • -n选项,表示查看网络

  • DEV表示查看网络接口

  • num1表示刷新间隔

  • num2表示查看次数

  • IFACE:本地网卡接口的名称

  • rxpck/s:每秒钟接收的数据包

  • txpck/s:每秒钟发送的数据包

  • rxKB/s:每秒钟接收的数据包大小,单位KB

  • txKB/s:每秒钟发送的数据包大小,单位KB

  • rxcmp/s:每秒钟接收的压缩数据包

  • txcmp/s:每秒钟发送的压缩包

  • rxmcst:每秒钟接收的多播数据包

4.12 环境变量
4.12.1 env

作用:查看当前系统中记录的环境变量

语法:env

环境变量是一种KeyValue型结构

4.12.2 PATH

PATH记录了系统执行任何命令的搜索路径,当执行任何命令,都会按照顺序,从以上路径中搜索要执行的程序本体

4.12.3 $符号

Linux中该符号被用于取"变量"的值

语法:$环境变量名

与其他内容混在一起时,可用{}标取取的变量

4.12.4 自行设置环境变量

临时设置,语法:export 变量名=变量值

永久生效:

  • 针对当前用户生效,配置~/bashrc文件

  • 针对所有用户生效,配置/etc/profile文件

  • 语法:source 配置文件,进行立刻生效

4.13 文件的上传和下载
4.13.1 rz、sz

作用:进行文件传输

使用前需安装,可通过:yum -y install lrzsz,进行安装

rz语法:rz

sz语法:sz 要下载的文件

4.14 压缩和解压
4.14.1 压缩格式
  • tar:归档文件,没有太多文件体积减少,仅是简单的封装

  • gzip:可极大减少压缩后的体积

  • zip

4.14.2 tar

作用:压缩和解压缩的操作

语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N

  • -c选项,表示创建压缩文件,用于压缩模式

  • -v选项,表示显示压缩、解压过程,用于查看进度

  • -x选项,表示解压模式

  • -f选项,表示要创建的文件或解压的文件,该选项必须再所有选项中处最后一个

  • -z选项,表示gzip模式,不使用就是普通的tarball格式

  • -C选项,表示选择要解压的目的地,用于解压模式

常用压缩组合:
  • tar -cvf test.tar 1.txt 2.txt 3.txt //将1.txt 2.txt 3.txt压缩至test.tar内

  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt //将1.txt 2.txt 3.txt压缩至test.tar.gz内,用gzip模式

-f选项必须在选项位最后一个,-z选项一般处于选项为第一个

常用解压组合:

-C选项单独使用,与所需的其他参数分开

4.14.3 zip

作用:压缩文件为zip压缩包

语法:zip [-r] 参数1 参数2 ... 参数N

  • -r选项,表示被压缩的包含文件夹时,需使用该选项

例:

  • zip test.zip 1.txt 2.txt 3.txt //将1.txt 2.txt 3.txt压缩至test.zip文件内

  • zip -r test.zip test01 test02 test.txt

    //将test01、test02文件夹和test.txt文件,压缩至test.zip文件内

4.13.4 unzip

作用:解压zip压缩包

语法:unzip [-d] 参数

  • -d选项,表示要解压去的位置

  • 参数,表示解压的zip压缩包文件

例:

相关推荐
李的阿洁1 小时前
OSPF的不规则区域
运维·服务器·网络
网安老伯1 小时前
【2024版】最新kali linux入门及常用简单工具介绍(非常详细)零基础入门到精通,收藏这一篇就够了_kalilinux
linux·运维·服务器·开发语言·web安全·网络安全·xss
逸狼1 小时前
【JavaEE初阶】网络原理
服务器·网络·智能路由器
CopyLower2 小时前
如何保证下订单和扣款操作只能执行一次:技术详解
开发语言·php
Bonne journée2 小时前
python调用父类同名成员
开发语言·python·php
wdxylb2 小时前
在远程非桌面版Ubuntu中使用Qt5构建Hello World项目
linux·ubuntu
shmily ....2 小时前
文件上传漏洞原理
网络·安全
小羊在奋斗2 小时前
【Linux】包管理器、vim详解及简单配置
linux·运维·vim
CS_素锦少年2 小时前
Linux_kernel字符设备驱动12
linux·运维·服务器
NineOne_豆浆狂魔2 小时前
Linux 缓冲区
linux·服务器·c