0
点赞
收藏
分享

微信扫一扫

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

boom莎卡拉卡 04-12 15:30 阅读 0

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

举报

相关推荐

0 条评论