likes
comments
collection
share

常用操作合集二

作者站长头像
站长
· 阅读数 17

我正在参加「金石计划4.0」

写在前面

在工作中,我们可能会遇到一些问题,然后通过自己得一顿操作,最终把问题解决了。

可能在一两天之内,我们还是会记得解决这些问题的方法,但是过了一段时间之后,基本上都忘光了。

所以这里,我们应该要养成一个良好的习惯,把每次遇到的问题,如何解决的,都记录下。下次再看文档,这样就想起来了。

<<千与千寻>>有些事情是不可能忘记的,只是一时想不起来

下面,就分享一下,我遇到的一些问题,和相关的解决方法。

可能以前也有分享过一篇,有兴趣的小伙伴,可以查看这里:常用操作合集

1.nginx gzip

参考地址

参考地址

2.window创建空文件(不带后缀名)

  1. 打开CMD命令窗口
  2. 切换到需要生成.gitkeep文件的目录下面,用CD命令
  3. 输入命令行 type null>.gitkeep

3.idea安装新插件以后双击不能启动,删除新插件恢复运行

idea2019.03

新插件Iedis2.0

插件位置

C:\Users\Administor\.IntelliJIdea2019.3\config\plugins

删除这个目录下的插件即可。

3.根据dockerfile中的条件更改基础镜像

使用combination of ARG and FROM in Dockerfile

您可以在FROM语句中使用ARG中声明的变量。

ARG  APP_IMAGE=alpine:latest
FROM ${APP_IMAGE}
CMD  /path/to/mycode

也可以使用--build-arg option of docker build command覆盖此值。

docker build -t myapp:v1 --build-arg APP_IMAGE=busybox:latest .

4.python设置国内镜像源

直接下载,速度慢

pip install pandas

使用国内镜像源下载,速度快

pip install pandas -i pypi.tuna.tsinghua.edu.cn/simple/

清华源: https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云: http://mirrors.aliyun.com/pypi/simple/
清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/

5.maven安装依赖到本地

mvn install:install-file 
    -Dfile=kingbase8-8.6.0.jar 
    -DgroupId=com.kingbase 
    -DartifactId=kingbase8 
    -Dversion=8.6.0 
    -Dpackaging=jar

6.mysql日志找回删除记录

vi /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8

[mysqld]
lower_case_table_names=1
server_id=1
log_bin=mysql-bin
binlog_format=ROW

通过mysqlbinlog将二进制日志转成sql

mysqlbinlog --database=seqb --set-charset=utf8 --base64-output=decode-rows -v /var/lib/mysql/mysql-bin.000001 --start-datetime="2022-09-02 05:00:00" --stop-datetime="2022-09-02 05:59:59" -r delete20220902.sql

--database:指定数据库

--set-charset:指定编码

--base64-output:去掉脚本中的row-format

--start-datetime:指定开始时间

--stop-datetime:指定结束时间

注:以上命令中包含多个二进制文件,会将多个二进制文件中的指定内容输出到delete20220902.sql

7.依赖下载到nexus

例如:准备一个package.json文件

{
  "name": "vue",
  "version": "1.0.0",
  "description": "",
  "dependencies": {
    "@vue/compiler-sfc": "^2.7.5"
  }
}

例如:我要下载@vue/compiler-sfc依赖

第一步:下载依赖

npm install  --registry=https://registry.npm.taobao.org

第二步:安装node-tgz-downloader,全局安装

npm install node-tgz-downloader -g

全局安装过,下次就不再需要安装了。

第三步:下载依赖

download-tgz package-lock package-lock.json

常用操作合集二

显然,会下载失败,但是我们已经拿到了具体的下载路径。

链接格式:registry.npmmirror.com/包名/-/名-版本.t…

那我们直接在浏览器,打开这个链接,即可帮我们下载下来。

第四步:上传到nexus

常用操作合集二

常用操作合集二

可以看到,已经上传成功。

8.下载arm等其他架构的docker镜像包

  • 拉取的时候,指定平台镜像
docker pull --platform=arm64 nginx:latest

--platform:该参数是用于拉取指定平台的镜像,也是实验性功能,在开启manifest功能后就会出现。通过该参数可以手动指定需要的CPU平台镜像,而不用自动去识别。

  • 下载成功后,可以通过inspect查看docker镜像架构
docker inspect nginx:latest

常用操作合集二

amd跑arm镜像,可能会报错:

The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
  • 设置 "experimental": true

常用操作合集二

重启docker

  • 用docker version查看,确认是否启动
docker version

常用操作合集二

常用操作合集二

常用操作合集二

docker build构建: docker使用buildx构建多平台(x86,arm64)构架镜像

# 导出到本地只能构建一个镜像,本地不支持同时导出manifest lists
#arm64
docker buildx build -t 镜像名:版本号-arm64 --platform linux/arm64 . --load
#x86_64(amd64)
docker buildx build -t 镜像名:版本号-amd64 --platform linux/amd64 . --load

9.Springboot启动参数说明

springboot项目启动的时候可以直接使用java -jar xxx.jar这样。下面说说参数的一些讲究

  • 1.-DpropName=propValue的形式携带,要放在-jar参数前面
java -Dxxx1=test1 -Dxxx2=test2 -jar xxx.jar

取值:System.getProperty("xxx1")

  • 2.参数直接跟在命令后面
java -jar xxx.jar processType=1 processType2=2

取值:参数就是jar包里主启动类中main方法的args参数,按顺序来

  • 3.springboot的方式,--key=value方式,要放在xxx.jar后面
java -jar xxx.jar --xxx=test

取值:spring的@value("${xxx}")

  • 4.jvm参数可以放在中间
java -jar -Xms6144m -Xmx6144m xxx.jar

日志记录

  • nohup追加日志

之前的日志处理:

nohup command > myout.file 2>&1 &

导致每次用service重启,myout.file中还没有压缩备份的日志丢失

修改为:

nohup command >> myout.file 2>&1 &

日志文件将在现有文件基础上追加,不在出现丢失

使用 >>,即可实现

10.Springboot启动配置读取顺序

在SpringBoot应用启动时,将会按照下面的顺序来进行属性的加载:

(1) 首先加载启动命令中传入的参数;

(2) 加载SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是以JSON格式配置在系统环境变量中的内容;

(3) 加载java:comp/dev中的JNDI属性;

(4) 加载Java的系统属性,可以通过System.getProperties()获取到的内容;

(5) 加载操作系统的环境变量;

(6) 加载random.*配置的随机属性;

(7) 加载位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,比如application-{profile}.properties或者YAML定义的配置文件;

(8) 加载位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,比如application-{profile}.properties或者YAML定义的配置文件;

(9) 加载位于当前应用jar包之外的application.properties和YAML配置内容;

(10) 加载位于当前应用jar包之内的application.properties和YAML配置内容;

(11) 加载含有@Configuration注解的类,通过@PropertySource注解定义的属性;

(12) 最后加载应用的默认属性,使用SpringApplication.setDefaultProperties定义的内容。

加载的优先级按照以上顺序由高到底,数字越小的优先级越高,越先被加载。

11.shell脚本里面,启动时遇到了$'\r': command not found错误

sh提示“no such file or directory”

用vi/vim打开脚本,设置文件格式为unix。

vi start.sh
:set ff=unix
:wq

ps: 如果想设置为windows格式,则:set ff=dos

set fileformat=dos
#或者
set ff=dos

没有linux环境的,可以使用NotePad++这些工具进行替换

常用操作合集二

在Notepad++的右下角可以看到当前文档的格式为Unix(LF),即完成了将文档Windows格式向Linux格式的转换。

常用操作合集二

12.dm数据库无法修改字段类型

可以删了,再重新添加得方式(有数据得,需要临时字段保存原来得数据)

13.git导出日志到文件,excel等

  • txt
保存到一个文件中
git log > log.txt

保存详细修改方法
git log -p > log.txt

过滤某个人的修改方法
git log --author user > log.txt

过滤某个人的详细修改方法
git log --author user -p > log.txt
  • cvs
::记录日志
git log --date=iso --pretty=format:"%h","%an","%ad","%s" --encoding="GBK" > log.csv

在.bat文件中,%需要转义

git log --date=iso --pretty=format:"%%h","%%an","%%ad","%%s" --encoding="GBK" > log.csv

选项     说明
%H    提交对象(commit)的完整哈希字串
%h    提交对象的简短哈希字串
%T    树对象(tree)的完整哈希字串
%t    树对象的简短哈希字串
%P    父对象(parent)的完整哈希字串
%p    父对象的简短哈希字串
%an   作者(author)的名字
%ae   作者的电子邮件地址
%ad   作者修订日期(可以用 -date= 选项定制格式)
%ar   作者修订日期,按多久以前的方式显示
%cn   提交者(committer)的名字
%ce   提交者的电子邮件地址
%cd   提交日期
%cr   提交日期,按多久以前的方式显示
%s    提交说明

14.docker修改容器编码为utf-8

  • 直接在容器中设置
locale         //看下当前默认语言是否是utf-8,默认是:POSIX
locale -a      //看下系统有没有装utf-8语言
如果没有装utf-8的话,需要单独的装下。
修改 etc/profile文件:
echo "export LANG=en_US.utf8">> /etc/profile
echo "export LC_ALL=en_US.utf8">> /etc/profile
使环境变量生效:
source    /etc/profile
再次输入 locale 发现已经设置成功了
  • 修改镜像里面的默认语言
ENV LANG en_US.utf8
ENV LC_ALL en_US.utf8

15.win下修改配置导致docker启动失败

常用操作合集二

Docker桌面会在未检测部分配置项是否正确的情况下就保存,导致崩溃然后无法再次打开。

如果遇到这种情况,先不要急着删除重装,可先尝试修改配置json文件恢复。

通常关于镜像源等配置在 C:\Users\用户名\.docker 目录下

常用操作合集二

重新编辑daemon.json文件即可。

重启docker,如果还是无法重启,那就重启电脑,解决一起问题。


好了,以上就是我个人的实操了。可能有些不对,大家伙,轻点喷!!!

个人理解,可能也不够全面,班门弄斧了。

好了,今天就先到这里了!!!^_^

如果觉得有收获的,帮忙点赞、评论、收藏一下,再走呗!!!

常用操作合集二