一、Linux

1、systemctl 系统命令 启动系统进程
	systemctl start docker 启动docker服务
	systemctl enable docker 开机自动启动
			1、开启防火墙 
		    systemctl start firewalld
			2、开放指定端口
		      	firewall-cmd --zone=public --add-port=1935/tcp --permanent
			 命令含义:
				--zone #作用域
				--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
				--permanent  #永久生效,没有此参数重启后失效
			3、重启防火墙
			      firewall-cmd --reload
			4、查看端口号
			firewall-cmd --list-ports  --查看开放的端口
			netstat -ntlp   //查看当前所有tcp端口·
			netstat -ntulp |grep 1935   //查看所有1935端口使用情况·
			
`2、linux模糊查日志 tail -fn 1000  /home/app/logs/logFile.log | grep -C 'Special Permitted Project Summary' 
[refer link](https://cloud.tencent.com/developer/article/1525186?from=15425&areaSource=102001.1&traceId=0eqU5pqOI34GOkxU5DeYU)
[link2](https://www.bbsmax.com/A/n2d9wY24JD/)
## 二、docker

```bash
	docker login
	docker logout   	#you can user logout first then login second if want to exchange the current user
	systemctl start docker 启动docker服务
 	docker logs 实例名称 查看docker log
	docker exec -it 243c32535da7 /bin/bash  进入docker容器
	docker ps 			#列出所有正在运行的容器
	docker ps  -a		#列出所有的容器
	docker image ls  	#列出所有的镜像
	docker stop <name>	#暂停容器
	docker rm <name>	#删除容器
	docker rmi <name>  	#删除镜像
	docker build -t aspnetcoredockerdemo .   #创建镜像
	docker run -d -p 7777:80 --name=aspnetCoreDockerdemo --restart=always -v /app/wwwroot/UploadFiles/:/app/wwwroot/UploadFiles/ aspnetcoredockerdemo  #创建容器  注意端口80必须是镜像在	 dockerfile中开放的端口
			--name=容器名称 
			--restart=alway 发生故障时,容器会自动重启
			-d 后台运行
			--rm  容器退出时自动移除容器
			-v 宿主机路径:容器路径 (此参数写不也能写在镜像名称前面,否则无法生效)
			   另外:镜像名称须写最后
			-p 宿主机地址:容器地址 此处的 8081:80  指定端口,8081为外网访问端口,80 为容器开放的端口。**记住:这里容器端口必须要在之前的Dockerfile文件中指定过 如EXPOSE 80,文件中可以指定多个端口**

三、git

git add Fileurl --添加文件或文件夹到暂存区 fileurl:本地文件或文件夹路径
git add -A --添加所有修改的文件和文件夹 A必须大写
git rm -r --cached Fileurl  --删除暂存区的文件或文件夹 fileurl:本地文件或文件夹路径

git branch -l     --show local branch list
git branch -l -r  --查看远程分支,并且origin/header 表示本地映射的远程分支
git branch branchName     --create branch
git branch -d branchName  --delete local branch   
git branch -D branchName  --force delete local branch   
git branch branchName --set-upstream-to remoteName/branch_name --更改分支的远程跟踪分支
git push origin --delete dev20181018 --(use caution)delete origin branch
git checkout branchName --switch to the branch if exists
git checkout -b branchName --switch to and create the branch if  not exists
git checkout commitid # switch to the commit id
git switch branchName --switch to the branch if exists
git switch -b branchName --switch to and create the branch if  not exists

git commit -m  "remark"  --提交缓冲区的文件到仓库  remark为提交备注信息
git commit -a -m ‘message’  -- 意义同下
git commit -am ‘message’  -- 将所有已跟踪文件(修改或删除)都提交到本地仓库(包括未新增到暂存区文		    件),注意: 未被tracking的文件不会提交到本地仓库

git log  查看提交日志、提交版本号(commit id)
git log reflog  --show all logs
git log --name-status  --查询提交中的文件明细

git  reset commitID   --重置到某一提交操作之前版本
git  revert commitID  --回滚某一版本的提交操作,但是后的提交操作还是会保留,并且会重新生成一个新的commit版本,适用多次提交后,想要测回之前的提交,可以用git 
# esc:quit the status of edit
# wq:quit and save
# q:quit and donot save
# 测回后,代码不会自动还原,此处须要注意
log --name-status查看提交版本中的明细操作

git push origin master   -- origin:本地定义的远程仓库名称,master:远程分支名称
git push -f  --强制推送,如果本地版本和远程版本不一致,推送会报错,push -f 可以强制将本地版本同步到远程版本,使远程仓库和本地仓库保持一致

git merge mybranch 合并mybranch分支到当前所在分支

git clone url  复制远程仓库到本地
git config --global core.quotepath false  --兼容中文编码
git remote set-url origin URL 更换远程仓库地址,URL为新地址。
git remote rm origin 删除现有远程仓库
git remote add origin url 添加新远程仓库
git remote -v 查看远程仓库的地址
git pull origin master --更新远程仓库到本地 origin:本地定义的远程仓库名称,master:远程分支名称
退出编辑窗口:1、按esc,按两个大写的Z    2、ctrl+C退出编辑后输入 ":wq"
git stash save 'save modify'  --stage your modify
git stash list
git stash pop  --'checkout your first stage to local, and then delete this stage from stack. if you want to stage your second stage, you should use the command line git stash pop [--index]' 
git stash pop [--index]  例如git stash pop 1 签出二个stash, 迁出时如果有冲突,则不会删除此stash,否则会自动删除此stash

解决每次都须要输入用户名和密码
git config --global credential.helper store  --紧接着,使用git pull或者git push 命令,本地就会自动记录用户名和密码

git merge --abort 撤销merge操作,如果merge存在较多的改动时可考虑此命令撤销
git restore --staged . 撤销暂存区的文件,在merge,stash pop操作时可能直接会把冲突的文件放到暂存区,此时需要执行此操作来撤销,然后在执行git restore . 来撤销所有的操作,注意“.”表示所有的意思
git restore . 撤销所有的更改 


**noted**

switch or checkout other branch
 - you should commit your change or stash local change when you
   switch/checkout branch,  otherwise, your change will exists in new
   branch
switch -b or checkout -b to create new branch
 - current branch local change will into new branch