黑马Linux学习第五天| 第四章8~14

2024-04-12 08:44

本文主要是介绍黑马Linux学习第五天| 第四章8~14,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8 网络请求和下载(网络传输)

1.ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态

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

选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

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

ping -c 3 baidu.com 

ping 192.168.88.5

2.wget命令

wget是非交互式的文件下载器,可以在文件行内下载网络文件。(类似于迅雷的功能)

语法: wget [-b] url

选项:-b,可选,后台下载,会将日志写入当前工作目录的wget-log文件(backend)

参数:url 下载链接

示例:

下载apache-hadoop 3.3.0版本

wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

在后台下载需要加上-b

通过tail命令可以监控后台下载进度:tail -f wget-log

tail -f 持续跟踪

3.curl命令

curl可以发送http网络请求,可以用于:下载文件、获取信息等。

跟Windows打开网页的操作是一样的,由于命令行没办法渲染网页,只能看到源码。

语法:curl [-O] url

选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件。

参数:url,要发起请求的网络地址。

下载hadoop-3.3.0安装包

curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

9 端口(网络传输)

1.端口

端口,是设备与外接通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类。

物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等。

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

虚拟端口

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。

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

IP地址相当于小区地址,在小区内可以有很多住户(程序)而门牌号(端口)就是哥哥住户(程序)的联系地址。

Linux系统是一个超大号小区,可以支持65535个端口,这6玩多个端口分为3类进行使用:

  • 公认端口1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口。
  • 注册端口1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
  • 动态端口49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口。

计算机B的微信使用端口为5678,即注册端口,长期绑定此端口等待别人连接。

查看端口占用

可以通过Linux命令去查看端口的占用情况

可以使用nmap命令,

安装nmap :

yum -y install nmap

语法: nmap 被查看的IP地址

本机(127.0.0.1)上有4个端口现在被程序占用了。

22端口,一般是SSH服务使用,即Finalshell远程连接Linux所使用的端口。

可以通过netstat命令,查看指定端口的占用情况

语法:netstat -anp | grep 端口号

netstat -anp 列出所有端口的占用情况

grep 端口号用来过滤

安装netstat:
yum -y install netstat

示例:看一下22端口被哪些程序占用

可以看到被程序sshd(进程号1174)占用

也可以用netstat查看进程

可以看到697进程不仅占用这111端口,还占用着865端口。

12345端口没有被程序占用。也没有12345这个进程。

10 进程管理

1.进程

程序运行起来被操作系统管理,会被操作系统注册为系统中的一个进程,并会为进程分配一个独有的进程ID(进程号,PID)

查看进程 ps命令

可以通过ps命令查看Linux中的进程信息

语法:ps [-e -f]

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

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

一般来说,固定用法就是,ps -ef 展示全部进程的全部信息。

UID:进程所属的用户ID

PID:进程的进程号ID

PPID:进程的父ID(该进程可能是由其他进程启动的)

C:此进程的CPU占用率(百分比)

STIME:进程的启动时间

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

TIME:进程占用CPU的时间

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

执行一个tail命令

查看tail这个进程

有关于tail进程的所有信息都可以看到

第二条表示 用grep过滤tail这条命令本身,可以忽视它。

也可以过滤特定时间启动的进程

也可以过滤进程号等内容。

关闭进程 kill命令

在Windows系统中,可以通过任务管理器选择进程后,点击结束进程去关闭。

在Linux系统中,可以通过kill命令关闭进程。

语法: kill [-9] 进程ID

选项:-9 表示强制关闭进程。不使用此选项回向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

先找到tail的进程号82307,然后把它kill掉,tail就终止了。

再次启动tail,这次搜索tail的进程号后,强制关闭,利用选项-9.

可以看到tail被强制killed。

11 主机状态监控

1.查看系统资源占用

top命令,查看CPU、内存、进程的信息

查看CPU、内存使用情况,类似于Windows打开任务管理器。

默认每5秒刷新一次

语法:top

按q或者ctrl+c退出

top命令选项

top交互式选项

2.磁盘信息监控

df命令,查看磁盘使用率

可以查看硬盘的使用情况

语法:df [-h]

选项:-h,以更人性化的单位显示

类似于Windows我的电脑查看盘符的使用情况。

iostat命令,查看磁盘速率等信息

查看CPU、磁盘的相关信息

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

选项:-x,显示更多信息

num1:数字,刷新间隔

num2,数字,刷新几次

关心的指标

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

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

%util:磁盘利用率

3.网络状态监控

sar -n DEV命令,查看网络情况

查看网络的相关统计

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看1次结束)

num2:查看次数(不填无限次数)

主要看rxKB/s、txKB/s,体现网络上传下载的速度。

12 环境变量

在Linux系统中使用的一系列命令其实本质上就是一个个的可执行程序。

cd命令就是/usr/bin/cd 这个程序。

为什么无论当前工作目录在哪里,都可以直接使用cd来执行/usr/bin/cd这个程序呢?

环境变量的作用。

环境变量是操作系统(Windows,Linux,Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

env命令即可查看当前系统中记录的环境变量。

环境变量:PATH

回到前面提的问题:为什么无论当前工作目录在哪里,都可以直接使用cd来执行/usr/bin/cd这个程序呢?

是依靠PATH这个项目的值做到的。

PATH记录了系统执行命令的搜索路径,所以当执行命令cd时,系统回按照顺序在上述路径中搜索执行的程序的本体,比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行。

$符号

可以取PATH的值。

自行设置环境变量

Linux系统变量可以用户自行设置

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

永久生效,

针对当前用户生效,配置在当前用户的: ~/.bashrc文件中

针对所有用户生效,配置在系统的: /etc/profile文件中

并通过语法:source配置文件,进行立刻生效,或重新登录FinalShell生效。

针对当前用户,先进入~/.bashrc

vi ~/.bashrc

添加export MYNAME=LJY

利用source 配置一下文件,就生效了

验证是否永久有效,重启FinalShell

有效。

同理针对所有用户生效,需要进入root系统配置。

生效。

自定义环境变量PATH

首先我们在root中创立了一个myenv文件夹,在myenv文件夹中写了一个mkhaha程序,内容为echo "hahaha".创建好了之后利用chmod修改mkhaha的权限,使得它可以执行。但目前只是在当前文件夹可以执行。

如果想让它像cd一样在任何位置都可以执行,需要把它所在的位置/root/myenv添加到环境变量中。因此vim /etc/profile,在最后添加 export PATH=$PATH:/root/myenv,相当于在原来PATH的基础上后面加入了/root/myenv。

然后在外面source /etc/profile,完成配置,可以在任意位置执行mkhaha。

13 Linux文件的上传和下载

上传、下载

通过FInalShell进行交互。

下载

在FinalShell页面下方右键下载,下载到Windows桌面fsdownload中。

上传

直接拖拽

rz、sz命令

yum -y instal lrzsz 安装

rz命令,进行上传:直接输入rz即可

sz命令,进行下载,语法:sz 要下载的文件

文件会自动下载到桌面的:fsdownl文件夹中。

14 压缩和解压

1.tar命令

Linux常见的压缩格式有两种,后缀分别为:

.tar,称之为tarball,归档文件,仅仅是简单的封装,文件体积大小没有太多减少。

.gz,也常见为.tar.gz,gzip格式压缩文件,使用gzip压缩算法将文件压缩,极大减少压缩后的体积

针对这两种格式,可以用tar命令进行压缩和解压。

-z选项建议在开头 -f选项必须在尾部 -C单独使用

压缩

把1.txt 2.txt 3.txt打包称tar格式的压缩包

tar -cvf test.tar 1.txt 2.txt 3.txt

把1.txt 2.txt 3.txt打包称.tar.gz格式的压缩包

tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

比较大小,.tar.gz压缩的包明显更小。

解压

解压tar包

解压gz包

解压到指定文件夹

tar包解压

gz包解压

2.zip命令

zip命令压缩文件

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

-r,被压缩的文件包含文件夹时需要-r

示例

zip test.zip a.txt b.txt

将a.txt b.txt压缩到test.zip文件内

zip -r test.zip a.txt b.txt test

将a.txt b.txt test文件夹压缩到test.zip文件内

unzip命令解压文件

语法: unzip [-d] 参数

-d,指定要解压去的位置,同tar的-C

参数,被解压的zip压缩包文件

如果没有-d,将zip包加压到当前目录。

示例:unzip test.zip         将test.zip解压到当前文件夹

unzip test.zip -d /home/itheima          将test.zip解压到/home/itheima

这篇关于黑马Linux学习第五天| 第四章8~14的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896655

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss