黑马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

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li