本文主要是介绍黑马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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!