Linux下最常用的10个文件压缩工具
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷。喜欢钻研底层技术,认为底层基础才是王道。一切新技术都离不开操作系统(CPU、内存、磁盘)、网络等。坚持输入输出,记录自己学习的点滴,在平凡中坚持前行,总有一天会遇见不一样的自己。公众号:运维汪(ID ... »
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷。喜欢钻研底层技术,认为底层基础才是王道。一切新技术都离不开操作系统(CPU、内存、磁盘)、网络等。坚持输入输出,记录自己学习的点滴,在平凡中坚持前行,总有一天会遇见不一样的自己。公众号:运维汪(ID ... »
前言 很多时候我们需要发送邮件,比如定时任务,比如邮件验证码等等。 各大编程语言都可以实现发送邮件功能,但还是太麻烦了,所以通过tcpdump抓包发现smtp发送邮件原理还是很简单嘛。 所以就想着能不能通过shell搞定,这样在Linux平台下就很通用,不必准备各种安装环境啥的。 鉴赏代码 该脚本需 ... »
什么是ssh? SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露. 互联网通信早期都是明文通信,一旦被截获,内容就暴露无疑. 1995年,芬兰学者Tatu Ylonen设计 ... »
前言 之前写过使用用户名密码,以及扫描二维码方式验证后台登录ssh的文章:【点击跳转】。 但是这样还是不太保险,也存在被人利用的情况,因为别人破解你的后台你压根不知道。因此想到使用邮件验证码来提高验证服务器登录ssh的安全性。 如果有人破解了你ssh的用户名和密码,那么就会发送一个验证码邮件,当你在 ... »
有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用。涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的。 废话不多说,java如何执行shell命令?自然是调用java语言类库提供的接口API了。 1. java执行shell的api 执行sh ... »
前言 很多时候我们都需要进程单例运行,当再次运行程序时检查到已有程序在运行可以做特别的操作,比如置顶已运行的程序,比如当前程序提示一下就退出。 最简单方案是打开进程创建一个文件,程序结束时删除文件,当第二个程序运行时判断该文件存在则认为已有程序运行。问题是程序异常退出没有删除那个文件就GG了。 还有 ... »
Shell Scripting Tutorial Variables in the Bourne shell do not have to be declared, as they do in languages like C.But if you try to read an undeclared ... »
crontab简介 Linux crontab是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crontab常用命令 crontab -e 打开vi编辑器,编写一个定时任务,退出vi后,若vi内容不为空,则会创建一个任务。 crontab -l 查看当前已经创建的定 ... »
前言 轮子脚本,本质为使用subprocess替代大量无谓的交互command,内部方法自由扩展 呃我是有用AndroidKiller,但耐不住常用到adb自定义的臭长命令,例如经常取httpcanary的hcy回本地分析 代码 usage 通常 路径为apk绝对地址,则解包 路径为目录地址,则尝试 ... »
在很多应用场景中,我们都会面临着排序需求,可以说是见怪不怪。我们也看过许多的排序算法:从最简单的冒泡排序、选择排序,到稍微好点的插入排序、希尔排序,再到有点理论的堆排序、快速排序,再到高级的归并排序、桶排序、基数排序。 而实际工作中我们可能用到的排序有哪些呢?而且,大部分时序,相信大家都是使用一个现 ... »
解Bug之路-记一次线上请求偶尔变慢的排查 前言 最近解决了个比较棘手的问题,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 Bug现场 这是一个偶发的性能问题。在每天几百万比交易请求中,平均耗时大约为300ms,但总有那么100多笔会超过1s,让我们业务耗时监控的99.99线变得很尴尬。如 ... »
Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer 多款软件一次性安装,无需配置即可直接安装使用,具有PHP环境调试和PHP开发功能,在国内有着近百万PHP语言学习者、开发者用户。 正是这样一款... ... »
Shell数组 简介 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由0开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: # array_name=(v ... »
环境及规划 [root@nginx-node01 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ID 主机名 ip 系统配置 软件版本 操作系统 01 nginx-node01 192.168.56.104 1C 1 ... »
ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格。 背景 博客:https://www.cnblogs.com/Rohn 使用哪一种Shell 可执行文件必须以 #!/bin/bash 和最 ... »
Shell中傻傻分不清楚的TOP3 发布文章 近来小姐姐又犯憨憨错误,问组内小伙伴export命令不会持久化环境变量吗?反正我是问出口了。。然后小伙伴就甩给了我一个《The Linux Command Line》PDF链接。感谢老大不杀之恩~ Shell是命令解释器,它会接受用户输入的各种命令,并传 ... »
在日常的运维工作中,Shell脚本肯定是必不可少的工作内容。为方便问题排查、脚本执行历史问题追踪、方便大家共同维护,从网上搜罗结合以往的经验教训拟定以下Bash脚本书写规范。欢迎各位同学指正或补充。代码风格规范代码有注释参数要规范环境变量和魔数变量的定义和引用缩进有规矩命名有标准编码要统一执行权限记... ... »
#!/bin/bashecho " 欢迎来到进爷故事会 "echo "********* 输入数字任选一个故事:1.xxxxx 2.eeeeeeee ********" read -t 5 -p "输入故事前的数字:" i case $i in"1") echo " 1.这是一个关于1加到100的数 ... »
Linux上执行Shell脚本运行失败提示Permission denied一个问题,挺好的问题,切中了知识盲点。 问题现象 Shell脚本在/tmp目录下,执行./test.sh运行失败,提示Permission denied。 问题分析 1、检查ls -al test.sh脚本是否有可执行权限。 ... »
多活系统,为了简化安装。安装一台服务器后,通过rsync同步到其他服务器。 应用到的命令类似: rsync av delete include from=include.list exclude from=exclude.list /home/sir/ sir@ip:/home/sir 还是很简单易 ... »