linux
拷贝文件 SCP
# 拷贝本地文件到远程
scp xxx.txt root@{ip / hosts}:/root
# 拷贝远程文件到本地
scp root@{ip / hosts}:/rootxxx.txt /root
top 命令
# d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
# p:通过指定监控进程ID来仅仅监控某个进程的状态。
# q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
# S:指定累计模式。
# s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
# i:使top不显示任何闲置或者僵死进程。
# c:显示整个命令行而不只是显示命令名。
top -H -b -d 1 -n 200 > top.txt
# -p : 通过监控进程ID来仅仅监控某个进程的状态
top -p {pid}
# -i : 不显示任何闲置或僵死的进程
free
free -m
free -h
jmap
# 查看堆内存使用情况
jmap -heap {pid}
netstat
# -a (all)显示所有选项,默认不显示LISTEN相关
# -t (tcp)仅显示tcp相关选项
# -u (udp)仅显示udp相关选项
# -n 拒绝显示别名,能显示数字的全部转化成数字。
# -l 仅列出有在 Listen (监听) 的服務状态
# -p 显示建立相关链接的程序名
# -r 显示路由信息,路由表
# -e 显示扩展信息,例如uid等
# -s 按各个协议进行统计
# -c 每隔一个固定时间,执行该netstat命令。
netstat -ltnp
netstat -ano | findstr "6379"
cat 日志查询
# 1. 查询日志中关键字
cat -n summer.log | grep "关键字" | wc -l
# 2.查询某段时间内的日志
sed -n '/start_time/,/end_time/p' summer.log|grep "key words"
# set -n '/2021-03-15 01:29:17/,/2021-03-15 02:29:17/p' summer.log
wc -l # 统计行数
wc -c # 统计字节数
wc -l # 统计字数
grep 查看大日志文件
# A -> After
# B -> Before
# C -> Context
grep -A5 'Time: 210607 15:[45-59]' slow3306_9110.log
# 匹配多个关键字(且)
# 管道符连接 多个条件 实现关键字 且关系 匹配:
grep -A5 ‘Time: 210607 15:[45-59]’ slow3306_9110.log | grep ‘Query_time: (\d[2-5])’
# 同一行同时满足两个条件(Time、Query_time)才能够匹配。
# grep -E 匹配多个关键字(或)
grep -E “word1|word2|word3” file.txt
# 匹配文件中 同一行包含 word1、word2、word3 之一
tar 压缩、解压
# -c: 打包 把 /conf/xxx.* 打包到 xxx.tar.gz
tar czvf xxx.tar.gz /conf/xxx.*
# -x: 解压缩
tar xzvf xxx.tar.gz
# -z: gzip 压缩格式
# -v: 显示打包guoch
# -f:显示打包名称
linux 重启hosts
sudo /etc/init.d/network restart
linux 文件属性、权限
# 修改文件属主、组
chown -R lch.lch /usr/local
chgrp -R lch /usr/local
# 修改 u g o 权限
chomd g=rwx 1.txt
chomd u=rwx 1.txt
chomd o=rwx 1.txt
# 增加shell 执行权限
chmod +x xxx.sh
# 修改用户的组
usermod -g root lch
userdel -R lch
git
git tag
# create tag
git tag test_tag
# delete tag
git tag -d test_tag
git push origin :refs/tags/test_tag
# push tag
git push origin test_tag
git push origin --tags
# show tag
git show test_tag
# 基于某个commit id create tag
git tag -a test_tag {commitId}
git 版本回退
# git log 命令可以显示所有提交过的版本信息
# --pretty=oneline,只会显示版本号和提交时的备注信息
git log --pretty=oneline
# git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reflog
# git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;
# 撤销该commit,但是又不能撤销该提交包含的更改,使用git reset --soft
# 可见commit取消了,代码更改并没有取消
git reset --soft {commitId}
# git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;
git reset --hard {commitId}
git push origin HEAD --force
# 用某个commit 创建一个分支
git branch {branch_name} {commitId}
docker
docker 基本命令
# -a :提交的镜像作者;
# -c :使用Dockerfile指令来创建镜像;
# -m :提交时的说明文字;
# -p :在commit时,将容器暂停。
docker commit -a "author" -m "commit msg" {commitId} {name}:{tag}
#docker commit -a "author" -m "commit msg" {commitId} author/myubuntu:v1
docker login
docker push author/myubuntu:v1
docker tag {imageId} {name}:{tag}
docker run --name nginx-text -p 9090:90 -d nginx
ab test
apach AB test
# -n: 执行的请求数
# -c: 并发数
ab -c10 -n100 http://www.baidu.com/