【Linux笔记-使用指南-备忘录】

创建虚拟机

点击我创建虚拟机

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/lib

Esc	# 准备退出
: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	# 停止docker

docker 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.gz

3、进入目录,执行make命令
cd /opt/software/redis.xxxxx

make && make install

4、创建一个新文件夹
mkdir /myredis

5、将配置文件拷贝一份到新文件夹中
cp redis.conf /myredis

6、修改文件名
mv redis.conf redis7.conf

7、配置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.conf

9、启动客户端
redis-cli -a 密码 (-p 6379)

# 或者
redis-cli
auth 密码


10、ping一下是否可以连通redis服务
ping		# 会回应 pang


11、退出客户端
quit


12、重新进入客户端,执行第一个命令
set k1 helloworld

get k1


13、关闭redis服务器
# 在客户端里面关闭
shutdown

# 在客户端外面关闭
redis-cli -a abc12345 shutdown


13、卸载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 key

exists 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 v1

set k1 v2 # 覆盖旧的key-value






# setnx key value | set key vlaue nx
setnx k1 v1

setnx 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 v4

get k3	# v3

get k4	# v4





# setex key value ex seconds | set key value ex second
# 为指定的key设置值及其过期时间。如果Key已经存在,setex命令将会替换旧的值
setex key seconds value

setex k5 10 v5




# get
get k1	# v1





# decr, 对指定的key值,让value减1,如果value不为数字,报错。如果不存在key值,则key的值会被初始化为0
set k5 10

decr k5  # 9

get k5	# 9

desr k6 10

get k6	# -10






# decrby key num , 对指定的key,让value减去指定的数字。如果value不为数字,报错。如果不存在key值,则key的值会被初始化为0
get k5	# 9

decrby k5 4

get k5	# 5







# strlen key , 返回指定key所储存的字符串值的长度。当key不是字符串时,返回错误。
get k2	# "this is my aiweidong"

strlen k2	# 20





# msetnx k1 v1 k2 v2 . 用于给所有key都不存在时,设置一个或多个值。如果有一个key已经存在,就会全部失败。
get k7	# -20

MSETNX k7 v7 k8 v8 k9 v9	# 失败

MSETNX k8 v8 k9 v9

get k8	# v8

get k9	# v9







# incrby key num。给指定key加指定的数字。如果vlaue不为数字,报错。如果key不存在,则key的value会被初始化为0。
set k1 50

get k1	# 50

incrby k1 20

get k1	# 70







# incrbyfloat。增加浮点增量值。
incrby k1 2.5

get k1	# 72.5








# setrange key index str。用str替换index下标后的字符。
set k2 "Hello World"

get k2	# Hello World

setrange 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	# null

append k4 "huawei"

get k4	# huawei

append k4 "phone"

get k4	# huaweiphone







# getset key value。给key赋值,并返回原先的旧值。
getset key5	value5	# 返回 null

getset 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 3

incar key5	# 4

待续…

相关推荐

  1. Linux笔记-使用指南-备忘录

    2024-03-18 01:26:02       42 阅读
  2. Linux 命令大全备忘录

    2024-03-18 01:26:02       71 阅读
  3. Linux 命令备忘录

    2024-03-18 01:26:02       48 阅读
  4. 备忘录】docker清理指令

    2024-03-18 01:26:02       40 阅读
  5. Linux】文本替换Ubuntu 中 sed 指令使用指南

    2024-03-18 01:26:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 01:26:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 01:26:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 01:26:02       87 阅读
  4. Python语言-面向对象

    2024-03-18 01:26:02       96 阅读

热门阅读

  1. excel封装和ddt D17

    2024-03-18 01:26:02       43 阅读
  2. [蓝桥杯 2020 省 AB1] 走方格

    2024-03-18 01:26:02       38 阅读
  3. nuxtjs 如何通过ecosystem.config.js配置pm2?

    2024-03-18 01:26:02       38 阅读
  4. 解释 Git 的基本概念和使用方式。

    2024-03-18 01:26:02       39 阅读
  5. Linux之Shell脚本

    2024-03-18 01:26:02       39 阅读
  6. 2023蓝桥杯省赛真题分糖果 |枚举+DFS

    2024-03-18 01:26:02       54 阅读
  7. HTML与CSS

    2024-03-18 01:26:02       45 阅读
  8. 前端开发者如何开发自己的生态网站

    2024-03-18 01:26:02       34 阅读
  9. Rust 01.变量、类型、函数

    2024-03-18 01:26:02       34 阅读
  10. Redis集群原理解析

    2024-03-18 01:26:02       39 阅读
  11. C++面试100问(十)

    2024-03-18 01:26:02       44 阅读
  12. python内置函数 L

    2024-03-18 01:26:02       43 阅读