我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux 常见的标识与Redis数据库详解

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux 常见的标识与Redis数据库详解

xxx@xxx:~$ :

第一个 xxx 只的是 用户名
第二个 xxx 代表的是 HOST主机

~ : 当前用户的根, 根的位置在 /home/用户名
$ : 代表当前用户是一个普通用户

# : 代表当前用户是超级用户

查看当前命令所在的位置

  • pwd

文件夹/文件的常见命令

  • mkdir
  • ls
  • rmdir
  • rm

创建文件夹mkdir


mkdir test
mkdir .test

mkdir ~/test
mkdir /home/xxx/test

-- 递归的创建 test/a/b目录
mkdir -p test/a/b

-v : 显示创建目录的信息 

查看目录下的所有文件/文件夹 ls

-l : 以列表的形式格式化数据


drwxr-xr-x 2 xxx xxx 4096 9月 1 18:37 公共的
drwxr-xr-x 2 xxx xxx 4096 9月 1 18:37 模板
...

第一列由10个字符组成,由 0-9 标识每一个字符 

0 : d (文件夹) , - (文件), l (软连接)

1-3: 文件所属用户的权限
4-6: 文件所属用户组所在的权限
7-9: 其他用户所对应的权限

r : 读
w : 写
x : 可执行

第三列 代表文件所属用户
第四列 代表文件所属用户组

-a : 显示包含隐藏的文件 和 . 和 …

-A : 不显示 . 和 …

常见的命令
ls -l
ls -la
ls -ld
ll ==> ls -lap

删除文件夹 rmdir / rm

rmdir : 删除空目录

rmdir -p 路径 递归的删除空目录

rm 常见的参数


-f : 强制删除、忽略不存在

-i : 删除的时候、进行提示

-r : 递归的删除文件夹以及下面的所有的内容

-d : 删除空目录

rm -f
rm -rf

rm -i
rm -ri

PS: 禁止使用一个命令 rm -rf /

文件的基本操作

文件的创建

touch file : 新建一个空的文件

文件的编辑

  • vi 编辑器
  • vim 编辑器

sudo apt install vim

vim的三种操作模式

  • 命令模式
  • 编辑模式
  • 命令底线模式

vim命令模式

当用户输入 vim 文件名 回车后、将自动进入命令模式

dd : 删除光标所在的行
xdd : x代表删除的行数
d$ : 从光标所在的位置删除到行的末尾
d0 : 从光标所在的位置删除到行的头部,不删除光标所在的位置
dG : 光标所在的位置,删除到底部
dxG : 从光标所在的位置,删除到指定的行

yy : 复制光标所在的行
xyy : x 代表复制的行数
y$ : 从光标所在的位置 复制到行的末尾
y0 : 从光标所在的位置 复制到行的头部

p : 粘贴

gg : 快速设置光标的位置到 文档的头部
G : 移动到文档的尾部
xG : x 代表 光标移动到的行数

. : 重复上一个命令

/ : 从上到下搜索
? : 从下到上搜索

搜索到内容后,如果要查找下一个,先按回车,在按 n / N

vim 编辑模式

从命令模式进入到编辑模式,需要按下

  • i : 在光标所在的位置 前 插入数据
  • a : 在光标所在的位置 后 插入数据
  • o : 在光标所在行的 下一行(新的空白行)插入数据

如果从编辑模式要切换到 命令模式,则按下 ESC

vim 命令底线模式

从命令模式切换到命令底线模式 使用 : 即可

:w 保存,不退出
:q 不保存,退出(文件未改变)
:wq 保存并退出
:w! 强制写入,针对只读文件
:q! 强制退出,(文件被修改、且不保存)
:wq! 强制保存并退出

:set nu 显示行数
:set nonu 关闭行数

查看文件

cat -n file

nl file

tail -f file : 主要用来做日志的监控

文件的复制

cp -r source dict : 拷贝目录/文件

-r : 用来拷贝目录

-f : 强制性文件拷贝

-i : 覆盖的时候进行提示

两个linux服务器数据进行拷贝

将远程服务器的数据、拷贝到本地服务器

scp [-r] user@host:文件路径 拷贝到本地路径

将本地服务器的数据、拷贝到远程服务器

scp [-r] 本地路径 拷贝到 user@host:文件路径

文件的移动

mv source dest

如果 dest 是一个目录的话,是文件的移动

如果 dest 是一个文件的话, 是文件的重命名

文件的权限

r 读 4
w 写 2
x 可执行 1

chmod [-R ] 777 文件/文件夹

u 用户
g 组
o 其他
a 所有

chmod u+r 文件

chmod u-r 文件

更改文件的所属用户

chown [-R] 用户名[:组名] 文件

添加组/用户 groupadd, adduser, useradd


-- 添加一个 组 
sudo groupadd test01 

-- 删除一个 组 
sudo groupdel test01 

-- 创建一个 admin账户, 并设置了 该账户的主目录 
sudo useradd -g test01 -d /home/admin -m admin 

-- 创建一个禁止登录的账户 (安装服务的比较常用)
sudo useradd -s /bin/false admin (ubuntu)

sudo useradd -s /sbin/nologin admin (centos)

-- 把一个 用户 和 组进行关联 

adduser 用户 组 

# 查询 admin 用户的信息
id admin 

-- 删除用户 
userdel -r admin

usermod : 用来修改用户
groupmod : 用来修改组

其他命令

查看某个服务的进程信息

ps -ef | grep 某个服务的名字

杀死某个进程

sudo kill -9 pid

在 linux 搜索文件

sudo find / -name mysql*

Redis数据库

  •  Redis是一个NoSQL(非关系型数据库)
  • Redis是一个基于内存的 KEY-VALUE 结构的数据库
  • Redis是一个基于单线程的数据库

Redis支持的存储的数据类型

  •  String 字符串
  • Hash 哈希
  • List 列表
  • Set 集合
  • ZSet 有序集合

RDBMS

  • 高度组织化结构化数据
  • 结构化查询语言(SQL) (SQL)
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言,数据定义语言
  • 严格的一致性
  • 基础事务

NoSQL

  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 没有预定义的模式
  • 键 - 值对存储,列存储,文档存储,图形数据库
  • 最终一致性,而非ACID属性
  • 非结构化和不可预知的数据
  • CAP定理
  • 高性能,高可用性和可伸缩性

Linux安装 redis
自动安装


sudo apt install redis-server

sudo systemctl restart redis
sudo systemctl start redis 
sudo systemctl stop redis

手动安装

下载 redis安装包


wget http://download.redis.io/releases/redis-6.0.7.tar.gz

解压 redis-6.0.7.tar.gz 到 ~/app


tar -zxvf redis-6.0.7.tar.gz -C ~/app

先切换到 app目录


cd ~/app

创建一个软连接


ln -s ~/app/redis-6.0.7 ~/app/redis

编译 redis


-- 如果提示 make 不存在,则 安装 sudo apt install make
-- 如果提示 /bin/sh: 1: cc: not found ,则需要安装 sudo apt install gcc

make MALLOC=libc

将 redis的命令安装到 /usr/local/bin目录


sudo make install

启动 redis


redis-server ~/app/redis/redis.conf

通用命令

  • 5种数据类型都支持的命令
  • ttl : 查看某个键的剩余存活时间,单位是 秒,-2代表过期(不存在), -1 代表没有过期时间
  • pttl : 查看某个键的剩余存活时间,单位是 毫秒
  • keys * : 查看当前数据库下,所有的键
  • del key : 删除键
  • type : 查看键对应的类型

string命令

  • set key value [ex seconds] [px milliseconds] [nx|xx]: 添加一个字符串
  • setnx key value : key如果不存在,才添加 key-value
  • mset key value key value … : 批量设置多个键值对数据
  • getset key value : 将 key 设置为 value ,并返回 key的旧值
  • get key : 根据键获取对应的值
  • mget key… : 批量获取多个键对应的值
  • getrange key start end : 获取key对应字符串的 范围
  • strlen key : 获取 key 对应值的长度
  • incr key : 对 key对应的值 + 1, 值必须是一个数字类型的字符串
  • incrby key increment: 对 key对应的值 + increment, 值必须是一个数字类型的字符串
  • decr key : 自减 1
  • decrby key increment
  • setex key seconds value : 添加一个字符串并设置过期时间,单位是秒
  • psetex key milliseconds value : 添加一个字符串并设置过期时间,单位是毫秒

Hash命令

hset key field value : 添加一个字典、字典的键 field ,值是 value

hmset key field value [field value]… 批量添加字典中的键值对

hget key field : 获取字典中 field 对应的值

hgetall key : 获取 key 对应的字典

hkeys key : 获取 key对应的字典对应的所有的键

hvals key : 获取key 对应的字典对应的所有的值

hlen key : 获取字典对应的长度

hincrby key field increment : 将字典中对应 field属性的值自增 increment

hexists key field : 判断字典中是否存在 field属性

hdel key field : 删除字典中对应的 field 属性和值

list命令

lpush key val… : 向列表的头部插入数据

rpush key val… : 向列表的尾部插入数据

linsert key before/after ele val : 向 ele元素的前/后插入 val

lrange key start end : 查询从 start - end 区间的 数据、

lindex key index : 查询 index位置的元素

lset key index ele : 修改index位置的元素为 ele

lpop key : 删除第一个元素

rpop key : 删除最后一个元素

lrem key count val :

count = 0 : 删除列表中所有的 valcount > 0 : 从列表的头部删除 count 个 valcount < 0 : 从列表的尾部删除 count个 val

llen key : 获取列表长度

ltrim key start end : 截取列表中从start -end 之间的元素,返回列表

set命令 sadd key member… : 添加成员smembers key : 查看集合中所有的成员srem key member … : 删除指定的成员spop key [count] : 随机从集合中删除 count个成员,如果不指定 count ,默认是1scard key : 获取集合的长度sismember key member : 判断 member 是否是集合中的成员srandmember key [count] : 随机从集合中 返回 count个成员

zset命令

zadd key score member [score member]… : 向集合中添加成员和分数、分数是一个double 类型,用来进行排序

zrange key start end [withscores] : 升序查询所有的成员

zrevrange key start end [withscores] : 降序查询所有的成员

zrangebyscore key min max : 升序查询分数在 min-max 之间的所有成员

zrevrangebyscore key max min : 降序查询分数在 min-max 之间的所有成员

zrank key member : 查询成员在集合中的索引位置

zrevrank key member : 查询某个成员在集合中的排名,从0开始

zscore key member : 查询某个成员的分数

zcount key min max : 查询分数在min-max之间的人数

zcard key : 获取成员数量

zrem key member… : 删除集合中的指定成员

zremrangebyscore key min max : 移除成绩在 min-max之间的所有成员

zremrangebyrank key start stop : 移除排名从 start-stop之间的所有成员

zrangebylex key min max: 要求有序集合中所有的成员分数相同
min - 代表最小值, ( 代表不包含 [ 代表包含
max + 代表最大值, ( 代表不包含 [ 代表包含


zrangebylex zset - + : 查询集合中所有数据

zrangebylex zset (a [d : 查询集合 大于 a 小于等于d 

zrangebylex zset [a (d : 查询集合 大于等 a 小于d 

到此这篇关于linux 常见的标识与Redis数据库的文章就介绍到这了,更多相关linux  Redis数据库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux 常见的标识与Redis数据库详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux 常见的标识与Redis数据库详解

xxx@xxx:~$ : 第一个 xxx 只的是 用户名 第二个 xxx 代表的是 HOST主机 ~ : 当前用户的根, 根的位置在 /home/用户名 $ : 代表当前用户是一个普通用户 # : 代表当前用户是超级用户 查看当前命令所在的
2022-06-03

python数据库操作mysql:pymysql、sqlalchemy常见用法详解

本文实例讲述了python数据库操作mysql:pymysql、sqlalchemy常见用法。分享给大家供大家参考,具体如下: 相关内容:使用pymysql直接操作mysql创建表查看表修改表删除表插入数据查看数据修改数据删除数据使用sql
2022-05-29

Golang标准库中的常见数据结构及用法

Golang标准库中的常用数据结构及应用引言:Golang是一个简洁、高效的编程语言,其标准库包含了各种常用的数据结构,如数组、切片、映射、堆栈等。本文将介绍Golang标准库中常用的数据结构及其应用,并提供相应的代码示例。一、数组(a
Golang标准库中的常见数据结构及用法
2024-01-20

编程入门必备知识:详解常见的基本数据类型

编程入门必备知识:详解常见的基本数据类型在学习编程的过程中,了解和掌握基本数据类型是非常重要的。无论是使用哪种编程语言,几乎都会涉及到基本数据类型的使用。本文将详解常见的基本数据类型,帮助初学者更好地理解和运用它们。整数类型(int)整数
编程入门必备知识:详解常见的基本数据类型
2024-02-23

使用Redis命令操作数据库的常见错误及解决方法

使用Redis命令操作数据库时常见错误:错误使用INCR命令计数:导致竞争条件和不准确的结果。使用HINCRBY命令或Lua脚本实现分布式计数器。将字符串类型用于复杂数据:导致数据不一致和处理效率低下。使用哈希或列表等更合适的数据类型。将键名存储在变量中:容易出错并增加维护成本。直接使用字符串作为键名。设置无效的生存时间:导致数据丢失。始终设置有效且合理的生存时间。错误使用Lua脚本:可能导致性能问题或错误。了解Lua脚本并充分测试。频繁执行慢查询:影响性能。使用慢查询日志识别和优化慢查询。没有设置最大内
使用Redis命令操作数据库的常见错误及解决方法
2024-04-02

C++中常见的数据类型问题详解

C++中常见的数据类型问题详解,需要具体代码示例在C++中,数据类型是编程的基础。了解和正确使用不同的数据类型是编写高效,可靠代码的关键。在C++中,常见的数据类型包括整型,浮点型,字符型,布尔型和自定义类型。每个类型都有其自身的特点和用途
2023-10-22

基于Redis缓存数据常见的问题如何解决

这篇文章主要介绍“基于Redis缓存数据常见的问题如何解决”,在日常操作中,相信很多人在基于Redis缓存数据常见的问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Redis缓存数据常见的问题如
2023-07-02

基于Redis缓存数据常见的三种问题及解决

目录1.缓存穿透1.1 问题描述1.2 解决方法2.缓存击穿2.1 问题描述2.2 解决方法3.缓存雪崩3.1 问题描述3.2 解决方法1.缓存穿透1.1 问题描述缓存穿透是在客户端/浏览器端请求一个不存在的key,这个key在redi
2022-06-16

Linux系统下virtuoso数据库安装与使用详解

最近在调研关联数据的一些东西,需要用到rdf数据库,所以接触了virtuoso数据库。安装的坑其实并不多,之前在windows 10上安过一次。这次在ubuntu 18.04上安装一下,其他的linux发行版安装的流程也差不多。 virtu
2022-06-04

PHP数据库连接的常见问题及解决方法

php 数据库连接的常见问题和解决方法有:连接失败:检查连接信息和 mysql 服务状态;查询失败:检查查询语法、表和字段,以及连接有效性;插入、更新、删除失败:检查 sql 语句、目标表和字段,以及连接有效性;数据库连接泄露:显式关闭连接
PHP数据库连接的常见问题及解决方法
2024-05-21

详解Flask数据库的连接与使用

这篇文章主要为大家想想介绍了Python中Flask数据库的连接与使用,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
2023-02-24

编程热搜

目录