常用指令

Linux

权限

sudo chmod -R 777 ~/.ssh

端口占用

ps -ef|grep nginx

kill -9

rm [选项] 文件

  • -f, –force 强力删除,不要求确认
  • -i 每删除一个文件或进入一个子目录都要求确认
  • -I 在删除超过三个文件或者递归删除前要求确认
  • -r, -R 递归删除子目录
  • -d, –dir 删除空目录

删除

  • ​ rm -d 目录名 #删除一个空目录
  • ​ rmdir 目录名 #删除一个空目录
  • ​ rm -r 目录名 #删除一个非空目录
  • ​ rm 文件名 #删除文件

场景

操作文件没有权限,如运行脚本、文件传送,多为文件权限问题

在终端进到那个文件夹,然后执行:
sudo rm -rf 文件夹名
如果还是不行,就用
sudo chmod 777 文件夹名
sudo rm -rf 文件夹名

nginx

sudo nginx -s reload

1.简单安装,

直接使用命令sudo apt install nginx
apt安装的软件都在** /etc**目录下
安装后会自动加入service并启动
nginx的配置文件在:/etc/nginx/nginx.conf
修改后使用命令:nginx -t ,来测试是否正常
重启nginx: service nginx restart

2.源码编译安装

1.mkdir download (创建一个文件夹来保存)
2.cd download (进入创建的文件夹)
3.wget +http://nginx.org/download/nginx-1.16.1.tar.gz(官网源码地址必须要稳定的版本)
4.tar -xzf nginx-1.16.1.tar.gz (解压文件)
5.cd nginx-1.16.1 (进入文件夹)

ls (当前文件夹中并没有Makefile,所以无法执行make命令)

在这里插入图片描述

make的命令依赖Makefile,有些软件有Makefile,可直接make编译,列如Redis

7.所以要先执行 ./configure
结束后,如果成功,就会有Makefile。如图为成功后的图

在这里插入图片描述

8.然后执行 make && make install (不是root账户的记得加sudo)
如果出现如图错误,不能执行 make命令,是因为所需要的依赖没有安装

img

解决方案:

apt install -y make zlib-devel gcc-c++ libtool openssl openssl-devel
完成后出现如图所示,就OK了,安装好后的Nginx在:/usr/local/nginx目录下

nginx常用的命令:

启动:/usr/local/nginx/sbin/nginx
关闭:/usr/local/nginx/sbin/nginx -s stop
重启:d
查看nginx的进程pid: cat /usr/local/nginx/logs/nginx.pid
查看版本:/usr/local/nginx/sbin/nginx -V
修改配置文件:vim /usr/local/nginx/conf/nginx.conf
修改完后测试:/usr/local/nginx/sbin/nginx -t

img

(51条消息) Nginx的源码编译安装和apt安装_半岛囚天的博客-CSDN博客

git :

强制覆盖本地代码(与git远程仓库保持一致)

1
2
3
4

git fetch --all
git reset --hard origin/master
git pull

git强制覆盖本地命令(单条执行):
git fetch –all && git reset –hard origin/master && git pull

第一个是:拉取所有更新,不同步;
第二个是:本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件);
第三个是:再更新一次(其实也可以不用,第二步命令做过了其实)

git回滚:

(58条消息) Git:代码冲突常见解决方法_unbreakablec的博客-CSDN博客_git解决冲突的四种方式

git 指令:

1.常用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
git remote add origin git@github.com:yeszao/dofiler.git         # 配置远程git版本库

git pull origin master # 下载代码及快速合并

git push origin master # 上传代码及快速合并

git fetch origin # 从远程库获取代码

git branch # 显示所有分支

git checkout master # 切换到master分支

git checkout -b dev # 创建并切换到dev分支

git commit -m "first version" # 提交

git status # 查看状态

git log re # 查看提交历史

git config --global core.editor vim # 设置默认编辑器为vim(git默认用nano)

git config core.ignorecase false # 设置大小写敏感

git config --global user.name "YOUR NAME" # 设置用户名

git config --global user.email "YOUR EMAIL ADDRESS" # 设置邮箱

2.别名 alias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
git config --global alias.br="branch"                 # 创建/查看本地分支

git config --global alias.co="checkout" # 切换分支

git config --global alias.cb="checkout -b" # 创建并切换到新分支

git config --global alias.cm="commit -m" # 提交

git config --global alias.st="status" # 查看状态

git config --global alias.pullm="pull origin master" # 拉取分支

git config --global alias.pushm="push origin master" # 提交分支

git config --global alias.log="git log --oneline --graph --decorate --color=always" # 单行、分颜色显示记录

git config --global alias.logg="git log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative" # 复杂显示

3.创建版本库

1
2
3
git clone                  # 克隆远程版本库

git init # 初始化本地版本库

4.修改和提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
git status                      # 查看状态

git diff # 查看变更内容

git add . # 跟踪所有改动过的文件

git add # 跟踪指定的文件

git mv # 文件改名

git rm # 删除文件

git rm --cached # 停止跟踪文件但不删除

git commit -m “commit message” # 提交所有更新过的文件

git commit --amend # 修改最后一次提交

5、查看历史

1
2
3
4
5
git log                         # 查看提交历史

git log -p # 查看指定文件的提交历史

git blame # 以列表方式查看指定文件的提交历史

6.撤销

1
2
3
4
5
6
7
8
9
git reset --hard HEAD           # 撤消工作目录中所有未提交文件的修改内容

git reset --hard # 撤销到某个特定版本

git checkout HEAD # 撤消指定的未提交文件的修改内容

git checkout -- # 同上一个命令

git revert # 撤消指定的提交分支与标签

7.分支与标签

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
git branch                      # 显示所有本地分支

git checkout # 切换到指定分支或标签

git branch # 创建新分支

git branch -d # 删除本地分支

git tag # 列出所有本地标签

git tag # 基于最新提交创建标签

git tag -a "v1.0" -m "一些说明" # -a指定标签名称,-m指定标签说明

git tag -d # 删除标签

git checkout dev # 合并特定的commit到dev分支上

git cherry-pick 62ecb3

8、合并与衍生

1
2
3
4
5
6
7
git merge               # 合并指定分支到当前分支

git merge --abort # 取消当前合并,重建合并前状态

git merge dev -Xtheirs # 以合并dev分支到当前分支,有冲突则以dev分支为准

git rebase # 衍合指定分支到当前分支

9.远程操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
git remote -v                   # 查看远程版本库信息

git remote show # 查看指定远程版本库信息

git remote add # 添加远程版本库

git remote remove # 删除指定的远程版本库

git fetch # 从远程库获取代码

git pull # 下载代码及快速合并

git push # 上传代码及快速合并

git push : # 删除远程分支或标签

git push --tags # 上传所有标签

git 提交前使用git push 进行拉取最新的代码

转载:

git常用命令大全【建议收藏】-git-PHP中文网

本地分支切换

git 学习笔记 —— 保留/丢弃当前分支修改并切换至其他分支 - yhjoker - 博客园 (cnblogs.com)

Git 多人协作开发的过程 - 行走的思想 - 博客园 (cnblogs.com)

部署服务器:

上传步骤:

上传指令:

端口占用情况:

当启动程序出现端口号被占用的情况,需要查看端口使用情况,使用netstat命令,下面是常用的几个查看端口情况的命令:

  • 查看所有的服务端口(ESTABLISHED
    netstat -a
  • 查看所有的服务端口,显示pid号(LISTEN,ESTABLISHED)
    netstat -ap
    
  • 查看某一(**)端口,则可以结合grep命令:

​ netstat -ap | grep **

如查看**端口,也可以在终端中输入:

​ lsof -i:**

若要停止使用这个端口的程序,使用kill +对应的pid

​ kill pid

还有一个比较好用的命令,查看**端口:

​ sudo netstat -lnp | grep **

查看端口号和运行程序:

​ netstat -atunp | more

查看进程所用端口:

1
netstat -tlnp|grep **

IDEA使用maven命令打包

现在IDEA是最火的java集成开发环境,经常会用到一些maven命令进行必要的操作(例如打jar包),所以在这里做一些简单的总结

1.常用打包命令:

1
2
3
4
mvn clean package -Dmaven.test.skip=true		跳过单测打包
mvn clean install -Dmaven.test.skip=true 跳过单测打包,并把打好的包上传到本地仓库
mvn clean deploy -Dmaven.test.skip=true 跳过单测打包,并把打好的包上传到远程仓库

2.常用命令列表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mvn -v //查看版本 
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //进行打包
mvn clean test //执行单元测试
mvn clean deploy //部署到版本仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息

maven 命令要在IDEA的Terminal窗口执行
执行maven命令需要当前目录有pom依赖,可以用cd命令切换目录

image-20220310002658226

也可以使用idea,前提是maven项目

image-20220310002744603

探测数据:

D:\sdk\build-tools\31.0.0>aapt dump badging D:\fillder\base.apk

![image-20220526160259711](http://qiniu.littlekim.top/image/image-20220526160259711.png

image-20220526160347874

启动页:

image-20220526160443070

使用fiddler进行抓包处理:

Fiddler抓包夜神模拟器

openssh下载

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)

进行环境配置

[(54条消息) windows生成ssl证书,实现本地https访问_qq243920161的博客-CSDN博客_windows生成ssl证书](https://blog.csdn.net/qq243920161/article/details/119963501#:~:text=Windows 下使用 OpenSSL生成 自签名 证书 1、下载 OpenSSL 安装包,安装完后,目录结构如下:,ssl 文件夹,我是在D盘根目录下创建 ssl 文件夹(名称随便取),用于存放 生成 的 证书 文件。)

(54条消息) Android 7.0+模拟器Fiddler抓包详细教程_潇曜的博客-CSDN博客_android模拟器抓包

fiddler 抓包详细教程 - 知乎 (zhihu.com)

junit:

具体方法:

@BeforeClass:

针对所有测试,只执行一次,且必须为static void

@Before:

初始化方法

@Test:

测试方法,在这里可以测试期望异常和超时时间

@After:

释放资源

@AfterClass:

针对所有测试,只执行一次,且必须为static void

@Ignore:

忽略的测试方法

一个单元测试用例执行顺序为: @BeforeClass –> @Before –> @Test –> @After –> @AfterClass

每一个测试方法的调用顺序为: @Before –> @Test –> @After

样例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    Jedis jedis = null;


//执行@test之前会先执行 @Before
@Before
public void init() {
jedis = JedisUtil.getJedis();
jedis.select(2);
}
//执行@test 之后,会进行执行@after操作
@After
public void close() {
JedisUtil.returnResource(jedis);
}
@Test
public void testString() {
// 添加一条数据
jedis.set("username", "zhangsan");
System.out.println(jedis.get("username"));
// 获取多条数据
jedis.mset("age", "18", "sex", "男");
List<String> list = jedis.mget("username", "age", "sex");
list.stream().forEach(System.out::println);
Map<String,String> map = new HashMap<>();
map.put("age","20" );
map.put("sex","1");
jedis.hmset("userInfo",map);
Map<String,String> map1=jedis.hgetAll("userInfo");
System.out.println("map1 = " + map1);
}