Git:图解(很全)
1 git config --global user.name 'Gruel' 2 git config --global user.email 'clayzwq@gmail.com' 3 git remote add origin git@github.com:OvernightGruel/GolangNote.git 关联远程仓库 4 git push origin dev_lyy:dev_lyy 推送至远程分支,没有则新建远程分支 5 git pull <远程主机名> <远程分支名>:<本地分支名> 合并至当前本地分支,则 :和:后可以省略 6 git checkout -b branch_name //创建名叫“branch_name”的分支,并切换过去 7 git checkout master //切换回主分支 8 git branch:不加参数 列出本地。-r 列出远程分支。-a all。 9 git push origin --delete branch_name # 删除远程分支
Linux
ssh免密登录
1 自己实现方法: 2 1、生成自己的公钥:$ ssh-keygen (一路回车) 3 2、将公钥放到 对方.ssh/authorized_keys 下,没有则创建文件夹 4 3、chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys 5 4、重启 // ubuntu系统:service ssh restart // debian系统:/etc/init.d/ssh restart 6 7 # 在.ssh/config中配置,记录主机简称、IP地址 8 Host sit 9 User work 10 Hostname 172.16.0.8 11 # 将公钥拷贝至远程主机 12 ssh-copy-id -i ~/.ssh/id_rsa.pub work@172.16.0.75 13 $ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub 14 ssh sit # 即可免密登录
常用命令
1 生成sshkey $ ssh-keygen -t rsa -b 4096 -C "*your\_email@example.com*" 2 make PREFIX=/home/lyy/lyy/redis install 指定路径安装 3 远程传输 上传$scp -r local_folder remote_username@remote_ip:remote_folder 下载$scp lyy@118.89.49.61:/home/lyy/db.sql F:projectAPPMySQL 4 5 查看端口状态 :netstat -tunlp|grep 端口号 6 查看磁盘占用 :iostat -xdk 1 7 修改权限:chmod -R 777 zkserver.sh chmod a+x * 8 ps -ef | prep 名字:查看进程 9 ps -T -p 进程ID “-T”参数表示显示线程 10 group查找:-i 忽略大小写。-r 递归查找。-l 只列出文件名。 11 curl:-H 自定义请求头。-X method 指定方法。-d args 默认POST添加参数。-x proxy 指定代理。 12 解包:tar xvf FileName.tar unzip filename.zip 13 打包:tar cvf FileName.tar DirName
vim
1 查找命令: 2 /text 查找text,n下一个,N前一个 3 ?text 查找text,反向查找,n下一个,N前一个 4 5 替换命令 6 ra 将当前字符替换为a,当期字符即光标所在字符。 7 :s/old/new/ 用old替换new,替换当前行的第一个匹配 8 :s/old/new/g 用old替换new,替换当前行的所有匹配 9 :%s/old/new/ 用old替换new,替换所有行的第一个匹配 10 :%s/old/new/g 用old替换new,替换整个文件的所有匹配 11 撤销与重做 12 u 撤销(Undo) 13 U 撤销对整行的操作 14 Ctrl + r 重做(Redo),即撤销的撤销 15 16 删除命令 17 x dl 删除当前字符 18 X dh 删除当前字符的前一个字符 19 dd 删除/剪切当前行 20 21 退出命令 22 :wq 保存并退出 23 ZZ 保存并退出 24 :q! 强制退出并忽略所有更改 25 :e! 放弃所有修改,并打开原来文件
Redis
1 select dbIndex 2 keys * 查询所有的键,会遍历所有的键值,复杂度O(n) 3 dbsize 查询键总数,直接获取redis内置的键总数变量,复杂度O(1) 4 exists key 存在返回1,不存在返回0 5 del key [key...] 返回结果为成功删除键的个数 6 用于清除数据库,flushdb只清除当前数据库,flushall清除所有数据库。 7 8 set key value [ex] [px] [nx|xx] 9 ex为键值设置秒级过期时间 10 px为键值设置毫秒级过期时间 11 nx键必须不存在,才可以设置成功,用于添加 12 xx与nx相反,键必须存在,才可以设置成功,用于更新 13 setnx、setex 与上面的nx、ex作用相同
MySQL
1 mysql -h -uroot -p 2 show databases; use youke; show tables; desc 表名; exit; 3 4 创建 表 node这个数据库里面创建一个user表 5 CREATE TABLE `node`.`nodeuser`( 6 //id字段 int(11)数据类型,最大的值为11位 id自动增长 7 `id` INT(11) NOT NULL AUTO_INCREMENT, 8 `username` varchar(64) NOT NULL, 9 `pass` varchar(64) NOT NULL, 10 PRIMARY KEY(`id`)//重要 主键 11 ) 12 ENGINE = InnoDB CHARSET = utf8; 13 增加字段:ALTER TABLE room ADD openid VARCHAR(64) NOT NULL DEFAULT 0; 14 删除字段:ALTER TABLE <表名> DROP <字段名称> 15 修改表名称:ALTER TABLE <表名> RENAME <新表名> 16 // 增 固定代码 哪个表 17 INSERT INTO 'user' (`id`, 'username', 'pass') values (1, 'goudan', '123'); 18 // 删 删article表的数据 因为id是唯一的 19 DELETE FROM user where id = 0 20 //改 21 update `xxx` set `username`=`1234` where `id`=6666; 22 //查询 23 SELECT *FORM `shuoshuo`; 24 SELECT *FORM `shuoshuo` WHERE `id`=? 25 show index from tblname; 26 show keys from tblname; 27 28 $ ./mysqldump -uyouke_write -p -h 10.66.92.228 -d youke > /home/lyy/db.sql 导出表结构 29 导入表结构,进入数据库,进入某一库,执行 source xxx.sql