软件安装常用命令
磁盘管理:
ls (-a ,-l ,-t ,-r ,--help) 常用:ls -l , ls -al , ll
cd (~ ,/,-,..,cd)
pwd
mkdir (-p,-v)
文件管理---文件浏览:
cat (catenate)
more (Enter ,空格,b , q)
less (-m,-n,空格,b,d,u,回车,y, /,?, v, q)
tail (-n, -f ) 案例:ping 127.0.0.1 > ip.log &
文件管理---文件操作:
cp (-r)表递归
mv (-f, )
rm (-f,-r) 删除多个不询问:rm -rf xxx
find (-name, )
文档编辑:
vi dd,ndd, yy,nyy, p(i,esc, :wq, :q! ,:q) gg ,shift+g
| grep "正则" (-i)忽略大小写
系统命令:
ps (-e,-f) e:显示所有进程 f:显示UID,PPIP,C与STIME
kill -9 pid
ifconfig 显示网络设备
ping
备份压缩:
tar (zxvf ,zcvf )
关机重启:
reboot 重启
halt 立刻关机
文件权限:
chmod (u,g , o ,a) - + r, w, x, -
vim 查看网络配置:cat/etc/sysconfig/network-scripts/ifcfg-eth0
setup
-----------------------------------------------------------------
jdk:
rpm -qa | grep -i jdk: 查看是否有jdk
rpm -e --nodeps xxx : 卸载jdk (--nodeps软件之间有依赖关系也忽略)
配置环境变量:
export JAVA_HOME=jdk安装路径
export PATH=$JAVA_HOME/bin:$PATH
----------------------------------------------
tomcat:
rpm -qa | grep -i tomcat:查看是否安装了tomcat
./bin/startup.sh :启动tomcat
service iptables stop :关闭防火墙 -----不建议使用
修改一下防火墙文件(放行tomcat800端口)
vi /etc/sysconfig/iptables
service iptables restart 重启防火墙-----此时可以访问tomcat了
----------------------------------------
mysql:
查看是否存在: rpm -qa | grep -i mysql
解压: tar -xvf MySQL-5.5.49-1.linux2.6.i386.rpm-bundle.tar
安装: rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
启动mysql: service mysql start
修改放行3306端口: vi /etc/sysconfig/iptables
mysql>
creat user 'root'@'%' indentified by '1234'; :设置用户名 (%表远程主机可访问)
grant all on *.* to 'root'@'%' with grant option; 给指定的用户授权 (all表有增删改查权限,*.*表所有数据库,with grant option固定写法)
----------------------------------------------
redis:
下载:yum install gcc-c++
编译: make
安装: make PERFIX=/usr/soft/redis install
复制 redis-config 到 redis目录下
修改配置文件:redis.config中的####GENERAL#####"daemonize yes"意识是后台启动
启动: ./bin/redis-service ./redis.conf
启动客户端 ./bin/redis-cli
测试连接是否正常 ping --- 返回PONG
远程设置:vim /etc/sysconfig/iptables------放行6379端口
service iptables restart-------重启防火墙服务
正确关闭 ./bin/redis-cli shutdown
------------------------------------------
– 1B(字节) = 8bit
– 1KB = 1024B
– 1MB = 1024KB
– 1GB = 1024MB
– 1TB = 1024GB
------------------------------------------
redis是key-value的存储系统,其中value有五种数据类型
1,字符串(String)
2,哈希(hash)
3,字符串列表(list)
4,字符串集合(set)
5,有序字符串集合(sorted set)
-------------------------------------------
String:(重复key时添加会替换-----存储value)
设置和获取数据: set/get key value 注意:set如果键重复则替换,get如果不存在返回nil,如果不是String返回错误信息
删除指定key: del key
查看所有键: keys *
获取且设置: getset key value
自增: incr key
(当前键的值在原来基础上加1)如果键不存在,默认初始值为0
如果键对应的值不能解析成数字,那么就会报错
自减: decr key
扩展-----------
增多个: incrby key value
减多个: decrby key value
追加字符串: append key value
-------------------------------------------------
HashMap:(不可重复----存储key--value)
hset key 键 值 :--- 设置一个 注意:存入相同‘键’会覆盖
hmset key 键 值 键 值.. : 设置多个
hget key 键 :获取key中的键的值
hmget key 键 键 ... :获取key中的多个键的值
hgetall key :获取key中所有filed-value(获取存储的键-值)
hdel key 键 值 :删除 注意:返回0表示字段不存在
del key :删除全部hset
hincrby key 键 数字 :设置key中键增加多少
自学命令:
hexists key 键 :判断指定key中键是否存在 1代表存在0代表不存在
hlen key 键 :获取key中包含的‘键’的数量
hkeys key : 获取所有‘键’
hvals key : 获取所有 value
--------------------------------------------------
LinkedList:(可重复-----存储value)
lpush 键 v1 v2 v3 :往集合填充数据,从左边依次插入到最前
rpush 键 v1 v2 v3 :往集合填充数据,从又边依次插入到最后
lrange 键 开始索引 结束索引 :获取索引范围内的值 注意:-1表示尾部,-2表示倒数第二个,依次类推...
lrange 0 -1 :查看所有
lpop key :最前面弹栈
rpop key :最后面弹栈
llen key :获取列表中元素个数
扩展:(重复也可添加)
lpushx key value :key存在插入头部,不存在不进行插入(成功返回集合总数,不成功返回0)
rpushx key value :
lrem key count value :count为正数是从头开始删count个,负数时从尾部删除count个,count为0时删除全部相同的value
lset key index value :重新设置该索引的值
linsert key before/after pivot value : 在pivot元素前或者后插入value
rpoplpush 原集合 目标集合 :将原集合的最后元素弹栈到目标集合的开头
rpoplpush 同一个集合 同一个集合 :将本集合里的最后元素弹出,压入顶端
---------------------------------
set:(无序的,不可重复-----存储value)
sadd key v1 v2 v3 ... :不重复添加
srem key v1 v2 v3 ... :移指定元素
smembers key :获取所有
sismember key value :判断key中是否有value存在,存在则返回1,否则返回0
sdiff key1 key2 :取属于前者的不同value
sinter key1 key2 :取这2个key中的共同value
sunion key1 key2 : 返回这2个key的所有value
扩展:
scard key :获取key中value数量
srandmember key :随机返回key中的value
sdiffstore 目标key key1 key2 :将key1 key2 相差的value 存储在目标key中(取的是key1相差的)
sinterstore 目标key key1 key2 :将key1 和key2交集部分存在 目标key中
sunionstore 目标key key1 key2 : 取交际存储到新的键中
-------------------------------------------------------------
sortedset:(一种先进后出)
zadd key 分数1 键1 分数2 键2 分数3 键3...
如果value存在,新的分数则会替换原有分数,返回值是新加入的value个数
排序按照分数排序,默认排序desc
zscore key value :返回指定value的分数
zcard :获取key中value个数
zrem key 值1 值2... :删除key中指定value
zrang key start end (withscores) :获取key中value从start-end (withscores表明返回的value包含其分数)
zrevrange key start end (withscores):按照分数从大到小的顺序从start到end之间所有元素(含两端)
zremrangebyrank key start end :按照排名返回删除元素
zremrangebyscore key min max :按照分数范围删除元素
扩展:
zrangebyscore key min max [withscores][limit offset count]:查询...
zincrby key 要增长数字 value :设置指定成员增加的分数
zcount key min max :获取分数在[min,max]之间的成员(返回的是数量)
zrank key value :返回value在key中的排名(从0开始)
zrevrank key value :返回value在key中的排名(从最后开始,(反过来))
---------------------------------------
键:
keys [*][?]
del key1 key2 ...删除指定的key
exists key 判断某个键是否存在 1代表存在,0代表不存在
rename key 新名称,为某个键重命名
expire key 数字:设置 键存活的描述
ttl key : 返回剩余的存活时间
如果没设置,默认返回-1
如果超出时间,返回-2
type key : 获取指定key的类型
--------------------------------------------------
select 数字 :选择第几个库
move key 数字 :把key移动到第几个库中
dbsize :返回当前key的数量
echo :在命令行上打印一些东西
info :获取服务器的信息和统计
flushdb :删除当前数据库中所有的key
flushdb :删除所有数据库中的所有key
-------------------------------------------------------
消息的订阅与发布:
subscribe 频道名称 :订阅频道
publish 频道名称 :发布频道
psubscribe 频道名[*] :批量订阅频道
---------------------------------------------------------------
事物:
multi :执行事物
exec :提交事物
discard :回滚事物
注意:事物执行过程中如果出现异常会忽略该异常,继续执行下面操作
-------------------------------------------------------
redis 的持久化:(也可同时使用RDB,AOF)
RDB:(默认支持,无需配置)
配置文件(redis.conf)里会默认设置,指定时间内将内存中的数据集快照写入磁盘
save 900 1
save 300 10
save 60 10000
保存文件名称:dump.rdb
保存文件位置:dir ./
AOF:
以日志的形式记录服务器所处理的每一个操作,redis服务启动后会读取该文件来重新构建数据库。
# appendfsync always
appendfsync everysec
# appendfsync no