![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
清泉影月
清泉影月,取自“明月松间照,清泉石上流”
展开
-
Linux:Nginx 正向代理实现内网访问互联网
因为公司的某些系统需要访问互联网上的某些功能,每个系统的服务器都开通访问互联网的能力太麻烦并且不方便管理,所以打算只对一台服务器开通访问互联网的能力,并在此服务器基础上搭建 nginx 正向代理,方便其他系统可以使用该服务器作为代理借道访问互联网功能。原创 2022-10-21 16:46:49 · 16947 阅读 · 0 评论 -
Springboot 工程的启停、检查的shell脚本
之前启停、检查 springboot 工程一直有一套 shell 脚本,这里简单记录下,防止下次忘记。原创 2022-08-07 10:05:44 · 409 阅读 · 0 评论 -
大文件切分上传到服务器
前言: 公司的堡垒机上传文件大小上限 1G ,但是打包后的文件超过 1G,所以就需要切分上传然后合并。1. 文件切分前计算 md5要保证文件上传前后一致性。windows 中计算 md5 方式certutil -hashfile 文件 MD52. 使用 split 命令切分文件Windows 本身不带有 split 命令,所以这里借助 gitbash 进行,也可以借助其他工具。split [OPTION]... [FILE [PREFIX]]-l,按行...原创 2021-09-06 13:45:18 · 744 阅读 · 0 评论 -
linux 配置 DNS 服务器用于解析本地请求
场景: 服务器要使用域名调用其他服务,为此就需要给服务器配置域名解析(DNS)。一、配置hosts这种形式前提是知晓对方 ip 和 域名,直接把对应关系写死在 /etc/hosts 文件中,如下:182.92.187.21 blog.csdn.net二、配置 DNS 服务器 这种方式有一个前提,需要本地服务器到 DNS 服务器 UDP 53端口是通的。常用公共DNS服务器列表 名称 DNS1 DNS2 114 DNS...原创 2021-10-20 15:21:47 · 1820 阅读 · 0 评论 -
设置 linux 命令别名
前言: 大家在操作linux的时候可能会碰到一些非常长的命令,这个命令平时用的比较频繁,每次输入执行感觉非常麻烦有木有。如果把一段长的命令设置成一个短的别名,是不是很方便?1.alias命令引入找台 linux 机器执行一下 alias 命令,可以看到ll命令不是linux命令,执行ll命令相当于执行ls -l。2.alias添加别名alias [别名]='真实命令'eg:alias jv='java -version使用截图:...原创 2021-09-10 17:48:31 · 9517 阅读 · 0 评论 -
常用软件的清屏操作
前言:平时软件开发会经常涉及到一系列的操作命令,例如linux、cmd、idea、xshell、finalshell、cmd(dos),操作多了就会把整个屏幕占据原创 2021-06-01 15:45:21 · 1871 阅读 · 0 评论 -
上传文件报413问题说明和处理
前言:开发过程中难免碰到上传文件的需求,如果稍微不注意文件大小就会出现如题一样的状况,根本原因就是服务器限制了文件的大小,这里只说明使用nginx做服务器的问题处理。一、修改client_max_body_size大小client_max_body_size 50M;nginx 配置这个选项有三个地方可选,作用范围不一样:1. 在http{ }中设置,控制全局nginx请求报文大小2.在server{ }中设置,控制该server的所有请求报文大小3.在locatio...原创 2021-04-16 11:23:07 · 914 阅读 · 0 评论 -
Linux系统查看出口ip
前言:有时候交互的时候需要互开白名单,所以需要知道linux机器的出口 IP,这里记录一下常规操作。curl -s http://httpbin.org/ip原创 2021-02-07 15:02:59 · 7281 阅读 · 0 评论 -
linux脚本执行出错就退出
需求:执行 shell 脚本一系列的命令,希望有任务出错就退出,不往下执行,以免出现混乱1. linux 的set 命令set -e2. set 其他参数-a 标示已修改的变量,以供输出至环境变量。-b 使被中止的后台程序立刻回报执行状态。-C 转向所产生的文件无法覆盖已存在的文件。-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。-e 若指令传回值不等于0,则立即退出shell。-f 取消使用通配符。-h 自动记录函数原创 2020-12-18 17:32:18 · 4683 阅读 · 1 评论 -
sshpass 携带登录信息一行命令操作远程机器
场景:想去连接远程的一台机器,一行命令把远端机器的文件下载过来1. sshpass + scpsshpass -p "password" scp user@ip:/目标文件 /本地目录sshpass 的目的就是在使用远程操作命名时携带密码直接操作,而不需要手动再输入一次密码,这种在执行脚本你的时候非常有用2. sshpass + sshsshpass -p "password" ssh user@ip...原创 2020-12-18 17:04:43 · 1092 阅读 · 0 评论 -
shell 一行命令执行 mysql 脚本
前言:前段时间组内一直在弄三级 devops 认证 ,其中一小块涉及到 shell 命令执行 mysql 脚本,这里记录一下。1. 准备mysql脚本脚本很普通,跟大家平时写的mysql脚本没有任何区别alter table tb_name add column create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP;保存文件为 update.sql2.使用 shell 命令执行mysql -vvv -hMYSQLIP -PM原创 2020-12-18 13:00:50 · 474 阅读 · 0 评论 -
nginx 转发过滤下划线头信息
问题解决记录1. 问题上次上线产品,和网关那边约定把客户信息放在header里面,字段“user_id: xxx”,测试域是单节点,一直没有问题,上线的时候用nginx做了高可用,结果发现,user_id 没了,一脸茫然。2. 解决其实也很简单,nginx 有个臭毛病,header 携带下划线的字段信息会被过滤掉,所以 user_id 就这么没了。在 http 配置块里面加个配置,如下:underscores_in_headers on;记得配置生效需要重启哦,这个适用于绝大多数应用。3.原创 2020-11-24 21:24:17 · 690 阅读 · 0 评论 -
nginx 使用小记
前言:nginx 在均衡负载和反向代理上作用巨大,是每个程序员的必备技能。1. nginx 简介Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:几乎所有知名厂商。...原创 2020-10-29 18:51:36 · 452 阅读 · 0 评论 -
linux 搭建 FTP 避坑指南
前言:有很多博客写过 linux 搭建 FTP,很遗憾,照着搭建出了不少故障,所以这里记录一下关键的坑怎么处理。1.需求和环境需求:基于 linux 搭建一个FTP,保证用户只能访问自有目录,可以正常进行读写操作。linux 版本: centos 72.安装 FTPyum install -y vsftpd3.启动 FTP 服务service vsftpd start其他可能用到的命令停止服务:service vsftpd stop重启服务:service vsftpd rest原创 2020-09-24 20:43:31 · 214 阅读 · 0 评论 -
linux下创建用户赋予root权限
前言:最近一直在折腾linux的脚本,用来固化一些常用的功能,本次记录创建用户赋予权限。1.创建用户useradd 和 adduser 都行eg,useradd deploy2.创建或者修改密码passwd deploy然后会提示输入密码,连续输入两次即可,一般密码要求:字母大小写、特殊字符、数字、长度大于8,不能和用户相关等要求。如果你要是想把创建密码写到脚本固化,可以这么写echo "密码" | passwd --stdin deploy3.赋予root权限修改 /etc原创 2020-09-09 21:00:12 · 9439 阅读 · 4 评论 -
linux查看版本信息
前言:有时候需要给linux装环境依赖,版本就显得很重要了,所以这里记录一下方便以后查看。1. 输入"uname -a ",可显示电脑以及操作系统的相关信息2. 输入"cat /proc/version",说明正在运行的内核版本3. 输入"cat /etc/issue", 显示的是发行版本信息4. lsb_release -a(如果命令找不到,不建议安装 lsb,依赖包太多)...原创 2020-09-08 20:42:39 · 276 阅读 · 0 评论 -
linux的cat命令
前言:以前经常用 cat 进行文件的追加,正好今天有时间把cat命令好好梳理一下。1.使用实例追加 config 文件内容到 bashfile 文件cat config >> bashfile把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里cat -n textfile1 > textfile2清空 /etc/test.txt 文档内容cat /dev/null > /etc/test.txt2.参数说明-n 或原创 2020-09-08 20:22:55 · 317 阅读 · 0 评论 -
linux删除乱码文件
前言:前段时间有一台新机器需要部署环境,结果文件 rz 进去以后发现中文名字乱码,想删掉,但是发现 rm 不管用,但是转念一想,既然linux能管理到该文件,那么肯定有文件的唯一标识可以进行操作的(这种唯一标识在linux中称为 i 节点),于是网上查找一番,这里记录一下。1 .查找文件i节点ls -i 或者 ll -i 都行,最前面的那个号码就是 i 节点标识例如(这里以正常文件来演示):2.删除find . -inum 679052 -exec rm {} -rf \;再查看一下原创 2020-09-08 20:13:16 · 279 阅读 · 0 评论 -
tar 打包隐藏文件
前言:先说一下遇到的场景:前段时间在配合做 DevOps,组内有块代码是 php 的,需要用 tar 命令打包归档上传到 nexus 库,后来发现解压出来的包居然缺失了隐藏文件(配置文件),查了一下资料解决了,这里记录一下。1. tar 命令常规用法-c 创建新的档案文件-C 指定到要解压到的目录。注意:该目录必须存在-f 指定打包的文件名。在f之后要立即接打包文件名!不能再加参数!-x 解压-O 将文件解压到标准输出-p 使用原文件的原来属性-P 创建归档文件,使用绝对路径-t 列出档原创 2020-08-03 10:19:13 · 5485 阅读 · 2 评论 -
linux安装指定版本jdk
前言:安装jdk,无论在 windows 还是linux都是一套流程,下载对应包 -> 安装jdk -> 配置系统环境 -> 校验最近赶着活动在某里云搞了一个入门的云主机,搭建一下基础环境,以后可以开发小工具自己用。1.下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html找到系统对应的版本,例如 linux x64,这里同一个版本包的类型不同,不同的包安装方式会有差异,推荐原创 2020-07-31 17:46:38 · 2642 阅读 · 1 评论 -
vim 上下翻动查找字符串
需求描述:在 linux 下用 vim 命令查找字符串,可能有很多个满足条件,怎么定位上一个或者下一个?解决之道:首先进入 vim 后进入 normal 模式,键入如下命令后按 Enter 键进行查找字符串:/搜索字符串查找下一个按 n,往上找上一个按 N...原创 2020-06-09 19:55:13 · 4495 阅读 · 0 评论 -
防止 crontab 定时任务重复执行
前言:crontab 定时任务很好使用,它的定时是很强硬的,直接跟系统时间打交道,不会去管程序本身执行是否需要时间。举个栗子:一个脚本执行需要 1 小时,使用 crontab 每隔2小时执行一次,一般情况下下次执行脚本时上次脚本执行肯定是跑完了的;但是,假如,程序卡住了呢?下次执行时上次脚本还在,会咋样?会再启动一个脚本,这时候就有两个脚本在执行,如果产生冲突会把事情搞得更复杂。咋整?1.flock 来帮忙直接在 linux 输入 flock 命令,就会获取使用说明:Usage: floc原创 2020-05-20 19:50:39 · 4689 阅读 · 0 评论 -
linux:清空日志无法改变日志文件大小
问题描述:用 nohup 起了一个代码,把打印重定向到 run.log 中,但是使用清空文件命令以后,用 ll 命令查看,显示 run.log大小并没有改变1.问题梳理跑代码命令nohup python -u run.py > run.log 2>&1 &ll -h 查看显示 run.log 大小 16M;du -sh 查看当前目录大小 16.1M使用清空...原创 2020-03-12 16:18:30 · 3524 阅读 · 0 评论 -
linux 进程守护工具 supervisor 使用概述
前言以前跑代码,为了不被杀掉经常用 nohup,后来发现,系统认为该死的程序都得死,这就很郁闷了,市面上有很多进程守护的小工具,只是写的语言不同而已(例如pm2,用node搞的),supervisor用python写的,以前支持py2,现在py3也支持,所以不用担心版本问题。我这里把一些常规的使用介绍一下,顺便说一下有任何问题查阅官网:supervisor官网一. 安装安装方式多种多样,...原创 2020-02-03 13:54:12 · 1757 阅读 · 0 评论 -
vim 多行选取
前言linux 下 vin 编辑文本时经常涉及文本选取,复制,粘贴,删除。1.进入可视化模式vim 下有多种模式i 编辑模式v 字符可视化模式(移动一次选择一个字符)V 行可视化模式(移动一次选择一行)经常用的是编辑模式(i)模式需要按 v 进入2.文本选取先移动光标到有需求的行,然后按 v 进入字符可视化模式,这时候上下左右键可以选取要操作的文本。3.操作命令使用y...原创 2020-01-15 17:03:21 · 8114 阅读 · 0 评论 -
linux 的 ls 和 ll 命令用法说明
前言一定要记住:linux 没有 ll 命令,只有 ls 命令,为啥要让大家记住,因为有时候其他代码引用 linux 系统的命令,ll 是不会被识别的。1.ll 命令ll 命令是 ls -l 的缩写,ls 命令的所有参数都适用于 ll2.ls 命令好多博客都是从文件/目录的归属开始讲的,个人感觉不应该在 ls 命令里面讲,应该放到 linux 文件/目录权限里面,我这里就单独讲一下 l...原创 2020-01-15 16:32:18 · 1656 阅读 · 0 评论 -
vim 跳转到指定行
常用的三种方式第一种:vim +n fileeg:vim +3 test.py 查看test.py文件,光标定位到第三行第二种:vim 进入查看文件,命令行下输入:n 回车以后就可以见到光标跳转到第 n 行第三种:vim 进入查看文件,esc模式下输入ngg 或者nGn 是行号,输完以后可以马上看到光标跳转...原创 2020-01-15 15:13:51 · 11422 阅读 · 0 评论 -
nohup 和 & 用法和区别
前言:linux 跑代码如果不使用守护进程,那么久需要进程和 nohup 和 &打交道,其实如果不打算深究的话,两个一起用时绝对保险的。1.知识普及通过 shell 连接一台 linux 服务器后,ctrl + c 是发送 SIGINT 信号关闭 shell 发送 SIGHUP 信号2. & 作用& 意思是在后台运行,不能免疫 SIGHUP 信号举个栗子:...原创 2020-01-14 14:29:16 · 1044 阅读 · 0 评论 -
linux 清空日志
前言:服务器跑代码经常产生大量日志,这些日志其实挺占空间,有时候就需要清空多余无用的日志,记住是清空不是删除。1.查目录占用状况du -h --max-depth=1一般我都用这个命令,意思是查看当前目录下各个文件/目录(深度为1)内存会占用情况,尽量以M的方式显示(-h)结果如下觉得哪个目录占内存大就cd进去,进入下一步2.查看文件占用情况ll -Sh命令意思就是展示当前目...原创 2020-01-13 16:55:02 · 493 阅读 · 0 评论 -
vim 下显示行号,并删除单行或多行
前言linux 经常需要对文本进行编辑,有时候要看文本是第几行,有时候需要删除连续的多行文本1.显示行号vim test.py显示:esc 模式下输入 set number 或者 set nu2.删除单行两种方式:vim 进入查看文件,光标移动到待删除行,连续按两次 d 即可删除整行数据在显示行号的基础上,esc模式下输入 行号+d 即可删除指定行,例如下图删除第一行...原创 2020-01-13 10:34:03 · 3514 阅读 · 0 评论 -
zip和unzip命令使用
前言压缩只为更方便地传输文件1.压缩文件/目录zip [参数] [压缩文件] [被压缩文件/目录]eg,zip test.zip run.py 当前目录下run.py文件压缩到test.zip文件zip -r test.zip test/ 当前目录下test目录全部压缩到test.zip文件2.压缩多个文件/目录[被压缩文件/目录] 之间用空格分隔zip t......原创 2020-01-07 20:37:39 · 1819 阅读 · 0 评论 -
linux 使用 crontab 定时启动程序
前言在服务器上有些代码不需要一直跑,间接性的或者定时的任务就需要使用linux自带定时工具 crontab1.crontab 怎么进入crontab -e进入服务器后任何位置输入上面命令都可以进入,然后就可以当文件进行编辑2.服务启动与关闭运行 crontab -e,要么成功,要么就各种问题提示失败,原因就需要先看一下crontab的服务有没有启动service crond sta...原创 2019-10-26 14:10:42 · 1624 阅读 · 0 评论 -
scp 复制文件或目录到本地或远端
前言:某些原因服务器会限制直接传输文件(例如 Xshell 的 rz,sz命令),这时候就需要使用 scp 进行文件或目录传输。1.规则说明scp 被复制目标 复制存储的目录被复制的目标可以是文件或目录,可以是远端或本地的目标,目录的话要在 scp 后加 -r 参数复制存储的目录可以是远端或本地,同时也可以复制的过程中重命名,等会举例说明2.本地到远端scp test.py ro...原创 2019-07-30 16:49:16 · 15684 阅读 · 0 评论 -
crontab 执行 python定时代码无法导入模块
前言:crontab 是最常用的 linux 定时任务命令,当 linux 里面 python 环境有多种的时候有可能出现无法导入模块的状况,即出现 “ImportError” 错误,而且最怪异的是直接手动执行 python 代码无任何异常,总的来说 crontab 比较傻,我们仔细研究一下它的“忠贞”,方便我们顺利执行定时任务。1.crontab 执行 python 的忠贞看一个普通的 c...原创 2019-05-10 17:58:59 · 2696 阅读 · 1 评论 -
linux 复制,移动,重命名文件或目录
前言linux 文件/目录操作文件/目录创建和删除之前也写过,链接1.文件/目录复制cp [选项] 源文件或目录 目标文件或目录这个命令可以在复制的同时改变名字eg,cp abc.log def.log //abc.log 和 def.log 都是文件cp -r test.quancheng/ quancheng //加 -r 参数,目录复制参数说明: ...原创 2018-10-17 19:49:23 · 19429 阅读 · 0 评论 -
Linux修改文件和目录的权限
前言: 文件或者文件夹权限不同,可以进行的操作便有很多区别1.首先说一下权限 文件/文件夹有三种权限,读-写-执行,对应于,rwx,为了方便都会转成二进制 0 和 1 eg444 -r--r--r--600 -rw-------644 -rw-r--r--666 -rw-rw-rw-700 -rwx------744 -rwxr--r--755 -rwxr-xr-x77...原创 2018-09-13 20:48:21 · 3584 阅读 · 1 评论 -
Linux 创建,删除文件或目录
前言:Linux操作1.文件创建touch + 文件名eg,touch abc.def.conf //当前目录touch /home/var/abc.def.conf //指定目录2.文件夹创建mkdir + 目录eg,mkdir abc.confmkdir /home/var/abc.conf //指定目录下创建3.文件删除rm + 文件名 然...原创 2018-09-13 19:42:50 · 612 阅读 · 0 评论 -
Linux统计当前目录下文件夹和文件数量
前言: java后台开发经常和 linux 打交道,有些命令太长可能记不住,所以建议大家找个笔记本记录常用的命令。1.统计当前目录下文件的个数,包括子文件夹里的ls -lR|grep "^-"|wc -l2.统计当前目录下文件的个数ls -l |grep "^-"|wc -l3.统计当前目录下文件夹的个数ls -l |grep "^d"|wc -l附言:l...原创 2018-09-11 16:17:40 · 9638 阅读 · 0 评论