linux命令

Linux创建文件的方式有几种?

mkdir 文件夹名

touch

使用touch命令来创建一个空文件,或者多个文件。当文件存在时,只会修改文件的访问和修改时间,不会清空内容。
批量创建 touch test{001..050}

创建单个,vi&vim
使用vi&vim编辑器,输入内容并保存退出,来创建一个文件

testb
使用>创建文件,需要注意,当文件存在时,会清空文件内容,并且不会提示

Linux如何删除文件夹

单个删除:rm -f + 文件名

批量删除:rm -f + *文件关键字*

rm -rf + 文件名  (加上-f表示强制删除,不提示确认删除,也可以直接用 rm -r )

如何查看Linux进程

ps aux
a:显示当前终端下的所有进程信息,包括其他用户的进程
u:使用以用户为主的格式输出进程信息
x:显示当前用户在所有终端下的进程

ps -elf
-e:显示系统内的所有进程信息
-l:使用长(long)格式显示进程信息
-f:使用完整的(full)格式显示进程信息。

top
基本类似于Windows系统中的任务管理器

pstree -aup
以树状图的方式展现进程之间的派生关系,显示效果比较直观

ps -aux | grep name
搜索此名称的所有进程

Linux tar压缩和解压缩命令

○ 语法:tar [-c -v -x -f -z -C] 参数1 参数2 ….参数N
-c:创建压缩文件,用于压缩模式
-v:显示压缩、解压过程,用于查看进度
-x:解压模式
-f:要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z:gzip模式,不使用-z就是普通的tarball格式
-C:选择解压的目的地,用于解压模式

压缩组合:

tar -cvf test.tar 1.txt 2.txt 3.txt,将1.txt 2.txt 3.txt压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt,将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式
	注意:
	-z选项,如果使用的话,一般处于选项位第一个
	-f选项,必须在选项位最后一个

解压组合:

tar -xvf test.tar,解压test.tar,将文件解压至当前目录
tar -xvf test.tar -C /home/app,解压test.tar,将文件解压至指定目录(/home/app)
tar -zxvf test.tar.gz -C /home/app,以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/app)
	注意:
		-f选项,必须在选项组合体的最后一位
		-z选项,建议在开头位置
		-C选项,单独使用,和解压所需的其它参数分开

Linux如何终止进程

kill [参数] 进程号
killall [参数] 进程名称

显示进程

    命令:ps
	ps -aux | grep 名称  例:redis

查看虚拟机IP地址

    命令:ifconfig / ip addr

虚拟机防火墙

检查防火墙状态:systemctl status firewalld

	重新加载配置:firewall-cmd --reload
	
	查看开放的端口:firewall-cmd --list-ports
	
	配置防火墙开放端口:firewall-cmd --permanent --add-port=80/tcp --permanent
	
	移除端口命令:firewall-cmd --permanent --remove-port=8080/tcp --permanent
	
	设置开机启用防火墙:systemctl enable firewalld.service
	
	设置开机禁用防火墙:systemctl disable firewalld.service
	
	启动防火墙:systemctl start firewalld
	
	关闭防火墙:systemctl stop firewalld

虚拟机网卡

永久修改网卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
IPADDR=192.168.***.*** //改成自己要的ip
NETMASK=255.255.255.0	
GATEWAY=192.168.1.106 
DNS1=114.114.114.114
DNS2=8.8.8.8
DEFROUTE=yes
ONBOOT=yes

#重启网卡
service network restart

nginx

	到启动文件目录  cd /usr/local/nginx/sbin/

	查看 nginx 的版本号 ./nginx -v
	
	启动 nginx ./nginx
	
	关闭nginx ./nginx -s stop
	
	重新加载 nginx ./nginx -s reload

redis

基本操作

启动服务   redis-server redis6379.conf

停止服务   redis-cli shutdown

退出客户端	exit

连接redis   
		redis-cli  
		redis-cli --raw	(转化中文格式)
		redis-cli -h 127.0.0.1 -p 6379
		redis-cli -h 127.0.0.1 -p 6379 --raw

String类型

查询所有Key(测试使用) 
		keys *

添加key	
		set  key value
		setex key 超时时间 value 添加key并设置超时时间
		setnx key value 如果不存在 默认会创建一个新的值,存在不操作
		mset key value [key value ...] 批量存储

对象添加
		set 对象名 {属性1:;属性2:;属性3:}
		(注意:字符串需要去掉引号)

保存数据 		
		bgsave

查看key	
		get key
		mget key1 key2 ... 批量查看
            *占多个匹配  keys m*
            ? 占一个匹配 keys n?me
            [az] 当前必须符合a或者z   n[az]me
            [^a] 不匹配什么
            [a-c] 匹配范围

删除单个key	
		del key
 
删除所有Key  
		flushdb  删除当前库
		flushall 删除所有库

切换数据库	
		select 0~15

浮点数增删	
		incrbyfloat 5/-0.5 

设置key超时时间
expire key  超时时间()
ttl		查看key过期时间

追加字符串	append key value

获取key指定范围值	getrange  key  index1(开始下表) index2(结束下标 -1表示最大长度)

替换key指定位置值	setrange key 开始下标 替换内容

List类型

list
	添加list列表
		lpush listname zhangsan lisi
	
	list列表取值
		lrange listname 0 -1 #取值
	
	list追加数据
		lpush listname wangwu #追加值
		
	list结尾插入值
		rpush listname zhaoliu # 结尾插入值

	list获取当前列表长度
		llen listname # 获取当前列表长度
		
	删除list
		del key #这种是直接将整个列表都删除 del删除删除任意类型
		
	删除list列表中的某一些数据
		# 没给count值,默认左弹出(删除)第一个值 返回的信息是弹出(删除)的值
        lpop listname
        
        # count 提供值,可以弹出多个,返回值就是弹出的值得列表
        lpop listname 10
        
    删除指定值 
        lrem key count value ---- 默认从左侧开始查询并删除
        (删除几个什么值):lrem listname 2 zhangsan---删除两个zhangsan
        
    通过索引获取数据
        lindex listname 1(下标)
        
    截取范围的数据(下标)
    	ltrim listname 1 4
    	
   	替换列表中的值(下标)
   		lset listname 1 zhaoliu
   		
   	在指定的一个位置前面插入值(不是索引)
   	 	linsert stu before zhaoliu lisi
   	 	
	在指定的一个位置后面插入值(不是索引)
		linsert stu after lisi wangwu

set类型

特点: 无序、不能重复 所有命令 s 开头

用途:点赞,签到,like等功能、抽奖功能

重复的值无法添加成功,并且值得顺序也不是固定的

添加值
	sadd key v........
	
查询值
	smembers key
	
删除指定指定的元素 
	srem key value
	
判断当前集合中是否存在指定的值 
	 sismember key v    是返回1  否返回0
	 
查看当前集合中值个数
	sacrd key  返回个数

随机获取
	srandmember key count(要返回的个数)
	
随机删除
	 spop key count
	 
差集 diff 差异 只返回第一个集合的差值
	
	例:
		127.0.0.1:6379> sadd zb1 xiaozhi dasima caixukun lijiaqi
        4
        127.0.0.1:6379> sadd zb2 liziqi xiaozhi dasima wangdaxian xuxubaobao
        5
        127.0.0.1:6379> sdiff zb1 zb2
        caixukun
        lijiaqi
        
交集 sinter 交集

		127.0.0.1:6379> sinter zb2 zb1
        dasima
        xiaozhi

Hash类型(map结构)

key-value(map) 比较适合对象类型的数据存储 key -(key-value)

存值 (key (key - value))
语法:
	hset key k1 v1 k2 v2 k3 v3
	
获取单个值
	hget key k

存储对象
	hset student name zhangsan age 19 hobbies chouyanhejiutangtou

存储对象集合
	hset student 1 {id:1,name:zhangsan} 2 {id:2,name:lisi}
	获取 hget student 2

获取多个key
	hmget student 1 2

获取全部的值 hgetall 名称k
	hgetall student
	
通过值的key删除指定的数据
	hdel student 2

读取当前hash表(map集合)中数据的个数
	hlen student
	
判断是否存在
	hexists student 10  (存在返回1.无则返回0)

读取所有的key ----- 1w条数据 取某一些特定的数据,取到所有key 循环 取值 判断 筛选。
	hkeys student
	
取所有的value --- 案例:Java中想将redis中的hash结构转化为set结构
	hvals student
	

Zset类型

有序不重复集合,在set的基础上多增加一个值 set k1 * v1 (zset k1 排序的值(score) v1)
有序不可重复的set集合
主要使用方向:工资、班级成绩等等之类的数据。 或者 权重处理 0 普通 1 重要

增加数据
	zadd  key   权重值	       value
			   (:8000)    (:{id:1,name:zhangsan,sal:8000})

查询数据
	zrange key 0 -1 (默认升序)
	
随机读取
	zrandmember key 1(随机获取的个数) 
	
删除数据
	zrem key value

###复杂查询###

显示所有信息,从小到大 (范围) -inf 负无穷 +inf正无穷
	语法:zrange by score key min max --- min max使用的是排序字段的值

升序操作

    默认取所有数据
        zrange key 0 -1 取索引的范围

    根据当前排序结果取所有数据
        zrangebyscore key -inf +inf

    根据当前排序结果取所有数据 并显示排序字段
         zrangebyscore key -inf +inf withscores

    根据当前排序结果取所有数据 并显示排序字段 并截取某一部分值
        zrangebyscore key -inf +inf withscores limit 0 1

    取排序字段值大于**的数据
        zrangebyscore key **(:8000) +inf

    取排序字段值小于**的数据
        zrangebyscore key -inf **(:8000)

降序操作
	默认取所有数据
		zrevrange key 0 -1 取索引的范围
		
	##其余同升序操作,zrange更换为zrevrange##

geospatial 地理位置

作用:朋友圈定位,附近的人,打车距离计算。

添加地理位置信息 GEOADD
	geoadd key 经度 纬度 地址名称

查询指定位置的经纬度 GEOPOS
	geopos maps 地址名称

查询两地点之间的距离 GEODIST 
	geodist key 地点1 地点2 单位(默认 米): geodist maps xuejiaao hongyun M

查询附近的城市(定位) GEORADIUS
	georadius key 经度 纬度 范围(:1500) 距离单位 (:范围与单位之间需要用空格隔开):georadius maps 116.22518499110029 39.951383565611934 1500 KM

查询附近的城市(定位)--显示到中间的距离 GEORADIUS
	georadius key 经度 纬度 范围 距离单位 withdist

查询附近的城市(定位)--显示他人精准信息 GEORADIUS
	georadius maps 经度 纬度 范围 距离单位 withdist withcoord

查询附近的城市(定位)--显示他人精准信息 并指定返回个数 GEORADIUS
	georadius maps 经度 纬度 范围 距离单位 withdist withcoord count 返回个数

 通过元素(非坐标)定位信息(即通过名称)
 	 georadiusbymember key 名称 范围 距离单位
	georadius maps 经度 纬度 范围 距离单位 withdist withcoord

查询附近的城市(定位)--显示他人精准信息 并指定返回个数 GEORADIUS
	georadius maps 经度 纬度 范围 距离单位 withdist withcoord count 返回个数

 通过元素(非坐标)定位信息(即通过名称)
 	 georadiusbymember key 名称 范围 距离单位

Bitmaps位图

案例:是否打卡(一周) 0 未打卡 1 打卡

增加数据
	setbit key1 key2 value
	
	例:
    setbit  kq     1          1
			考勤	周几   是否打卡 1:0:否
		        
	查看某一天的打卡记录 getbit
		get kq
		
	统计打卡的天数 bitcount
		bitcount kq
	
	扩展
		 setbit kq:geng:2023:3 6  1
		        考勤:谁的::月  日 是否打卡

Bitmaps位图

案例:是否打卡(一周) 0 未打卡 1 打卡

增加数据
	setbit key1 key2 value
	
	例:
    setbit  kq     1          1
			考勤	周几   是否打卡 1:0:否
		        
	查看某一天的打卡记录 getbit
		get kq
		
	统计打卡的天数 bitcount
		bitcount kq
	
	扩展
		 setbit kq:geng:2023:3 6  1
		        考勤:谁的::月  日 是否打卡
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值