有时候在写脚本的时候,遇到一些字符串的变量,会有换行等需要整体替换,例如需要把换行全部替换成\n Shell下可以使用真是表达式的方式来替换:${varName//$'\n'/\\n},例子如下: msg="第一行 第二行 第三行" msg=${msg//$'\n'/\\n} echo $msg # 会输出:第一行\n第二行\n第三行 说明: ${...} - 表示利用正则表达式替换 varName - 变量 // - 表示替换... $'\n' - 需要替换的字符 / - 替换成... \\n - 需要替换成的字…

2022-06-24 0条评论 834点热度 0人点赞 admin 阅读全文

之前的文章有介绍使用LibreOffice将office文档转pdf和jpg图片封面的java实现,详见:https://blog.terrynow.com/2022/06/02/linux-libreoffice-convert-office-docs-to-pdf-or-image-cover-like-jpg-java-implement/ 不过有个问题,在某些Linux服务器上,转换后的图片或者PDF了有中文的部分,是乱码,怀疑是没有相关的中文字体引起的 在Linux下安装字体: yum -y groupi…

2022-06-22 0条评论 1516点热度 0人点赞 admin 阅读全文

临时想用某台Linux充当代理服务器,又不想为此安装一个软件程序,利用SSH是可以很方便的做到的,只需要执行如下一行代码 ssh -f -N -D 0.0.0.0:1080 localhost 这就里哟把那个SSH开启了一个Socks5代理程序。 其中 参数:-f 表示后台运行,如果你不想后台运行(终端开着,退出后立即失效),就去掉-f参数 0.0.0.0:1080表示运行全部的主机来连接1080端口 当然前提是你的Linux服务器没有开启防火墙,或者防火墙端口开启了允许1080端口的访问 iptables下,开启…

2022-06-19 0条评论 689点热度 0人点赞 admin 阅读全文

有时候Linux下运行的程序并不一定是一个服务,但是我们希望能监测它的运行状态,例如是否进程还在运行,如果没有运行,发出警报,或者自动启动,进而能保持程序的持续运行。 我们可以想办法写一个脚本来监测,然后可以做到定时任务(crontab)里去,例如每个1分钟监测一次。 以下是脚本内容,可以将替换成再次启动程序或你的逻辑。 #!/bin/bash # pgrep -f "vdcserver" 不能这样使用,不然就监测到本身也是一个符合的进程,导致误判 if pgrep -x "vdcserver" > /dev…

2022-06-12 0条评论 1113点热度 1人点赞 admin 阅读全文

Linux下可以使用nslookup做一些域名相关的查询,不过在有些最小化安装的Linux版本中,执行nslookup会提示『未找到命令』或『command not found』 [root@localhost ~]# nslookup -bash: nslookup: 未找到命令 -bash: nslookup: command not found 是因为缺少依赖包bind-utils,可以使用如下命令安装 # CentOS等系统,使用yum install方式安装 yum install bind-utils …

2022-06-03 0条评论 1249点热度 0人点赞 admin 阅读全文

最近有个需求,就是要将Office文档能在网页上预览展现,之前知道金山WPS Office是有开放API可以对接并显示,不过是要收费的。 经过一番调查,发现一个方法,我们知道PDF是可以在浏览器里直接显示的,所以只要想办法能把Office文档(doc、docx、xlsx、xlsx、ppt、pptx)转成PDF即可,而通过查找,LibreOffice(免费-属于OpenOffice)就可以实现将Office文档转成pdf(也可以将Office文档转成jpg等图片,作为封面时候) 安装完了LibreOffice后,可以…

2022-06-02 0条评论 1444点热度 0人点赞 admin 阅读全文

Linux环境Shell下需要检查某个URL返回的状态代码,例如200,说明正常,否则说明异常,需要发送提醒、重新启动等等操作 简单的脚本举例如下(以返回代码是200正常,否则重启某个服务): status_code=$(curl --write-out %{http_code} --silent --output /dev/null http://127.0.0.1:8182/some_status) if [[ "$status_code" -ne 200 ]] ; then echo "program not…

2022-05-30 0条评论 786点热度 1人点赞 admin 阅读全文

Linux下查看进程状态可以使用ps命令,例如,可以看到PID或者CPU、内存使用率等。 如果想要找到特定的程序的进程,那么可以配合使用grep查找出特定的进程PID,因为在执行shell脚本的时候,本身自己也是一个进程,如果用grep很有可能把自己也列出来,所以需要如下方式: (把name换成具体的关键词,使用grep -v grep把自己排除掉) ps -ef | grep "name" | grep -v grep | awk '{print $2}' 这个例子就是赋值给PID变量: PID=$(ps -ef…

2022-05-25 0条评论 1201点热度 0人点赞 admin 阅读全文

在服务器上运行python程序,可能会面领这个问题:多个python程序使用到了多个依赖包需要安装,而多个依赖包之间可能还存在着冲突的问题;如果后续不使用,已安装到系统的依赖包,可能就不需要了,卸载起来也比较麻烦。 如果使用了虚拟环境,以上问题就都解决了。不同的程序运行在不同的虚拟环境下,后续不使用,直接把不同虚拟环境的文件夹删除即可,非常方便。 首先在linux系统下安装python3-pip,然后通过pip3安装virtualenv #ubuntu下安装python3-pip apt install pytho…

2022-05-03 0条评论 803点热度 0人点赞 admin 阅读全文

我们在SSH登录到Linux服务器的时候,一般欢迎页面会显示最近登录的情况(例如最近一次正常登录的时间、用户、IP地址、最近一次失败登录的时间、IP地址) 有时候需要查看最近几次登录的情况,可以使用last命令 [root@centos opt]# last root pts/0 192.168.1.238 Thu Apr 21 08:32 still logged in root pts/1 192.168.1.102 Wed Apr 20 22:15 - 22:15 (00:00) scott pts/0 19…

2022-04-21 0条评论 564点热度 0人点赞 admin 阅读全文
1234511