今天写的是一些linux的基础命令以及对防火墙、软件端口一些概念 希望对大家有帮助!!!
安装虚拟机
1.基础命令
cd:切换目录
ls:查看文件
ll:按照长格式查看文件
ll -a:查询所有文件(可以查看隐藏文件)
cp:复制(cp源文件位置 目标文件位置)
mv:移动/改名(mv源文件位置 目标文件位置)
2.解压
tar -zxvf 需要解压的文件
rpm资源搜索
rpm -qa|grep 需要查询的文件
rpm文件删除
rpm -e --nodeps 需要删除的文件
whereis 文件名
pwd:展示当前位置
who am i:我是谁
su(切换用户):su 用户名
mkdir:创建文件夹
touch :创建文件
删除文件
rm -r 文件或者文件夹的名称
这种删除方式需要确认的 如果删除的是文件夹那么会循环确认
rm -rf 强制删除
3.编辑文件
vi(记事本) vim(带颜色)nodepad++
插入模式:i:当前光标位置 o:光标所在的下一行 a:光标所在下一个
4.删除
使用插入模式删除:dd(快速删除一行)
如果只对文件查看,不做修改:cat 文件名
more 10%:可以按照百分比查看文件
5.保存文件
使用底行模式(shift+:)
wq(保存退出)
q!(不保存退出)
shift+zz(保存退出)
wq!(强制保存退出)
6.查看ip
ip addr
ifconfig
7.权限
chmod
可以用数字表示(777)
字母表示a所有用户
字母u表示当前登录用户
字母g表示所属组
字母o表示其他用户
8.防火墙
service firewalld restart:重启
service firewalld status:查看状态
添加端口
firewall -cmd --permanent --add-port=80/tcp
docker:容器引擎
第二种方法
/etc/firewall/zones/public.xml
添加prot标签(单标签):<port protocol="tcp" port="需要开放的端口号"/>
9.下载容器
下载: yum install docker
启动docker:systemctl docker start
10.停止
停止:systemctl docker stop
docker开机自动启动:systemctl enable docker
查看docker版本:docker -v
11.搜索软件
搜索:docker search 文件名
12.下载
下载: docker pull(文件名加版本,如果不写版本会下载最新版)
查询已经下载的软件信息:docker images
13.启动并下载镜像
docker run --name xxx -p docker的端口号:需要暴露的端口号 -d 下载好的镜像
例:docker run --name redis -p 6379:6389 -d redis
14.查看docker正在运行的容器
查看全部:docker ps
查看已经在docker部署好的镜像:docker ps -a
启动已经部署好的镜像:docker start 镜像名称(或者id名称)
15.停止
停止:docker stop 镜像名称(或者id名称)
删除镜像(只能删除停止的镜像):docker rm 镜像名称
16.开机自启
docker update xxx(镜像名称) --restart=always
17.docker安装mysql
拉取镜像:docker pull docker.io/centos/mysql-57-centos7
启动mysql:docker run -di --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD = 1
23456 -d docker.io/centos/mysql-57-centos7
18.docker安装redis
拉取镜像:docker pull redis
启动redis:docker run --name redis -p 6379:6379 -d redis
19.docker安装mq
拉取镜像:docker pull rabbitmq:management
启动mq:docker run -di --name=aisile_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
20.虚拟机安装jdk
卸载本机安装的jdk
rpm -qa |grep jdk
rpm -e --nodeps 删除搜索到文件
第一步: jdk1.8.0_251
把jdk文件放到linux下的/usr/local/java文件夹下
第二步:
进入/usr/local/java解压jdk文件(tar -zxvf xxx)
第三步:配置环境变量: vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
第四步:
\1. 重启客户端(reboot)
\2. 通过命令source /etc/profile让profile文件立即生效
第五步:
执行java -version查看安装是否成功
防火墙
防火墙是一种网络安全设备或软件,用于保护计算机网络免受未经授权的访问、攻击和恶意活动的影响。它通过监视网络流量并根据预定义的安全策略来控制数据包的传输,从而实现网络的安全防护。
防火墙的主要功能包括:
-
访问控制:防火墙可以根据预设规则,限制网络流量进出网络。它可以允许或拒绝特定IP地址、端口号或协议的通信,以防止未经授权的访问。
-
包过滤:防火墙可以检查传入和传出的数据包,并根据事先定义的规则集来决定是否允许通过。这些规则可以基于源和目标IP地址、端口号、协议类型等进行过滤。
-
网络地址转换(NAT):防火墙可以使用网络地址转换技术将内部网络中的私有IP地址转换为公共IP地址,以保护内部网络的真实结构和地址信息。
-
虚拟专用网络(VPN)支持:防火墙可以支持建立安全的远程连接,使远程用户能够通过加密隧道访问内部网络资源,提高远程访问的安全性。
-
日志记录和审计:防火墙可以记录所有网络流量和安全事件,生成日志文件以供审计和调查使用。这些日志可以用于检测潜在的安全威胁,并帮助分析和解决安全事件。
总之,防火墙是网络安全的重要组成部分,它通过控制和监视网络流量,提供了一层保护,帮助组织保护其计算机网络免受未经授权的访问和恶意活动的威胁。
软件端口
在计算机网络中,端口是一种逻辑概念,用于标识一个应用程序或服务与其他网络实体进行通信的地址。软件端口是指在计算机上运行的应用程序使用的端口号,用于与其他计算机或应用程序进行通信。
软件端口号是一个16位的数字,它可以是0到65535之间的任何值。其中,0到1023之间的端口号是为特殊用途保留的,如HTTP服务使用的端口80,FTP服务使用的端口21等。而1024到65535之间的端口号则是为一般应用程序使用的,例如Web浏览器使用的端口号是8080或8000,SMTP邮件服务器使用的端口号是25等。
通过使用不同的端口号,计算机上的多个应用程序可以同时进行网络通信,而不会相互干扰。当一个应用程序需要与其他计算机或应用程序进行通信时,它会使用一个特定的端口号,以便其他计算机或应用程序可以识别并与其建立连接。
总之,软件端口是计算机网络中非常重要的概念,它允许应用程序在网络上进行通信,并确保多个应用程序之间的通信不会相互干扰。
本机防火墙
本机防火墙是指在个人计算机或服务器上运行的防火墙软件,用于保护该计算机免受未经授权的访问和恶意活动的影响。它可以监控进出计算机的网络流量,并根据预定义的规则来控制数据包的传输。
常见的本机防火墙软件包括:
-
Windows防火墙:Windows操作系统自带的防火墙软件,提供基本的入站和出站流量过滤功能。它可以根据网络位置配置不同的安全策略,例如公共网络、私有网络或域网络。
-
macOS防火墙:macOS操作系统内置了防火墙功能,可以通过系统偏好设置进行配置。它可以限制进入和离开计算机的网络连接,并允许用户自定义应用程序的访问权限。
-
Linux防火墙(如iptables):Linux操作系统通常使用iptables作为防火墙软件。它提供了强大的流量过滤和网络地址转换功能,可以根据用户定义的规则集来管理网络连接。
本机防火墙的功能通常包括以下方面:
-
入站和出站流量过滤:防火墙可以监控进出计算机的网络流量,并根据预定义的规则来决定是否允许通过。它可以阻止未经授权的访问和恶意活动。
-
应用程序控制:防火墙可以允许或拒绝特定应用程序的网络连接。用户可以配置防火墙以限制应用程序的访问权限,从而提高系统的安全性。
-
网络地址转换(NAT):防火墙可以使用网络地址转换技术,将内部私有IP地址转换为公共IP地址,以保护计算机的真实地址和结构。
-
虚拟专用网络(VPN)支持:一些本机防火墙软件提供VPN功能,允许用户建立安全的远程连接,并通过加密隧道访问远程网络资源。
-
日志记录和审计:防火墙可以记录所有网络流量和安全事件,并生成日志文件以供审计和调查使用。这些日志可以用于检测潜在的安全威胁,并帮助分析和解决安全事件。
总之,本机防火墙是保护个人计算机或服务器安全的重要组成部分。它可以监控和控制网络流量,防止未经授权的访问和恶意活动对计算机造成损害。使用本机防火墙可以提高计算机的安全性,并保护用户的隐私和数据安全。
TCP/UDP
TCP(传输控制协议)和UDP(用户数据报协议)是互联网通信中两种常用的传输层协议。
TCP是一种面向连接的协议,提供可靠的数据传输。它通过建立一个虚拟的连接来确保数据的完整性、顺序性和可靠性。TCP使用三次握手的方式建立连接,然后通过可靠的数据流传输机制进行数据的传输。它还提供了拥塞控制和流量控制等机制,以避免网络拥塞和数据丢失。TCP适用于对数据传输可靠性要求较高的应用,如文件传输、电子邮件和网页浏览等。
UDP是一种无连接的协议,提供不可靠的数据传输。它将数据分割为数据报,并直接发送给目标主机,不需要建立和维护连接。UDP不提供可靠性和顺序性的保证,因此在数据传输过程中可能会出现丢包或乱序的情况。UDP适用于对实时性要求较高、数据传输速度更重要的应用,如音视频流媒体、在线游戏和实时通信等。
TCP和UDP的主要区别如下:
-
连接性:TCP是面向连接的,需要在通信双方建立连接后才能进行数据传输,而UDP是无连接的,可以直接发送数据。
-
可靠性:TCP提供可靠的数据传输,通过确认和重传机制确保数据的完整性和可靠性;而UDP不提供可靠性保证,数据可能会丢失或乱序。
-
顺序性:TCP保证数据按照发送顺序到达目标主机,而UDP不保证数据的顺序性。
-
拥塞控制:TCP具有拥塞控制机制,可以根据网络状态调整数据传输速率,以避免网络拥塞;UDP没有拥塞控制机制。
-
开销:由于TCP提供了可靠性和顺序性的保证,因此在传输过程中需要更多的开销,包括建立连接、维护状态等;而UDP的开销较小。
根据应用的需求和特点,选择使用TCP或UDP取决于对数据传输可靠性、实时性和开销的权衡。一般来说,对于需要可靠性和顺序性的应用,如文件传输和网页浏览,应该选择TCP;而对于实时性要求较高的应用,如音视频流媒体和实时通信,可以选择UDP。
linux 防火墙
TCP/UDP协议的认知:
TCP协议是传输层中非常重要的一个协议,它的全称是传输控制协议,它主要是用来解决在传输层通信的过程中可靠性的问题。
TCP/IP协议是Internet互联网最基本的协议,其在一定程度上参考了七层ISO模型。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,七层被简化为了四个层次。TCP/IP模型中的各种协议,依其功能不同,被分别归属到这四层之中,常被视为是简化过后的七层OSI模型。
TCP三次握手的机制
TCP端口的概念
传输层通过TCP、UDP或SCTP端口号为上层应用提供服务,不同的端口对应不同的应用或服务。
端口号范围1~1023是公认端口,1024~49151是注册端口,49152~65535是私有端口。知名端口分给众所周知的应用,注册端口需要向IANA申请注册才能使用,私有端口类似于私有IP地址,可以不用申请直接使用,在网络中只要不冲突就可以
--------------------------------------------------------------
本文到这里就结束啦!!! 希望对大家有帮助 ~~