Linux
linux vi小技巧
(命令模式)快速移动到行首:Shift+6 | ^
(命令模式)快速移动到行尾:Shift+4 | $
(命令模式)快速移动到文件头部::0
(命令模式)快速移动为文件末尾::$
(命令模式)查找:/查找字符串;下一个:n 上一个:Shift+n | N
环境变量文件
系统级别:
/etc/environment(系统级别)
/etc/profile(登陆 shell 时执行)
/etc/bashrc (CentOS/RHEL) 或 /etc/bash.bashrc (Debian/Ubuntu)【非登录shell时加载】
用户级别
~/.bash_profile(登陆 shell 时执行)
~/.bashrc(非登陆 shell 时执行)
更换yum源
sed -i -e "s/mirrorlist=/#mirrorlist=/g" /etc/yum.repos.d/CentOS-Linux-*.repo
sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Linux-*.repo
更新apt-get
apt-get update
apt-get upgrade
安装ifconfig
apt-get install net-tools
yum install net-tools
scp(文件传输)
apt-get install openssh-client
yum install openssh-clients
scp 文件路径 用户名@IP:服务器文件地址(上传路径)
解压缩命令
===tar.gz===
解压.tar.gz: tar -zxvf [名称].tar.gz
压缩.tar.gz: tar -zcvf [压缩包名称].tar.gz
===gz===
压缩.gz: gzip -r file
解压.gz: gzip -d zipDir.gz
===rar===
压缩.rar: rar a -r test.rar file
解压.rar: unrar x test.rar
===zip===
压缩.zip: zip -r test.zip file
解压.zip: unzip test.zip
grep
grep "搜索的字符串" 文件名... # 搜索文件中的字符串
grep -A 5 "搜索的字符串" 文件名 # 显示匹配行及其后5行
grep -B 5 "搜索的字符串" 文件名 # 显示匹配行及其前5行
grep -C 5 "搜索的字符串" 文件名 # 显示匹配行及其前后各5行
less
以缓存的方式读取文件
less -R filePath [filePath...]
进入 less 页面
q: 移动到文件头
Q: 移动到文件尾
/XX: 从文件头查询XX
?XX: 从文件尾查询XX
n: 下一个查询
N: 上一个查询
arthas
查看类信息
sc -c com.demo.Service
反编译类
jad com.demo.Service [方法名称]
重新加载 Class 类
# 限制:
# 1.不能新增filed、method
# 2.对正在运行方法无法生效
# classLoaderHash通过 sc 命令执行获取
retransform -c {classLoaderHash} class文件绝对路径
Java
将指定文件打包成jar包(保留目录结构)
1.创建临时文件夹
2.在临时文件夹中创建项目文件等同目录(class文件packge路径)
3.将指定项目编译后文件放置于临时文件中的对应目录
4.cd到临时文件夹内
5.jar cvf 创建jar包名称.jar *
修改|添加jar包内容
1.cd 编译后的target文件夹中
2.cd 到项目包文件夹上一次(com上一层)
3.jar uvf jar文件绝对路径 com/zou/XX.class(需要确认好包名一致)
修改jar包终极版本
1.将jar包后缀改为zip,并解压(得到与原jar包名相同文件夹)
2.进入解压目录修改需要更改的文件
3.进入到jar包同名文件夹
4.执行jar cvf 【jar包名称】.jar *
5.清除jar中无用文件zip -d 【jar包名称】.jar "__MACOSX*"
6.清除jar中无用文件zip -d 【jar包名称】.jar "*.DS_Store"
RabbitMQ
启动
service rabbitmq-server start
rabbitmqctl start_app
停止服务
rabbitmqctl stop
Idea
查看所有类的实现
Ctrl + Alt + B
查看类的继承关系
Ctrl + Alt + U
Maven
将指定的jar包手动安装到仓库中
mvn install:install-file -Dfile=jar包路径.jar -DgroupId=自定义的groupid -DartifactId=自定义的artifactId -Dversion=自定义的版本号 -Dpackaging=jar
frp
服务端,需要公网访问能力:frps.ini(需要先行启动)
[common]
bind_port = 7000 # 绑定端口和客户端保持一致
dashboard_port = 7500 # 控制面板端口
dashboard_user = admin # 控制面板用户名
dashboard_pwd = admin # 控制面板密码
token = 12345678 # 密钥与客户端保持一致
shell: ./frps -c ./frps.ini
本地端:frpc.ini
[common]
server_addr = 服务端IP
server_port = 7000 # 绑定端口和服务端保持一致
token = 12345678 #密钥与服务端保持一致
[rdp] #链接1
type = tcp # tcp链接
local_ip = 127.0.0.1 # 本机IP
local_port = 8080 # 本地需要被代理的端口
remote_port = 7001 # 本地端口所映射的服务端端口
shell: ./frpc -c ./frpc.ini
node
rimraf node_modules # 清除依赖文件
# 如果报错rimraf not find
npm install -g rimraf
# 重新install
sudo npm install