目录
一、固定IP设置
步骤一:在虚拟机中配置ip地址网关和网段
网段表示ip地址的范围,例如192.168.11.0 表示ip地址的范围是192.168.11.1~192.168.11.254,192.168.11.255是广播地址,在同一网段内的主机可以通行。
网关是一个智能超群的路由器,一个智能超群的网桥,一个智能超群的中继器,在不同网段中的主机需通过网关来通信,我们可以在ip地址的范围192.168.11.1~192.168.11.254内选择一个地址作为网关。一般情况下设为x.x.x.1或x.x.x.2。
设置固定ip:
编辑-->虚拟网络编辑器-->VMnet8-->修改子网ip(例如192.168.11.0,这里设置的是网段)-->修改子网掩码(255.255.255.0)-->NAT设置-->设置网关(默认为192.168.11.2)-->确定。
步骤二:在linux系统中手动修改配置文件,固定IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network 重启网络
完成设置
二、其它常见命令
(1)wget [-b] url : wget是一种非交互式的文件下载器,可以在命令行内下载网络文件
-b : 后台下载,会将日志写入到当前工作目录的wget-log文件中
可通过tail命令监视后台下载进度:tail -f wget-log
注意:无论下载是否成功,都会生成要下载的文件,如果下载失败,记得及时删除
(2)curl [-O] url : 可以发送http网络请求,可用于:下载文件、获取信息等
-O : 用于下载文件,当url是下载链接时可以使用此选项下载文件
(3)reboot : 重启系统
(4) 远程登录命令(如果无法远程登录可能是防火墙没关)
ssh 要登陆的主机IP或主机名 : 以当前用户远程登录指定主机(使用主机名登录必须提前配置好IP映射)
ssh root@要登陆的主机IP或主机名 : 以root用户远程登录指定主机
ssh-keygen -t rsa -b 4096 : 生成远程登录密钥用于实现免密登录
(5)init 0: 关机
init 6 : 重启
(6)scp命令是cp命令的升级版,即ssh cp,通过SSH协议完成文件的复制
就是在不同的Linux服务器之间相互传输文件,只要知道服务器的账户和密码(或密钥)就可以通过scp互传文件
1)语法
scp [-r] 参数1 参数2 : 把参数1复制给参数2(例如把本机的内容复制给其它服务器,或把其它服务器的内容复制给本机)
-r : 用于复制文件夹
参数1 : 本地路径 或远程目标路径
参数2 : 远程目标路径 或本地路径
2)高级语法
反引号里的内容系统会将其视为命令来执行。
(7)nohup “要执行的命令” & : 后台执行(nohup与&之间的命令会放到后台执行)
2>&1 : 将错误输出重定向到标准输出(实质就是日志文件)
在linux中 0 :表示键盘输入 1: 表示标准输出 2:表示错误输出
最后可以使用kill命令关闭后台程序
三、端口
(1)基本概念
端口分为物理端口(USB)和虚拟端口(用于OS和外部进行交互)
ip地址只能锁定计算机,但如果此时计算机A中的QQ程序想要访问计算机B中的QQ,只通过ip是不行的,所以有了端口概念,端口可以锁定计算机上具体的程序,确保程序之间进行通讯。
可以理解为ip地址就是某小区,端口是具体的住户。
(2)linux中的端口
linux系统可支持65535个端口,共分为3类:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,SSH-22,HTTPS-443,一般不要占用这些端口
注册端口:1024~49151,一般可以随意使用,用于松散的绑定一些程序/服务
动态端口:49152~65535,通常不固定绑定程序,而是当程序对外进行网络链接时临时使用
(3)常见命令
nmap ip地址 : 用于查看该主机端口的占用情况
netstat -anp : 查看Linux网络状态
-a,显示所有
-n,不用别名显示,只用数字显示
-p,显示进程号和进程名
netstat -anp | grep 端口号 : 查看指定端口的占用情况
四、进程管理
每个程序在运行的时候,OS会将其注册为系统中的一个“进程”,且会为每个进程分配一个独有的进程号(PID)
ps [-e -f] : 查看Linux系统中的进程信息
-e : 显示全部进程
-f : 显示全部详细信息
UID: 启动该进程的用户
PID:进程号
PPID:启动该进程的父进程
C:该进程CPU占用率
STIME: 进程的启动时间
TTY : 启动此进程的终端序号(鼠标,键盘等),?表示非终端启动
TIME : 进程占用CPU的时间
CMD:进程对应的名称或启动路径或启动命令
ps命令一般配合管道符过滤使用。
kill [-9] 进程ID : 用于关闭进程
-9 : 强制关闭,不使用该选项会向进程发送信息要求其关闭,但是否关闭看进程自身的处理机制
五、主机状态查看
(1)top : 查看CPU,内存使用情况,默认每5秒刷新一次,按q或CTRL+C退出
含义解释:
1)上半部分
第一行
top:命令名称 18:47:20表示当前系统时间 up 3:39(时:分)表示系统运行时间
3 users :有3个用户登录 load average(系统负载及任务队列的平均长度) :1,5,15分钟前到现在的平均负载
第二行
Tasks: 进程总数 1 running :1个进程在运行 207 sleeping : 207个进程睡眠
stopped : 停止进程数 zomble : 僵尸进程数
第三行 (CPU使用率)
us : 用户占用CPU百分比 sy:内核空间(系统)占用CPU百分比 ni:高优先级进程占用CPU百分比 id: 空闲CPU百分比 wa:等待输入输出的CPU时间百分比 hi:CPU硬件中断率 si:CPU软件中断率 st:强制等待占用CPU率
第四行 (物理内容使用率)
total : 总量 free:空闲 used : 使用 buff/cache : buff和cache占用
第五行 (虚拟内存使用率)
同第四行 avail Mem : 可用内存量
2)下半部分
PID : 进程ID
USER : 进程所属用户
PR : 进程优先级,越小越高
NI : 负值表示高优先级,正值表示低优先级
VIRT : 进程使用虚拟内存,单位KB
RES : 进程使用物理内存 , KB
SHR : 进程使用共享内存,KB
S : 进程状态(S休眠R运行Z僵死N负数级优先I空闲状态)
%CPU : 进程占用CPU率
%MEM:进程占用内存率
TIME+ : 进程使用CPU时间总计,单位10ms
COMMAND : 进程命令或名称或程序文件路径
(2)top选项
top命令也支持选项:
top -p 1 : 只显示进程ID为1的进程信息 top -p 进程ID
top -d 1 :每1s刷新一次 top -d 刷新时间
top -c :COMMAND显示更详细的信息
top -b :一页一页的显示
(3)top交互式选项(快捷键)
当top以交互式运行时(非-b选项运行),可以使用以下交互式命令进行控制
f键后按上下移动,按空格进行选择
(4)df命令
df [-h] : 查看磁盘的使用情况
-h : 以更加人性化的单位显示
(5)iostat命令
iostat [-x] [num1] [num2] : 查看CPU、磁盘(硬盘)的相关信息
-x : 显示更多信息
num1: 数字刷新间隔
num2:数字刷新次数
tps:设备每秒传输次数
后面依次是,每秒读的kB数,每秒写的kB数,总共读了多少kB,总共写了多少kB
iostat -x中%util表示磁盘利用率
(6)sar命令
sar -n DEV num1 num2 : 查看网络的相关统计(sar命令很复杂,这里只简单介绍)
-n : 查看网络
DEV : 查看网络接口
num1 : 刷新间隔
num2:刷新次数
六、环境变量
env 命令可以查看当前系统中记录的环境变量,环境变量是一种KeyValue型结构
(1)环境变量的作用
环境变量是在OS在运行的时候,记录的一些关键信息,用以辅助系统运行
(2)环境变量:PATH
引题:无论我们的当前工作目录是什么,只要输入cd命令,都能执行/usr/bin/cd这个程序,这是为什么呢?
答:都是环境变量PATH的作用
PATH环境变量记录的系统执行任何命令的搜索路径(路径之间以:隔开)
当执行任何命令时,系统都会按照顺序,从上述路径中搜索要执行的程序的本体,比如cd命令就从第六个目录/usr/bin中找到并执行。
(3)“$”符号
$符号用于取Key的值,环境变量记录的信息,除了给OS自己使用之外,如果我们想用,也可以通过$符来取得。
$ 环境变量名 : 获取该环境变量的值
(4)自行设置环境变量
export 变量名=变量值 : 临时设置环境变量
永久设置:
针对当前用户生效,将上述命令配置在当前用户的 ~/bashrc文件中
针对所有用户生效,将上述命令配置在系统的 /etc/profile文件中 (需root)
并通过 source 配置文件 使其立刻生效
(5)自行设置环境变量PATH
通过自行设置PATH,就可以实现创建自己的命令
比如我们在/home/zxy目录下创建一个目录叫myoder,然后在该目录下创建一个自己的命令程序本体文件叫aaa:
接下来执行./aaa,输出权限不允许,查看ls -l 可以看出aaa文件没有x权限所以无法执行,设置好权限后再次执行,输出哈哈哈我是命令aaa,此时我们是直接给出地址去执行的aaa文件,但当我们直接输入aaa时输出没有找到,是因为系统在PATH中没有找到aaa命令,这里设置/etc/profile文件重新配置PATH环境变量,并立即生效。
此时无论在哪里输入aaa都可以输出哈哈哈我是命令aaa了
七、文件的上传与下载
在finalshell工具下方的窗口中找到想要下载的文件,右键下载,这样就直接下载到本地电脑上了
上传文件直接在本地电脑上拖拽即可上传文件,如果出现无法拖拽的情况,是本地电脑阻止了该操作
解决方法:Xshell Win10不能直接拖文件进行文件传输解决办法_是你的小艺的博客-CSDN博客
除了通过上述方法外,也可以通过命名的方式进行文件传输
rz :上传文件 (需要在FinalShell中输入,本身linux不支持rz)
sz 要下载的文件: 下载文件
注意:通过拖拽的方式上传文件速度要比命令rz上传文件快
八、文件的压缩与解压
在windows系统中最常用的压缩包是.zip格式
在linux系统中最常用的压缩包是.tar 或.gzip或.zip格式,.tar压缩文件就是简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅只是简单的封装;.gzip压缩文件是通过使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
(1) tar命令(针对.tar 和.gzip文件)
tar [-c -v -x -f -z -C] 参数1 参数2 ......参数N : 进行文件的压缩与解压
-c : 创建压缩文件,用于压缩模式
-v :显示压缩、解压过程,用于查看进度
-x :解压模式
-f :要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z :gzip模式,不使用该选项就是tar模式,如果要使用的话一般放到选项的第一个位置
-C : 选择解压的目的地,用于解压模式
tar命令常见压缩组合:
tar -cvf test.tar 1.txt 2.txt 3.txt # 将1.txt 2.txt 3.txt压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt # 将1.txt 2.txt 3.txt压缩到test.tar.gz文件内
tar命令常见解压组合:
tar -xvf test.tar # 将test.tar文件解压至当前目录
tar -xvf test.tar -C /home/zxy # 将test.tar文件解压至指定目录下
tar -zxvf test.tar.gz -C /home/zxy # 将test.tar.gz文件解压至指定目录下
(2)zip命令(针对.zip文件)
zip [-r] 参数1 参数2 .......参数N : 进行文件的压缩
-r : 对文件夹进行压缩时必须加-r选项
zip test.zip a.txt b.txt c.txt # 将a.txt b.txt c.txt压缩至test.zip文件内
zip -r test.zip test1 test2 a.txt # 将test1,test2两个文件夹和a.txt文件,压缩至test.zip文件内
(3)unzip命令(针对.zip文件)
unzip [-d] 参数 : 进行文件的解压
-d :指定要解压的位置
unzip test.zip # 将test.zip解压到当前目录
unzip test.zip -d /home/zxy # 将test.zip解压到指定位置
九、集群化环境(多台虚拟机或多台服务器共同工作的模式)
配置多台虚拟机:
a:关闭当前的虚拟机(root用户下:init 0)
b:右键“已存在的虚拟机”-->管理-->克隆-->下一页-->选择克隆源-->下一页-->选择“完整克隆”-->下一页-->对该克隆虚拟机取名,并设置保存位置-->完成
十、常见服务的端口
HTTP : 80
SSH : 22
以下端口是该服务默认绑定的端口
mysql : 3306
tomcat : 8080
nginx : 80
rabbitMQ : 5672 15672 25672
redis : 6379
elasticsearch : 9200
kafka : 9092
zookeeper : 2181
hadoop HDFS(可视化界面) :9870
hadoop YARN : 8088
hbase : 16010
spark : 8081
flink : 8081
注意:
a、在linux中,拍快照前一定要先关机,如果不关机直接建立的快照将一直处于开启状态,在后续想要克隆(已关机的虚拟机或快照才可以克隆)时就无法使用以前的快照。
b、当安装了jdk后可以使用jps命令查看在当前机器上所有java进程
c、一定要先启动ZooKeeper 再启动Kafka 顺序不可以改变