文档地址:
https://gitee.com/kaikaiccc/personal-learning-notes
| ls | 查看当前目录下的内容 |
|---|---|
| pwd | 查看当前所在目录 |
| cd [目录名] | 移到指定目录 |
| touch 1.txt | 若文件不存在,创建文件 |
| mkdir test | 新建文件夹 |
| rm 1.txt | 删除指定文件 |
| rm -f 1.txt | 强制删除不询问 |
| rmkdr test | 删除指定文件夹 |
使用技巧
- Tab自动补全
- 两次Tab给出补全操作提示
- 上下箭头调出曾经使用的命令
- clear或ctrl+l实现清屏
语法格式
ls [-al] [dir]
-
ls
-
ls -a 可以显示隐藏文件目录(.开头的隐藏的文件)
-
ll 除文件名外,同时将文件形(d表示目录,-表示文件)、权限、拥有者、文件大小信息展开
语法格式
cd [dirname]
- ~表示home目录
- . 表示当前目录
- … 表示当前目录的上一级目录
显示文件的内容
语法格式
cat [-n] fileName
由1开始对文件每一行进行编号
cat -n /etc/profile
4、more以分页的形式查看文件
语法格式: more fileName
- 回车键 向下滚动一行
- 空格键 向下滚动一屏
- b 返回上一屏
- q 或ctrl+c 退出
more /etc/profile
5、tail查看文件末尾的内容
语法格式: tail [-f] fileName
- tail /etc/prifile 展示文件后10行
- tail -20 /etc/profile 展示文件后20行
- tail -f my.log 动态展示my.log末尾内容并展示
mkdir -p 1/2/3 可以创建多级目录
7、rmdir删除目录
rmdir [-p] dirName
-p: 当子目录删除后父目录为空,则一并删除
rmdir -p test/1/2/3
8、rm删除文件或目录
语法格式: rm [-rf] name
- rm -r test/ 删除test目录和目录中的文件和目录,删除前要确认
- rm -rf test/ 删除test目录和目录中的文件和目录,直接删除
- rm -r tt.txt 删除tt.txt文件,不需要确认
用于复制文件或目录
cp [-r] source dest
- -r :如果复制的是目录,则必须带,此时复制该目录下的所有文件和目录
cp 2.txt test/ 将2…txt 复制到test目录中
cp -r test ityk/ 将test目录复制到ityk中
cp -r test/* itcast/ 将test目录中的内容复制到itcast
2、mv为文件或目录改名,或将文件或者目录移到其他位置
-
mv 2.txt 1.txt 将2.txt改名为1.txt
-
mv 1.txt ityk/ 将1.txt移动到ityk目录中
-
mv 1.txt ityk/hello.txt 将1.txt移动ityk目录并改名为hello.txt
-
mv ityk/ ithello 若ithello目录不存在,则将ityk改名为ithello
若目录存在,则移动到ithello目录
对文件进行解包,压缩,打包
tar [-zcxvf] fileName [files]
包文件后缀为.tar 知识完成了打包,并没有压缩
.tar.gz 表示打包的同时完成了压缩
- -z 对文件进行压缩或解压
- -c 创建新的包文件
- -x 实现从包文件还原文件
- -v 显示命令的执行过程
- -f 指定包文件的名称
tar -cvf itcast.tar test
tar -zcvf itcast.tar test.gz
tar -xvf itcast.tar
tar -zxvf itcast.tar.gz
5、文本编辑vim对文本进行编辑
vim fileName
首先进入命令模式,在这里按 i 可以进入编辑模式,esc返回命令模式
在命令模式,可以进入底行模式
/ 可以对文本进行查找
:wq保存退出,:q!不保存退出,:set nu:显示行号
6、查找命令 1、findfind . -name “*java” 当前目录查找
find /root -name “*java” 指定目录查找
2、grepgrep int Hello.java 从文件中查找内容
JAVA_ HOME=/usr/local/jdk1.8.0_ 171 .
PATH=$JAVA HOME/bin: $PATH
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server
chown -R mysql:mysql /var/lib/mysql/
mysqld --initialize
systemctl start mysqld
验证是否安装成功
mysqladmin --version
mysqladmin -u root password "new_password";
mysql -u root -p8、项目部署 1、手工部署
安装lrzsz.x86_64,可用于文件上传(rz)
yum install lrzsz.x86_64
先将本地springboot项目打包
rz上传
项目启动
nohup java -jar springboot_01_01_quickstart-0.0.1-SNAPSHOT.jar &>hello.log &
查看现有进程:ps -ef | grep java
杀死进程:kill -9 45618
2、shell脚本安装git
yum install git
安装maven,使用rz上传
apache-maven-3.8.6-bin.tar.gz
export MAVEN_ HOME=/usr/local/ apache-maven-3.5.4
export PATH= J A V A H O M E / b i n : JAVA_ HOME/bin: JAVAHOME/bin:MAVEN_ HOME/bin:$PATH
/usr/local/repo
9、redis 1、安装linux安装
https://download.redis.io/releases/
- 将Redis安装包上传到linux
- 解压 tar -zxvf redis-4.0.0.tar.gz -C /usr/local
- 安装Redis的依赖环境gcc yum install gcc-c++
- 进入目录进行编译 make
- 进入src目录, 进行安装 make install
windows安装
https://github.com/microsoftarchive/redis/releases
安装完解压即可
2、服务启动配置config文件,在后台启动,不占用窗口
vim redis.conf /dae 将no修改为yes
启动: src/redis-server ./redis.conf
连接: src/redis-cli
设置密码: 进入配置文件 /req 取消注释,设置密码
连接 : src/redis-cli -h localhost -p 6379 -a p123456
允许远程连接
3、常用命令Redis中文网
1、string字符串- set key value 设置键值
- get key 获取指定key值
- setex key time value 设置键值有效时间,单位秒
- setnx key value 若key不存在,设置,若存在,不做任何处理
- hset key field value 将哈希表key中的字段field设置为value
- hget key field 获取哈希表key中的字段field的value
- hkeys key 获取哈希表key中的所有字段
- hvals key 获取哈希表key中的所有值
- hgetall key 获取哈希表key中所有的字段和值
- hdel key field 删除哈希表key中的字段field
- lpush mylist a b c 将一个或多个值插入到列表头部 最后列表形式为 c,b,a
- lrange mylist 0 -1 获取列表指定范围的值,索引从1开始
- rpop mylist 删除列表最后一个元素并返回
- llen mylist 返回列表长度
- brpop mylist 10 移出并获取列表的最后- -个元素,如果列表没有元素会阻塞列表直到等待超时 或发现可弹出元素为止
set是一个string类型的无序集合,集合成员是唯一的
- sadd myset a b c 想集合中添加元素
- smembers myset 查看集合中的所有元素
- scard myset 查看集合元素的个数
- sinter myset myset2 返回两集合并集
- sunion myset myset2 返回两集合交集
- sdiff myset myset2 返回集合之差
- srem myset2 x y 删除集合元素
有序string类,每个元素都会关联一个double类型的score,升序,成员是唯一的
- zadd key score1 value1 [score2 value2] 向有序集合添加一个或多个成员,或更新已存在的成员分数
- zrange myset3 0 -1 返回有序集合索引区间的成员
- zincrby mysey3 10 b 想有序集合中的成员b增加分数
- zrem myset3 b 移除有序集合的中的成员
- keys * 返回所有的key
- exists key 查看key是否存在
- type key 查看key类型
- ttl key 查看key有效时间
- del key
引入依赖
redis.clients jedis 2.8.0
Jedis jedis = new Jedis("*********", 6379); host:port
jedis.auth("*****"); // 自己密码
System.out.println(jedis.keys("*"));
1、Spring Data Redis
引入依赖
org.springframework.boot spring-boot-starter-data-redis
配置文件
spring:
redis:
host:
database: 0
port: 6379
password:
使用
@Autowired
private RedisTemplate redisTemplate;
@Test
void testString() {
redisTemplate.opsForValue().set("city","beijin");
}
设置序列化器
package com.yk.config;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate
2、操作String
// 操作String类型数据
redisTemplate.opsForValue().set("city123","beijin"); // 设置key value
System.out.println(redisTemplate.opsForValue().get("city123")); // 获取key中value
// 设置过期时间
redisTemplate.opsForValue().set("key1","value1",10l, TimeUnit.SECONDS);
// 不存在才设置值
Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("city1234", "nanjin");
System.out.println(aBoolean);
3、操作hash
// 操作hash类型的数据
HashOperations hashOperations = redisTemplate.opsForHash();
// 存值
hashOperations.put("002","name","xiaoming");
hashOperations.put("002","age","20");
hashOperations.put("002","addr","guilin");
// 取值
Object name = hashOperations.get("002", "name");
System.out.println(name);
// 获取所有key
Set keys = hashOperations.keys("002");
System.out.println(keys.toString());
// 获取所有value
List values = hashOperations.values("002");
System.out.println(values.toString());
4、操作list
// list列表
ListOperations listOperations = redisTemplate.opsForList();
// 存值
listOperations.leftPush("mylist","a");
listOperations.leftPushAll("mylist","b","c","d");
// 取值
List mylist = listOperations.range("mylist", 0, -1);
for (String s : mylist) {
System.out.println(s); // d,c,b,a
}
// 出队列
Long size = listOperations.size("mylist");
int len = size.intValue();
for (int i = 0; i < len; i++) {
String mylist1 = (String) listOperations.rightPop("mylist");
System.out.println(mylist1); // a,b,c,d
}
5、操作set
// set类型操作
SetOperations setOperations = redisTemplate.opsForSet();
// 存值
setOperations.add("myset","a","b","c","a");
// 取值
Set myset = setOperations.members("myset");
System.out.println(myset.toString());
// 删除值
setOperations.remove("myset","b","c");
// 取值
myset = setOperations.members("myset");
System.out.println(myset.toString());
6、操作Zset
// Zset集合
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
// 存值
zSetOperations.add("myZset","a",10);
zSetOperations.add("myZset","b",11);
zSetOperations.add("myZset","c",9);
zSetOperations.add("myZset","a",10);
// 取值
Set myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());
// 添加分数
zSetOperations.incrementScore("myZet","b",9);
// 取值
myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());
// 删除元素
zSetOperations.remove("myZset","a","b");
// 取值
myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());
7、通用操作
// 通用操作 // 获取所有key Setkeys = redisTemplate.keys("*"); System.out.println(keys.toString()); // 查看key对应的类型 DataType myZset = redisTemplate.type("myZset"); System.out.println(myZset.name()); // 判断key是否存在 Boolean aBoolean = redisTemplate.hasKey("myZset"); System.out.println(aBoolean); // 删除key redisTemplate.delete("myZset"); // 获取所有key keys = redisTemplate.keys("*"); System.out.println(keys.toString());



