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

虚拟机使用指南

  • 创建虚拟机
  • 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

待续…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis的基本知识点

连接Redis 在进行Redis操作之前&#xff0c;首先需要连接到Redis服务器。这可以通过使用redis-cli命令实现&#xff0c;具体命令格式如下&#xff1a; redis-cli -h <host> -p <port>其中&#xff0c;是Redis服务器的主机名或IP地址&#xff0c;是Redis服务器的端…

C语言自定义数据类型:用typedef声明新类型名

参考原文链接&#xff1a;https://blog.csdn.net/qq_57342311/article/details/129616215 除了可以直接使用 C 提供的标准类型名(如 int&#xff0c;char&#xff0c;float, double 和 long 等)和程序编写者自己声明的结构体、共用体、枚举类型外&#xff0c;还可以用 typedef …

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:FormLink)

提供静态卡片交互组件&#xff0c;用于静态卡片内部和提供方应用间的交互&#xff0c;当前支持router、message和call三种类型的事件。 说明&#xff1a; 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 该组件仅可…

6.【Linux】进程间通信(管道命名管道||简易进程池||简易客户端服务端通信)

介绍 进程间通信的方式 1.Linux原生支持的管道----匿名和命名管道 2.System V-----共享内存、消息队列、信号量 3.Posix------多线程、网路通信 进程间通信目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。…

Android存储概念及路径解析

Android存储概念及路径解析 在Android开发领域&#xff0c;理解不同的存储类型及其对应的文件系统路径对于设计和实现应用至关重要。本文将深入探讨内部存储、外部存储、内存和缓存的概念&#xff0c;并阐明storage/sdcard与mnt/sdcard的区别&#xff0c;以及/storage/emulate…

【C++刷题】优选算法——动态规划第一辑

1.状态表示是什么&#xff1f;简答理解是dp表里的值所表示的含义怎么来的&#xff1f;题目要求经验题目要求分析问题的过程中&#xff0c;发现重复子问题 2.状态转移方程dp[i]......细节问题&#xff1a;3.初始化控制填表的时候不越界4.填表顺序控制在填写当前状态的时候&#…

腾讯云免费服务器配置大全和个人企业申请流程,2024年新版教程

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

蓝桥杯每日一题——棋盘

问题描述 小蓝拥有 n xn 大小的棋盘&#xff0c;一开始棋盘上全都是白子。小蓝进行了 m 次操作&#xff0c;每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色&#xff0c;黑色棋子变为白色)请输出所有操作做完后棋盘上每个棋子的颜色。输入格式 输入的…

【每日前端面经】2024-03-17

【每日前端面经】2024-03-17 本期重点 —— Promise 欢迎订阅我的前端面经专栏&#xff1a;每日前端面经 Tips:每日面经更新从 2-22 到 3-15 已有 23 篇&#xff0c;最近愈发觉得内容相似度高&#xff0c;并且理解程度不深 于是临时停更面经&#xff0c;并将这些面经中的重…

卷积神经网络算法原理(卷积层,卷积运算,填充,步幅,经过卷积运算后的特征图大小,池化层,最大池化,平均池化,经过池化层运算后的特征图大小)

文章目录 卷积神经网络算法原理(卷积层&#xff0c;卷积运算&#xff0c;填充&#xff0c;步幅&#xff0c;经过卷积运算后的特征图大小&#xff0c;池化层&#xff0c;最大池化&#xff0c;平均池化&#xff0c;经过池化层运算后的特征图大小)前言1、图像的本质1.1、灰度图1.2…

Java学习笔记(16)

常见算法 查找算法 查询某个元素是否存在 二分查找&#xff08;数组元素必须是有序的&#xff09; package exercise;public class exercise1 {public static void main(String[] args) {int[] arr {7, 23, 797, 23, 79, 81, 103, 127, 131, 147};System.out.println(binar…

实战Python Socket编程:开发多用户聊天应用

实战Python Socket编程&#xff1a;开发多用户聊天应用 Python Socket 编程概述什么是Socket编程&#xff1f;Socket编程的应用场景Socket编程的重要性基本概念 环境准备Python版本必要的库开发环境配置调试工具 基本Socket编程创建Socket绑定Socket到端口监听连接接受连接发送…

C语言经典面试题目(七)

1、C语言中如何进行内存对齐和字节对齐&#xff1f; 在C语言中&#xff0c;内存对齐和字节对齐是为了优化内存访问速度和提高系统性能而进行的一种策略。内存对齐是指数据在内存中的存放位置必须是某个值的倍数&#xff0c;通常是数据类型的大小。字节对齐是指数据在内存中的存…

24.第12届蓝桥杯省赛真题题解

A.空间&#xff08;100%&#xff09; 计算机存储单位计算 1TB2^10 GB 1GB2^10 MB 1MB2^10 KB 1KB2&10 B 1B8 bit(bit位二进制的最小的存储单位) #include <iostream> #include <cmath>using namespace std; //2^28B 2^2int main(){std::ios::sync_with_stdio…

【C语言入门】浮点型数据在内存中的存储

✨✨欢迎大家来到Celia的博客✨✨ &#x1f389;&#x1f389;创作不易&#xff0c;请点赞关注&#xff0c;多多支持哦&#x1f389;&#x1f389; 所属专栏&#xff1a;C语言 个人主页&#xff1a;Celias blog~ 目录 ​编辑 引言 引例 一、浮点型在内存中的存储方式 1.1 …

在idea中配置tomcat服务器,然后部署一个项日

1.下载tomcat Tomcat下载 点击右边的tomcat8 找到zip点击下载 下载完&#xff0c;解压到你想放置的路径下 2.配置环境变量 打开设置找到高级系统设置点击环境变量 点击新建&#xff0c;变量名输入&#xff1a;CATALINA_HOME&#xff0c;变量值就是Tomcat的安装路径&#x…

【QT+QGIS跨平台编译】之七十七:【QGIS_Gui跨平台编译】—【错误处理:字符串错误】

文章目录 一、字符串错误二、处理方法三、涉及到的文件一、字符串错误 常量中有换行符错误:(也有const char * 到 LPCWSTR 转换的错误) 二、处理方法 需要把对应的文档用记事本打开,另存为 “带有BOM的UTF-8” 三、涉及到的文件 src\gui\qgsadvanceddigitizingdockwidge…

智慧礼金:电子礼金薄,让礼薄更添智能,你确定不进来看看?

智慧礼金&#xff1a;电子礼金薄&#xff0c;让礼薄更添智能&#xff0c;你确定不进来看看&#xff1f; 一、重要声明二、相关介绍三、使用好处四、如何找到该小程序 随着科技的不断进步&#xff0c;传统的纸质礼金簿已经逐渐被电子化管理所取代。今天&#xff0c;我们要向大家…

Java解决完全二叉树的节点个数

Java解决完全二叉树的节点个数 01 题目 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的…

1990-2022年各省全要素生产率数据(仅结果)

1990-2022年各省全要素生产率数据&#xff08;仅结果&#xff09; 1、时间&#xff1a;1990-2022年 2、指标&#xff1a;地区、年份、OLS、FE、RE、DGMM、SGMM、SFA1、SFA2、SFA3、SFA3D、TFE、非参数法 3、范围&#xff1a;31省 4、计算说明&#xff1a; 产出指标&#x…