5.Linux 的网络信息
5.1主机名称
5.1.1临时修改:
hostname 新名字 (需要重新进入才能显示新名字)
reboot重启虚拟机
5.1.2永久:
vi /etc/hostname
5.2DNS解析
dns解析域名
域名-》ip
dns域名劫持:将域名对应的ip改掉
5.2.1修改主机域名
windows:
C:\Windows\System32\drivers\etc\hosts
linux:
vi /etc/hosts
先ip 后域名
5.3网络相关命令
- ifconfig
查看网卡配置信息
属于nat-tools中的一个命令,但是centos7 minimal中没有这个包
![](https://i-blog.csdnimg.cn/blog_migrate/bc20c626295a245c91a32f5b797ce383.png)
安装命令:
yum install net-tools -y
如果没有也可以用ip addr临时代替
2.netstat
查看当前网络的状态信息
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
主要查看端口监听信息
netstat -r
核心路由表 == route
3.ping
ip是否能够链接成功
4.telnet
端口是否能够连通
要先安装
yum install telnet
telnet 域名,或ip 端口
5.crul
可以直接获取网站资源的命令。
curl -X GET http://www.baidu.com
![](https://i-blog.csdnimg.cn/blog_migrate/a0b44440c7393a4145770558e9a158af.png)
相当于在百度搜索界面右键+V
![](https://i-blog.csdnimg.cn/blog_migrate/95d576f48a4650fbc088546a31d54444.png)
5.4防火墙
用来保护端口的
在centOS7+中 使用firewalld代替以前的 iptables ;
#查看防火墙状态
systemctl status firewalld.service
#临时停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
firewall-cmd --state ##查看防火墙状态,是否是
running
firewall-cmd --reload ##重新载入配置,比如添加规则之
后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服
务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回
yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
开启一个端口的正确操作
# 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone=public --query-port=80/tcp
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
5.5加密算法
5.5.1不可逆加密算法
加密算法加密后无法计算出原始数据
7+8=15
15=?+?算不出7和8,有很多解,
123456--》加密--》aldkjfalkdjahgalkjd
倒着推不出来
只能从a到b不能从b到a
hash yun-》056ed9abe6e76643b8f5abde8ec0fad1c01e6dfa
md5 yun-》5f1d65f27e370c36dfd845f6dc78b869
只能算过去算不过来。
但是如果超过范围回过来值会一样
5.5.2对称加密算法
加密和解密有相同的密钥
代表性算法叫做 DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
5.5.3非对称加密算法
公钥和私钥两个密钥,一般长的为私钥。
安全,但是效率低一点。
网站:
http://tool.chacuo.net/cryptrsaprikey
公:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt0zJ7rY4RToA/2Hijr8m
SqXVg/D91JMBGesxsY37eIBmhYarMdXlWNJatnUnJHEBoLpaZKEVOc5FONrFRNo2
fSyarmSBWz6q4hDjgc+4ucMxy6mJfF0Y9znXBMUCWUdfHIAnpbO4+2RWo6hYycM9
NZ2pemfkCPCTsfP25g/2LUtkCe6pJegLTl3IFLK8vqASagDABuOz1mwJdD4UfRSy
N9vvqLrOg8Dd0CdVsRFpde/8sejNKRR+VlbsXykZX5R+CLCPymNWkh8nEIN4zj6R
DWePJlgY6NdPIckWGG1sCgFN3R79jmvnSsCvXMNa8zGsNBBppWt1xL0gNYeMqIHM
HwIDAQAB
-----END PUBLIC KEY-----
私:
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3TMnutjhFOgD/
YeKOvyZKpdWD8P3UkwEZ6zGxjft4gGaFhqsx1eVY0lq2dSckcQGgulpkoRU5zkU4
2sVE2jZ9LJquZIFbPqriEOOBz7i5wzHLqYl8XRj3OdcExQJZR18cgCels7j7ZFaj
qFjJwz01nal6Z+QI8JOx8/bmD/YtS2QJ7qkl6AtOXcgUsry+oBJqAMAG47PWbAl0
PhR9FLI32++ous6DwN3QJ1WxEWl17/yx6M0pFH5WVuxfKRlflH4IsI/KY1aSHycQ
g3jOPpENZ48mWBjo108hyRYYbWwKAU3dHv2Oa+dKwK9cw1rzMaw0EGmla3XEvSA1
h4yogcwfAgMBAAECggEAYhtKdWa4RW0fPZEhlq9+ijOqTR0+bnlj/IBir5rDvqJS
vSLwHBNU1q53+PJJSfrmGSXE3dlNqAvcBuso7Ioy4dpuy+plRfYLtkW9zyvjviFY
VJ5gRNz7UM93Y0ki0bAemv2IuuqvlnYE3UFsjEjgSQMiw645YgOJuZRPUKG4bFLm
qrAYHVUVBIYq4S+e4nxauk11Eq+3sHcerfgJKznR9if/PzOeckCF7nLigoacKyHD
KdxUi5axAXN52GrswoBL4VbWXXW0wu+DWDgKqeWochj2dVkxhzKPzRYgHVw8Hz1R
2o+3Rn289HWkX2swnbifYiWEV4Tz2HYqwShP7twDkQKBgQDgE3Ka094Z1MpQvz4N
6D9lL/jg75jssuTS88ZrSTuOfTQ2I4RyXgHAMkbUSbX9+bHaXVoFSTKAApBQ62b2
tj5At9R/tfKiZLWi/w1sfCQ0gkoUHIZgqpAzEhDxcXbLYZLOHBelz/SI0tU7R1S0
DgdeQx4mRwYdc6pHg5lvZN0mVwKBgQDRaiYP9Z6zVVbHRqp6ShT/8KVMf2kBIRHv
xEje+Vafu8eHBb/vJFwv1VKt5eZ17lRCmxduCo3GXQbFZzbgZ7Ba8wdBgjKjV846
uvHxmFTckhx2TK5LhMkKPd+0lZdPJdk2i909jnN9iviXa9qQNKQnqeYX7A9GOKsS
RLYuFdybeQKBgDBYgdWd+MGiA7TATmc5wNPYMd52U4xeXLiXGCx1tH/dy7ISn7T9
S2tobZfH/5g4k4MFuTKCxH6SDwkmgSSh1XSpNRQI8bzP9dChLwhFEJqzsb/9F5Er
u8kJENbHIFZpSv9lWETSRXRv6MnNbh0bGcPgv1SK5mrcVdTwM96w6HYpAoGAMhCi
kOYzzsP0PygR0bKsWpP5sNQ1EmQJmbzffw81OnL2PL2PKWkT8Qua/KAd/MvBsTrK
2zACvQ24dLE8WWHws42uimbKHGr9juTqusukXidATrf+Y2eXeK9aMB4jUnTF/Vhq
yDCqQ7VZwTmzww4SwLjJnaZ98FfT7kYnF9V6LGECgYEAgFGlpP31LcMTfitY4vQg
HZUzHbtdrpQ0k/JL8IvHS6yk9NI3mJ9k/er6zjSPDAaoYkzZkv7lAv4OTf9GmyFn
GMpLx0V+dhMImBNGMAdRw95DI4mGhulifz8N+iGBDfPxlXY4WQSpzrj+L1IucVct
DptqSFxOffK4Hufr5/ASUnM=
-----END PRIVATE KEY-----
公钥加密结果
GIgSh4om+0tdplFnKqag4loqQLbN3bQglvohE8sPkXUtxHEjJ7k5WMU5vtVARGqgeUu+lvLRJuXb8KfMV3j+VAhfeaEi/NOpKLps9b4GKrtpVw09PbSRb3pzLVzkkM+rluWhB8fC3pL4GRcQj5m9aMofzkIrWoa+ItHFQxzq1uxPO5VBzkYEvwSH88zvu/mn8/CpKtZICP7Mf8btmSkyrHcYq8k+tt8VYTM74cWLK2CVW6FotLskBfeUH2cGlyAA2PZ9bGM5G7xmdvBynlGH8IgepOkYJZ3pQ48GJogHIxb4EnJVQ0kBTP4543t0QW7wlCsGsdQW//2u59kpXEzFzQ==
用私钥对其解密:
你好!!!
5.6主机间的相互免密钥
ssh
连接另一台主机需要密码。
只需要本机把公钥给要连接的主机。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
![](https://i-blog.csdnimg.cn/blog_migrate/fb234707e03d7e164c39b293587d438f.png)
上边的是公钥,下边的是私钥。
ssh-copy-id -i ~/.ssh/id_rsa.pub root@目的主机ip
ssh主机名要输入yes
解决:
解决方案1--本次
ssh -v -o GSSAPIAuthentication=no root@192.168.189.201
解决方案2--所有
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
vi /etc/ssh/ssh_config
G到最后,然后右击粘贴或shift +insert
原理:
![](https://i-blog.csdnimg.cn/blog_migrate/6c00bb1d7d778bc015ed22034e41e9de.png)
6.日期与时间
查看时间:
date
修改时间:
date -s
date -s 11:11:11
date -s 2019-11-11
date -s '2019-11-11 11:11:11'
同时修改:
用同时会话框
同步时间:
yum install ntp -y
ntpdate cn.ntp.org.cn
cn.ntp.org.cn是一个同步时间的网站。
开启本地时间服务:
service ntpd start
可以在别的服务器用
ntpdate ip
7.用户组权限
7.1用户
1.添加用户:(root)
useradd libai
2.设置密码:
passwd 用户名
root用户的家目录在root目录
普通用户在home下的同名目录下
3.删除用户:(root)
userdel -r 用户名
4.常用文件
cat /etc/shadow:用户名和密码
密码库,不可逆加密。
cat /etc/passwd
用户名:用户编号组编号
5.切换用户
su 用户名
exit 退回刚刚的用户
管理员去普通用户不用密码,普通用户去管理员需要密码。
7.2组
创建组
groupadd 组名
删除组
groupdel 组名
3.修改组名
groupmod -n 新组名 旧组名
4.查看用户对应的组
groups 组名
5.李白的主组变成tang了
更改主组
usermod -g 主组 用户名
![](https://i-blog.csdnimg.cn/blog_migrate/6c16e8a53f02fe0da87f9612e7fbd512.png)
更改附属组
usermod -G 附属组 用户名
![](https://i-blog.csdnimg.cn/blog_migrate/605281064d5f5651599a45dafb8d8ebb.png)
改主组用g改附属组用大G
7.3权限用户权限
![](https://i-blog.csdnimg.cn/blog_migrate/1665552686443d19ea5db381d3fb80dc.png)
第一个-/d/l代表文件类型
后边有三个rwx循环
读写执行
缺少哪个哪个是“-”
第一组是所属用户的权限,第二个循环是所属组的权限,第三个是其他用户(不是这个用户不是这个组)的权限。
![](https://i-blog.csdnimg.cn/blog_migrate/ebb76c6cf179b382cae7f24ad1cf2a26.png)
这里的root第一个是root用户,第二个是root组
这个和前边的对应。
7.4权限修改
权限的UGO模型
用户,组,other
两个策略·:
更改属性,
更改所属用户或组
chown dufu file
修改所属用户。
chmod o+w file
8管道与重定向
8.1 管道
“|” ,将前边的结果作为参数给后边
head -10 /etc/profile | tail -1
netstat -anp | grep
8.2重定向
改变数据输出的位置
">":覆盖
ll /opt>test
“>>”:追加
ls / 1>lucky 标准输出
ls/ >lucky 标准输出
ls abcd 2 >lucky 错误输出
综合使用
ls /etc/abc >lucky 2>&1
ls /etc/abc>>lucky 2>&1
信息黑洞,能写进去但是拿不出来。
ls/etc/abc>>/dev/null 2>&1
9.Linux的系统进程
ps -ef
UID 用户id
PID 进程id
PPID 当前进程的父进程
一般带d的都是服务器
ps -ef | grep redis
ps -ef | grep baidu
查看所有信息:
ps -aux
![](https://i-blog.csdnimg.cn/blog_migrate/a4093e67f899e03f14a5a1e613ca64ef.png)
排序
ps -aux --sort -pcpu
当前服务器的使用率
top
cd /proc/
ll
都是进程
创建后台进程:
在后边加一个&
ping www.baidu.com >>baidu &
jobs
可以查看当前的后台进程
但是只有当前用户界面可以获取到
防挂起:
正确·错误信息都写入:2>&1
nohup ping www.baidu.com >>baidu 2>&1 &
关闭进程:
kill -9 8605(进程id)
10.Linux的软件安装
10.1环境变量
系统环境变量:
vi /etc/profile
用户环境变量:
/root
ll -a
.bash_profile
只对当前用户有用
查看环境变量:
echo $PATH
可执行文件后缀
蝶变:DEB
红帽:RPM
安装包:
rpm安装指令
rpm -ivh jdk-8u231-linux-x64.rpm
查询安装是否完成
rpm -qa | grep j
rpm -qa | grep j
java -verson
$引变量
手动配置变量
先找下安装位置
![](https://i-blog.csdnimg.cn/blog_migrate/ffce06141ef81b2e20f7591d3a423152.png)
可能是后两个
复制到-amd64就好
vim /etc/profile
结合上边的路径
export JAVA_HOME=/usr/java/jdk1.8.0_231-amd64
export PATH=$JAVA_HOME/bin:$PATH
配好环境变量后
先刷新下环境文件,如果有错可能是环境配置有问题
source /etc/profile
echo $PATH
可以查看到环境变量,表示配值成功
压缩包运行
解压后打开就好
tar -zxvf apache-tomcat-8.5.47.tar.gz
移动下
mv apache-tomcat-8.5.47 /opt/
进入opt后进入bin目录
运行软件
./startup.sh
查看是否运行
ps -ef | grep tomcat
这个时候用自己的浏览器应该是可以访问的
但是好像只能是局域网内部可以,因为虚拟机设置的是桥接,所以仅仅和主机是一个局域网,所以仅主机可以访问
在网址框输入http://ip:8080
ip指的是自己虚拟机的ip
改下网页
vi ../webapps/ROOT/index.jsp
下边这里写什么有什么
![](https://i-blog.csdnimg.cn/blog_migrate/b402811710cf86ab7d6300a7181d45b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fa20c2bd4bb340929f80cd411f3e5153.png)
![](https://i-blog.csdnimg.cn/blog_migrate/68bec9774b43b13e7c2a4f88120e7fc7.png)
把目录下的.lck剪走
yum
查询
yum search ifconfig
![](https://i-blog.csdnimg.cn/blog_migrate/36e9888b8fd588a128bd0ece935958a0.png)
安装
yum install net-tools
-y 可以把级联的也装上
yum install net-tools -y
查询
yum info ifconfig
![](https://i-blog.csdnimg.cn/blog_migrate/d235ba72131c35b5a0169180943b9692.png)
yum info net-tools
![](https://i-blog.csdnimg.cn/blog_migrate/c40a854757ca4cebd03cc11a57fe7d2e.png)
查询所有的包
yum list
![](https://i-blog.csdnimg.cn/blog_migrate/0a2fe65094c9c20ae1256e66c4b0d2f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/87c6a4f871edbc3a7cec9990993cd8e3.png)
换源
1.先安装一个软件
yum install wget -y
2.备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
3.
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
![](https://i-blog.csdnimg.cn/blog_migrate/258aa5110acc11f8c0eccb9282fedf92.png)
4.换仓库
yum clean all
![](https://i-blog.csdnimg.cn/blog_migrate/ba41f814dace768505054945797b7e38.png)
5.yum makecache
![](https://i-blog.csdnimg.cn/blog_migrate/c14208172227dea878fc345a6b543c41.png)
systemctl status mysqld
![](https://i-blog.csdnimg.cn/blog_migrate/9e2a0098c83645c7e48cfc8580bfb52b.png)
11.Linux三剑客
视频讲三剑客的时候讲的很迅速,三剑客很强大。如果学好的话要很久。这里笔记简单记下。
普通剑客:
cut
用指定的规则切分文本
cut -d ':' -f1,2,3 passwd
![](https://i-blog.csdnimg.cn/blog_migrate/8eacad9a294ef98a1938f30bb87223ba.png)
![](https://i-blog.csdnimg.cn/blog_migrate/38c766597c02ca6a122e4b330c113f7f.png)
sort
对文本进行排序
sort filename
对文本进行排序。一某一列为标准。
sort -t':' -k3 filename 冒号是以冒号为分隔符
![](https://i-blog.csdnimg.cn/blog_migrate/bc46f6c75d01bcc2932e11011e77f02e.png)
sort -t':' -k3 -r filename 逆序
![](https://i-blog.csdnimg.cn/blog_migrate/7f27ad5aa092f7852d00848c38951314.png)
sort -t':' -k3 -n filename
按照数值大小进行排序,如果有字母,字母在前
wc
统计单词数量
wc filename
结果:x y z filename
-l 行
-w word以空格分割单词
-c char
![](https://i-blog.csdnimg.cn/blog_migrate/31e21caec53a70d6c1ec40e0c4caa7a2.png)
剑客一号:grep
grep
对文本进行搜索
可以同时搜索多个文件
grep 搜索词 passwd
grep 搜索词 passwd 文件2
显示匹配的行号
grep -n 搜索词 passwd
显示不匹配的忽略大小写
grep -nvi 搜索词 passwd --color=auto
使用正则表达式匹配
grep -E "[1-9]+"passwd --color=auto
剑客2号:sed
sed:增删查改
字符流编辑器,简称流编辑器
从管道或文件中读取一行处理一行。
vi是一次性全部加载到内存
增 sed '2a 追加内容' passwd
sed '2i 内容' passwd
![](https://i-blog.csdnimg.cn/blog_migrate/53fd164464f3ddfebce4079b6427a29e.png)
这个时候不能追加到文件中,仅仅是可以显示下文件追加后文本的样子
直接修改到文件: sed -i '2a 追加内容' passwd 删 :3到10行 sed '3,10d' passwd
改 整行替换 :也是显式下,不是对文本文件本身修改 sed '3,20c hahaha' passwd sed '3~1c hehehe' passwd 字符替换 sed '1,5s/原字符/新字符/g' passwd sed '1,5s#原符号#新符号#g' passwd
sed行的选择
10 第十行
m,n --> 第m行到第n行 [m,n]
m,+n-->第一行到第四行 [m,m+n]
m~n-->从m行开始,依次累加n
m,$ -->从m开始到最后一行
/school/ -->匹配到school的行
/u1/,/u4/-->从匹配u1到匹配u4
剑客三号 awk
一门语言
可以从结果剪切到自己想得到的结果
ifconfig ens33 | grep "netmask" | awk -F" " '{print $2}'