虚拟机使用指南
- 创建虚拟机
- Linux使用指南
- yum
- JDK
- Docker
- Linux常用指令
- Redis
- Redis配置
- key相关指令
- String相关指令
- 待续...
创建虚拟机
点击我创建虚拟机
Linux使用指南
yum
# 更新yum包
sudo yum update -y# 加入安装过旧版本,先卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine# 安装 yum-util 工具包和 devicemapper 驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 设置 yum 源(加速 yum 下载速度)
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo# 或者
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 用yum 下载vim
yum -y install vim
JDK
# 查看jdk版本
java -version# 下载jdk1.8
下载路径:
https://www.oracle.com/technetwork/java/javase/
downloads/jdk8-downloads-2133151.html下载名称:
jdk-8u401-linux-x64.tar.gz# 在/opt/路径下创建software,用来存放外部应用
mkdir /opt/software# 将jdk的压缩文件放到software里面,并解压
tar -zxvf jdk-8u401-linux-x64.tar.gz# 将解压出来的jdk文件夹改一下名字,后面配置环境变量更方便,
mv jdk1.8.0_401/ /opt/software/jdk180# 然后进去目录,记住当前路径
cd /opt/software/jdk180
pwd # /opt/software/jdk180# 配置环境变量(jdk环境变量的配置路径在/etc/profile)
vim /etc/profile# 指令如下
i # 插入# 在最末尾加入下面的配置
export JAVA_HOME=/opt/software/jdk180
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/libEsc # 准备退出
:wq! # 保存写入并退出# 激活配置
source /etc/profile# 检查是否配置成功
java -version# 显示如下:
java version "1.8.0_401"
Java(TM) SE Runtime Environment (build 1.8.0_401-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.401-b10, mixed mode)
Docker
# 安装docker
# 查看所有可以安装的docker版本
yum list docker-ce --showduplicates | sort -r# 安装最新版
sudo yum install docker-ce -y# 安装指定版本
sudo yum install xxxxxxxxxx -y
sudo yum install docker-ce-20.10.11.ce -y# 查看是否安装成功
docker -version #有显示版本等信息就是成功了# 启动并加入开机启动
sudo systemctl start docker #启动 docker
sudo systemctl enable docker #加入开机自启动# docker指令
systemctl status docker # 显示docker镜像状态
systemctl start docker # 启动docker
systemctl restart docker # 重启docker
systemctl stop docker # 停止dockerdocker images # 查看docker里面的镜像文件
docker ps -a # 查看所有容器
docker ps -a | grep xxx # 搜索带xxx的容器名称
docker ps -s # 查看运行中的容器docker exec -it 容器id bash # 进入容器实例
docker stop ID #停止容器rm docker ID/名称 # 删除容器
rm docker -f ID/名称docker rmi ID # 删除镜像docker rm $(docker ps -a -q) # 删除所有容器
docker rmi $(docker images -q) # 删除所有镜像
Linux常用指令
# 切换管理员root,需要输入密码
su
# 切换非管理员用户
su xxxx # 在opt路径下创建文件夹software
mkdir /opt/software/ # 显示当前所在路径
pwd # 查找文件
find / -name *xxxx*# 移动文件
mv /opt/1.jsp /opt/software/ # 移动opt路径下的1.jsp到software里面# 创建文件
touch /xx/xx/daemon.json # 在xx/xx/路径下创建daemon.json# 拷贝文件
cp /opt/1.jsp /opt/software/ # 复制opt路径下的文件,放到software里面# 修改文件名,这个也是移动文件的方法。原文件名:jdk.1.8.441
mv /opt/jdk.1.8.441 /opt/software/jdk180# 文件移动了,且名字也改了,当然也可以这样只改名,不移动文件
mv /opt/jdk.1.8.441 /opt/jdk180# 查看进程
ps -ef | grep 端口|名称# 删除文件夹
rm -rf /path/path1/path2# 解压tar.gz
tar -zxvf xxxxxxxxxxxxxxxxx.tar.gz
Redis
Redis配置
下载地址:
https://redis.io/download/
1、将下载好的redis拖进 /opt/software目录下2、使用命令解压
tar -zxvf redis-xxxx.tar.gz3、进入目录,执行make命令
cd /opt/software/redis.xxxxxmake && make install4、创建一个新文件夹
mkdir /myredis5、将配置文件拷贝一份到新文件夹中
cp redis.conf /myredis6、修改文件名
mv redis.conf redis7.conf7、配置redis7.conf默认daemonize no 改为 daemonize yes默认protected-mode yes 改为 protected-mode no默认bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接添加redis密码 改为 requirepass 你自己设置的密码8、动redis服务,并指定访问的配置文件
redis-server /myredis/redis7.conf9、启动客户端
redis-cli -a 密码 (-p 6379)# 或者
redis-cli
auth 密码10、ping一下是否可以连通redis服务
ping # 会回应 pang11、退出客户端
quit12、重新进入客户端,执行第一个命令
set k1 helloworldget k113、关闭redis服务器
# 在客户端里面关闭
shutdown# 在客户端外面关闭
redis-cli -a abc12345 shutdown13、卸载redis
# 查看/usr/local/bin目录下和redis相关的文件
ls -l /usr/local/bin/redis-*# 删除/usr/local/bin目录下和redis相关的文件
rm -rf /usr/local/bin/redis-*
key相关指令
# 查看当前库所有的key
keys *# 判断某个key是否存在
exists keyexists key1 key2 key3# 查看你的key是什么类型
type key# 删除指定的Key
del key# unlink key,非阻塞删除,仅仅将keys从keyspace元数据中删除,真正的删除会在后续异步中操作。
unlink key# ttl key ,查看还有多久过期,-1表示永不过期,-2表示已经过期
ttl key1# expire key seconds (秒) , 设置过期时间
expire key3 10# move key db (0~15),一个redis服务默认有16个数据库,默认在下标0号的数据库
move key2 4# select db (0~15),切换数据库
select 4# 查看当前数据库的key的数量
dbsize# flushdb , 清空当前库的key
flushdb# flushall, 清空所有库的key
flushall#################################
# key区分大小写
# 帮助命令: help @ xx 例如: help @string
String相关指令
# set key value
set k1 v1set k1 v2 # 覆盖旧的key-value# setnx key value | set key vlaue nx
setnx k1 v1setnx k1 v2 # 失败,不会覆盖旧的key-value# gaterange key start end
# 获取key下标从start到end的字符
set k2 "this is my aiweidong"gaterange k2 0 3 # "this"# mset 可以同时设置多个key-value
mset k3 v3 k4 v4get k3 # v3get k4 # v4# setex key value ex seconds | set key value ex second
# 为指定的key设置值及其过期时间。如果Key已经存在,setex命令将会替换旧的值
setex key seconds valuesetex k5 10 v5# get
get k1 # v1# decr, 对指定的key值,让value减1,如果value不为数字,报错。如果不存在key值,则key的值会被初始化为0
set k5 10decr k5 # 9get k5 # 9desr k6 10get k6 # -10# decrby key num , 对指定的key,让value减去指定的数字。如果value不为数字,报错。如果不存在key值,则key的值会被初始化为0
get k5 # 9decrby k5 4get k5 # 5# strlen key , 返回指定key所储存的字符串值的长度。当key不是字符串时,返回错误。
get k2 # "this is my aiweidong"strlen k2 # 20# msetnx k1 v1 k2 v2 . 用于给所有key都不存在时,设置一个或多个值。如果有一个key已经存在,就会全部失败。
get k7 # -20MSETNX k7 v7 k8 v8 k9 v9 # 失败MSETNX k8 v8 k9 v9get k8 # v8get k9 # v9# incrby key num。给指定key加指定的数字。如果vlaue不为数字,报错。如果key不存在,则key的value会被初始化为0。
set k1 50get k1 # 50incrby k1 20get k1 # 70# incrbyfloat。增加浮点增量值。
incrby k1 2.5get k1 # 72.5# setrange key index str。用str替换index下标后的字符。
set k2 "Hello World"get k2 # Hello Worldsetrange k2 6 "Redis"get k2 # Hello Reids# psetex key millseconds value。给Key设置存活时间,单位是毫秒
psetex key3 1000 value3 # 给k3设置存活时间为1000毫秒# append key value。给指定的key追加值,如果key不存在,则改为赋值;如果存在,则在结尾合并。
exists k4 # nullappend k4 "huawei"get k4 # huaweiappend k4 "phone"get k4 # huaweiphone# getset key value。给key赋值,并返回原先的旧值。
getset key5 value5 # 返回 nullgetset key5 5 # 返回value5# mget key1 key2 key3 ... 。 获取多个key的值
mget k1 k2 k3 k4/*
1) "72.5"
2) "Hello Reids"
3) (nil)
4) "huawei yylx"
*/# incr key 。将key中存储的数字值加1。如果key不存在,key的value会初始化为0,再执行incr。不为数字报错
set key5 3incar key5 # 4