命令箱

187 阅读3分钟

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