切换用户
su userName
切换root
sudo su -
sudo su
查找指定进程,并将其kill
ps aux | grep test.lua | grep -v grep | awk -F '[ ]+' '{cmd="kill -9 "$2;system(cmd)}'
测试端口是否打开
(1)telnet ip port
(2)curl ip:port
(3)ssh -v -p port username@ip
mongodb脚本连接
1 连接
/bin/mongo --host smash-dev-001.mongodb.rds.aliyuncs.com:3717 -u root -p J=7cHkNcUEthjr
2 mongosh执行js脚本
mongosh --nodb JavaScript_filename
JavaScript脚本写法:
var url = "mongodb://127.0.0.1/localdb";
var db = connect(url);
for(var i=1;i<3;i++)
{
db.user_task_stat.insertOne({key:"value"+i});
break;
}
3 标准 URI 连接语法
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
for example : mongodb://127.0.0.1:27017/localdb
awk 分割字符串
echo $str | awk -F ';' 'BEGIN{print "\n"}{for(i=1;i<=NF;i++){print "["i"]" ".\t" i }}END{print "\n"}'
str = "123;456;789"
输出:
[1]. 123
[2]. 456
[3]. 789
在多个文件中匹配,并打印文件名
ls | grep "文件名匹配字符串" | xargs grep "匹配字符串"
Python自带的包建立简单的web服务器,可用于下载远程服务器上的文件
python -m Web服务器模块 [端口号,默认8000]
如果是python 2.x的系列里面 这样启动一个web服务器: python -m SimpleHTTPServer 8080
如果是Python 3,用下面的语句也可以启动一个http服务: python3 -m http.server 8000
脚本操作redis
通过 shell
shell command " redis-cli --eval luaScript.lua KEYS , ARGV "
shell command with no parameters " redis-cli --eval luaScript.lua "
通过 redis.call
正确写法 redis.call(command, KEYS, ARGV) 错误写法 redis.call("command kye ARGV")
redis.call里的参数按照 redis-cli中的命令的提示那样写就行了
例如:redis-cli中zadd是 zadd key score member -> redis.call("zadd","key","score","member")
添加多个:redis.call("zadd","key","score1","member1","score2","member2")
return redis.call("set",KEYS[1],ARGV[1])
return redis.call("set","test1113",222)
return redis.call("get",KEYS[1])
if redis.call("EXISTS",KEYS[1]) == 1 then
return redis.call("INCRBY",KEYS[1],ARGV[1])
else
return redis.call("set",KEYS[1],"789")
end
通过 os.execute 执行
-- lua执行redis语句
for i=1, 1 do
local time = 9999999999 - os.time()
local score = tonumber(9851 .. time)
print(i,os.execute(string.format("redis-cli zadd rank:arena:2:1 %d %s",score,"19991-1-23")))
end
同步时间
apt-get install ntpdate -y
ntpdate -u ntp.api.bz
lua遍历文件夹 重命名文件
require("lfs")
function searchFold(path)
for file in lfs.dir(path) do
--过滤"."和".."目录
if file ~= "." and file ~= ".." then
local f = path.. '/' ..file
local attr = lfs.attributes (f)
if attr.mode == "directory" then
--attrdir(f) --如果是是目录,就递归调用
else
print("filename = ",file,type(file))
os.rename()
end
end
end
end
docker导入和导出镜像
在使用阿里云开发的时候碰到无法连接google进行下载,这个时候又两种处理方式:
- 阿里云开一台位于中国大陆以外的服务器,例如香港,新加坡…
- 在本地能连接外网的机器上把需要使用的文件制作成docker镜像,然后导出传到阿里云上去
这里我选用第二种方式,低成本
docker 导出镜像
docker save > 导出文件名 镜像名
--> docker save > outputfile ubuntu:latest
将导出的 outputfile 压缩一下之后用ssh或者其他方式传到 阿里云 (推荐使用vscode remote ssh 传输挺快的)
docker 导入镜像文件
docker load < outputfile