linux 常见的标识与Redis数据库详解
xxx@xxx:~$:
第一个xxx只的是用户名
第二个xxx代表的是HOST主机
~:当前用户的根,根的位置在/home/用户名
$:代表当前用户是一个普通用户
#:代表当前用户是超级用户
查看当前命令所在的位置
- pwd
文件夹/文件的常见命令
- mkdir
- ls
- rmdir
- rm
创建文件夹mkdir
mkdirtest mkdir.test mkdir~/test mkdir/home/xxx/test --递归的创建test/a/b目录 mkdir-ptest/a/b -v:显示创建目录的信息
查看目录下的所有文件/文件夹ls
-l:以列表的形式格式化数据
drwxr-xr-x2xxxxxx40969月118:37公共的 drwxr-xr-x2xxxxxx40969月118: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/
文件的基本操作
文件的创建
touchfile:新建一个空的文件
文件的编辑
- vi编辑器
- vim编辑器
sudoaptinstallvim
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!强制保存并退出
:setnu显示行数
:setnonu关闭行数
查看文件
cat-nfile
nlfile
tail-ffile:主要用来做日志的监控
文件的复制
cp-rsourcedict:拷贝目录/文件
-r:用来拷贝目录
-f:强制性文件拷贝
-i:覆盖的时候进行提示
两个linux服务器数据进行拷贝
将远程服务器的数据、拷贝到本地服务器
scp[-r]user@host:文件路径拷贝到本地路径
将本地服务器的数据、拷贝到远程服务器
scp[-r]本地路径拷贝到user@host:文件路径
文件的移动
mvsourcedest
如果dest是一个目录的话,是文件的移动
如果dest是一个文件的话,是文件的重命名
文件的权限
r读4
w写2
x可执行1
chmod[-R]777文件/文件夹
u用户
g组
o其他
a所有
chmodu+r文件
chmodu-r文件
更改文件的所属用户
chown[-R]用户名[:组名]文件
添加组/用户groupadd,adduser,useradd
--添加一个组 sudogroupaddtest01 --删除一个组 sudogroupdeltest01 --创建一个admin账户,并设置了该账户的主目录 sudouseradd-gtest01-d/home/admin-madmin --创建一个禁止登录的账户(安装服务的比较常用) sudouseradd-s/bin/falseadmin(ubuntu) sudouseradd-s/sbin/nologinadmin(centos) --把一个用户和组进行关联 adduser用户组 #查询admin用户的信息 idadmin --删除用户 userdel-radmin usermod:用来修改用户 groupmod:用来修改组
其他命令
查看某个服务的进程信息
ps-ef|grep某个服务的名字
杀死某个进程
sudokill-9pid
在linux搜索文件
sudofind/-namemysql*
Redis数据库
- Redis是一个NoSQL(非关系型数据库)
- Redis是一个基于内存的KEY-VALUE结构的数据库
- Redis是一个基于单线程的数据库
Redis支持的存储的数据类型
- String字符串
- Hash哈希
- List列表
- Set集合
- ZSet有序集合
RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL)(SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键-值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性
Linux安装redis
自动安装
sudoaptinstallredis-server sudosystemctlrestartredis sudosystemctlstartredis sudosystemctlstopredis
手动安装
下载redis安装包
wgethttp://download.redis.io/releases/redis-6.0.7.tar.gz
解压redis-6.0.7.tar.gz到~/app
tar-zxvfredis-6.0.7.tar.gz-C~/app
先切换到app目录
cd~/app
创建一个软连接
ln-s~/app/redis-6.0.7~/app/redis
编译redis
--如果提示make不存在,则安装sudoaptinstallmake --如果提示/bin/sh:1:cc:notfound,则需要安装sudoaptinstallgcc makeMALLOC=libc
将redis的命令安装到/usr/local/bin目录
sudomakeinstall
启动redis
redis-server~/app/redis/redis.conf
通用命令
- 5种数据类型都支持的命令
- ttl:查看某个键的剩余存活时间,单位是秒,-2代表过期(不存在),-1代表没有过期时间
- pttl:查看某个键的剩余存活时间,单位是毫秒
- keys*:查看当前数据库下,所有的键
- delkey:删除键
- type:查看键对应的类型
string命令
- setkeyvalue[exseconds][pxmilliseconds][nx|xx]:添加一个字符串
- setnxkeyvalue:key如果不存在,才添加key-value
- msetkeyvaluekeyvalue…:批量设置多个键值对数据
- getsetkeyvalue:将key设置为value,并返回key的旧值
- getkey:根据键获取对应的值
- mgetkey…:批量获取多个键对应的值
- getrangekeystartend:获取key对应字符串的范围
- strlenkey:获取key对应值的长度
- incrkey:对key对应的值+1,值必须是一个数字类型的字符串
- incrbykeyincrement:对key对应的值+increment,值必须是一个数字类型的字符串
- decrkey:自减1
- decrbykeyincrement
- setexkeysecondsvalue:添加一个字符串并设置过期时间,单位是秒
- psetexkeymillisecondsvalue:添加一个字符串并设置过期时间,单位是毫秒
Hash命令
hsetkeyfieldvalue:添加一个字典、字典的键field,值是value
hmsetkeyfieldvalue[fieldvalue]…批量添加字典中的键值对
hgetkeyfield:获取字典中field对应的值
hgetallkey:获取key对应的字典
hkeyskey:获取key对应的字典对应的所有的键
hvalskey:获取key对应的字典对应的所有的值
hlenkey:获取字典对应的长度
hincrbykeyfieldincrement:将字典中对应field属性的值自增increment
hexistskeyfield:判断字典中是否存在field属性
hdelkeyfield:删除字典中对应的field属性和值
list命令
lpushkeyval…:向列表的头部插入数据
rpushkeyval…:向列表的尾部插入数据
linsertkeybefore/aftereleval:向ele元素的前/后插入val
lrangekeystartend:查询从start-end区间的数据、
lindexkeyindex:查询index位置的元素
lsetkeyindexele:修改index位置的元素为ele
lpopkey:删除第一个元素
rpopkey:删除最后一个元素
lremkeycountval:
count=0:删除列表中所有的valcount>0:从列表的头部删除count个valcount<0:从列表的尾部删除count个val
llenkey:获取列表长度
ltrimkeystartend:截取列表中从start-end之间的元素,返回列表
set命令saddkeymember…:添加成员smemberskey:查看集合中所有的成员sremkeymember…:删除指定的成员spopkey[count]:随机从集合中删除count个成员,如果不指定count,默认是1scardkey:获取集合的长度sismemberkeymember:判断member是否是集合中的成员srandmemberkey[count]:随机从集合中返回count个成员
zset命令
zaddkeyscoremember[scoremember]…:向集合中添加成员和分数、分数是一个double类型,用来进行排序
zrangekeystartend[withscores]:升序查询所有的成员
zrevrangekeystartend[withscores]:降序查询所有的成员
zrangebyscorekeyminmax:升序查询分数在min-max之间的所有成员
zrevrangebyscorekeymaxmin:降序查询分数在min-max之间的所有成员
zrankkeymember:查询成员在集合中的索引位置
zrevrankkeymember:查询某个成员在集合中的排名,从0开始
zscorekeymember:查询某个成员的分数
zcountkeyminmax:查询分数在min-max之间的人数
zcardkey:获取成员数量
zremkeymember…:删除集合中的指定成员
zremrangebyscorekeyminmax:移除成绩在min-max之间的所有成员
zremrangebyrankkeystartstop:移除排名从start-stop之间的所有成员
zrangebylexkeyminmax:要求有序集合中所有的成员分数相同
min-代表最小值,(代表不包含[代表包含
max+代表最大值,(代表不包含[代表包含
zrangebylexzset-+:查询集合中所有数据 zrangebylexzset(a[d:查询集合大于a小于等于d zrangebylexzset[a(d:查询集合大于等a小于d
到此这篇关于linux常见的标识与Redis数据库的文章就介绍到这了,更多相关linux Redis数据库内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!