
shell编程
文章平均质量分 73
shell运维脚本
罗四强
Suffering is the soul of greatness.
展开
-
SHELL编程传递参数方法详解$# $* $0 $1 $2 $...
目录实例特殊字符用来处理参数:$* 与 $@ 区别:我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……实例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径):#!/bin/bashecho "Shell 传递参数实例!";echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为原创 2021-02-18 10:56:15 · 1400 阅读 · 2 评论 -
如何使用ssh命令行连接到小米手机
目录安装Termux安装openssh启动sshd服务重置当前手机用户密码PC端ssh连接手机安装TermuxTermux官网:https://termux.com/ 考虑到官网需要使用GooglePlay,科学上网才能下载安装包,博主已经把Termux下载下来,放在CSDN上了。将termux的apk上传到手机端,安装即可。安装openssh安装好Termux后,点击图标进入,依次输入以下命令。申请读写权限termux-setup-storage手机原创 2020-09-18 15:32:59 · 1979 阅读 · 6 评论 -
Linux命令详解系列(一)——find命令详解
在纯命令行的服务器端,linux查找文件时,的确不如windows端直观。但是Linux端有一个特别强大的查找命令—find,今天就详细介绍一下find命令的使用方法。find命令 高级查找find.-name*lin*.代表在当前目录找-name表示匹配文件名/文件夹名,*lin* 用通配符搜索含有lin的文件或是文件夹find.-iname*lin*.代表在当前目录找-i 忽略大小写查找-name表示匹配文件名/文件夹名*lin* 用通配符搜索含有lin的文件或是...原创 2020-07-21 17:14:43 · 1388 阅读 · 4 评论 -
Linux系统基本操作(二)—设置本地光盘为yum源
目录一、使用场景二、设置步骤三、查看yum源列表一、使用场景①场景:服务器在内网操作,无法使用公网yum源头②场景:需要的yum资源过多,下载太慢③场景:服务器需要指定版本的软件依赖包这时,我们可以将挂载的光盘设置为yum源,进行相关依赖软件包的下载安装,而且速度特别快。二、设置步骤1、查看我们现有的yum配置文件:cd /etc/yum.repos.d/ 目录下:2、这里每一个.repo文件都是一个yum源;CentOS-Media.repo 是本地的.原创 2020-07-19 19:08:52 · 774 阅读 · 2 评论 -
Linux基本操作(6)——Linux 重写rm 命令 实现回收站功能
rm -rf 是一个极其危险的操作,而且linux端不像windows,有回收站的后悔药可以吃,所以一旦误操作,就会造成不可挽回的后果。 今天通过shell重写,在linux端实现一个回收站的功能,可以实现将rm -rf 删除的文件指定存放到一个路径下,并定期来清理。创建一个路径来作为我们的回收站:cd ~ && mkdir .trash 赋予最高权限:chmod 777 .trash 修改你的 home 目录下的:.bashrc: vim ~/.bashrc# rm tr.原创 2020-07-17 17:41:50 · 1022 阅读 · 5 评论 -
网络渗透测试(2)——使用nmap扫描微信服务器
在第一篇中,我们通过微信的进程,找到了微信的服务器IP地址今天我们对服务器进行一下扫描,检测下 操作系统、开放的服务端口等 如上图,我们找到的IP地址为183.192.195.145我们使用nmap工具,对服务器进行一下探测我的系统CentOS6.4首先看一下我们的nmap工具版本:nmap -v下面我们开始扫描微信的服务器命令nmap -sV 183.192.195.145如上图,就是我们的扫描结果开启的端口有:80 443:这两个是web端..原创 2020-07-10 14:49:40 · 873 阅读 · 2 评论 -
管理员运行bat文件获取当前目录和上级目录
@echo offcd /d %~dp0::显示当前路径echo %cd%cd ..::显示上级目录路径echo %cd%pauseexit原创 2019-12-06 17:17:41 · 1501 阅读 · 1 评论 -
find命令 -- 之查找指定时间内修改过的文件
比如我们要查找linux下指定时间内做过改动的文件,我们可以用find命令,其实find命令的功能十分强大,下面我们通过几个简单的例子来学习下find命令的简单用法:find /opt -iname "*" -atime 1 -type f找出 /opt 下一天前访问过的文件选项 OPTIONS所有的选项都总是返回真值,它们总会被执行,除非放在表达式中执行不到的地方。因此,清楚起见,最好把...原创 2019-06-25 16:46:59 · 2328 阅读 · 2 评论 -
windows netstat taskkill命令 操作进程
使用windows界面停止 启动服务时,会出现服务卡死的情况;此时 我们可以使用命令行来强制关闭程序,然后重启。windows下的查看进程 、杀死进程命令与linux相似,但是有区别。1 查询端口占用,2 强行杀死进程netstat -ano | findstr 8080 #根据程序占用的端口号,来查询占用的进程号taskkill /pid 4136 -t -f #执行杀进...原创 2019-05-31 09:55:43 · 1169 阅读 · 3 评论 -
linux的日志监控和定期处理脚本
具体场景:服务器产生的日志量非常大,每天将近100M+的日志量,所以博主写了一个日志的分隔脚本;每隔2小时执行一次,当日志文件超过6M时,将日志进行转存,命名格式为20180917-12.log,这样可以防止单个日志文件过大,打开时非常耗CPU,【曾经测试在linux上打开1G的纯文本文件,2G内存 双核虚拟机几乎崩溃,CPU瞬间飚满;在Windows下更打不开】所以将日志进行切割转存,但由于日...原创 2018-09-17 20:13:18 · 2925 阅读 · 2 评论 -
Linux系统简单实验操作rm
想必大家都听说过一个笑话:一个程序员去公司面试,面试官让他随便写个shell脚本看看,结果程序员在公司机器上写了个简单的 rm -rf /*今天博主好奇到无聊,想看看到底会有什么效果呢。就拿了一台不用的废弃虚拟机系统玩了一把。结果如下:大家一定注意谨慎:玩完之后,绝大部分数据无法恢复,系统会基本完全崩溃状态,建议在废弃的机器上玩可以,正式环境千万不要,另外大家写删除命令的时候,也一定要...原创 2018-09-08 11:13:41 · 17564 阅读 · 5 评论 -
暴力破解(一)——python脚本暴力破解 加密的zip压缩文件
简介:zip格式是常见的压缩文件格式,它支持压缩时设置解压密码;有两种加密方式:1传统加密方式和普通的加密方式。传统加密方式是一种比较简单的加密方式,现在一般很少有人使用,而且压缩时 系统默认选择的是普通的加密方式。因此网上很多破解zip的软件和脚本 都是针对传统加密方式 开发的,所以 我们拿来使用时,无法对zip进行破解,所以博主使用python搞了一个针对所有压缩加密方式通用的pytho...原创 2018-08-05 14:35:42 · 24811 阅读 · 5 评论 -
vim 复制 粘贴 撤销 删除 等常用操作命令
1、复制 ①单行复制 ESC进入命令模式,将光标移动到要复制的行,“yy”进行复制; ②多行复制 ESC进入命令模式,将光标移动到要复制的行的第一行,按“nyy”复制 n行;其中n为1、2、3…… 2、粘贴 ESC进入命令模式,将光标移动到将要粘贴的行处,按“o”另起一行,相当于Tab键,然后按“p”进行粘贴 3、撤销操作 按“u” 撤销上一步的操作 (等同于windows中 ...原创 2018-07-21 13:38:07 · 2590 阅读 · 1 评论 -
linux设置开机启动 服务不支持chkconfig解决方法脚本
写了脚本,想用命令chkconfig加载自启动.提示"**服务不支持chkconfig",原来是自己写的脚本时,忘记写两行了.开头一般要这样写 #!/bin/bash #chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61) #description:Apache //此行必写,描述服务. 把脚本拷贝至/etc/ini...原创 2018-07-12 11:26:34 · 3709 阅读 · 3 评论 -
linux shell中的case语句用法 以及 case default设置
case语句使用于需要进行多重分支的应用情况格式:case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列 ;; esac case语句结构特点如下:case行尾必须为单词 in 每个模式必须以右括号 ) 结束双分号 ;; 表示命令序列结束case语句结构特点如下:匹配模式中可是使用方括号表示一个连续的范...原创 2018-06-09 13:15:54 · 18884 阅读 · 3 评论 -
centos6+ 将程序 注册到 service进行启动 停止 重启等:以nginx为例,添加nginx脚本
service的运行过程。以network为例:service network start。首先,service 会去/etc/init.d下寻找network脚本,start是networking脚本里的一个参数(你可以去查看networking这个脚本支持的参数),然后告诉系统运行networking这个脚本,剩下的事情就交给networking脚本去坐了,事实就是这么简单。一般情况下,我们安...原创 2018-06-09 13:12:46 · 9593 阅读 · 4 评论 -
Centos6离线安装docker 解决相关依赖
我们在生产环境下,一般都是不允许链接外网的,而且一般使用的linux版本是Centos6+版,所以离线安装docker还是很有必要掌握的:今天刚刚在centos6上使用离线模式 安装了docker,把相关的资源及启动脚本上传到上面了:https://download.csdn.net/download/weixin_42350212/10468313...原创 2018-06-09 00:24:56 · 8900 阅读 · 4 评论 -
shell中的正则表达式
一 什么是正则正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。 生活中处处都是正则: 比如我们描述:4条腿 你可能会想到的是四条腿的动物或者桌子,椅子等 继续描述:4条腿,活的 就只剩下四条腿的动物这一类了在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍grep文...原创 2018-06-09 00:10:43 · 14730 阅读 · 4 评论 -
如何在shell中执行 字符串拼接起来的命令 cmd = ls / 执行方法:$cmd
例子:#!/bin/bashshell="ls /" #查看根目录下所有文件$shell #执行上面的字符串命令我们有时候 经常需要把把很多命令的部分 定义成 字符串,然后拼接起来,然后一起执行:那么 拼接起来的字符串命令 如何在shell执行呢?简单到令人发指:但是网上的各种复杂的方法,反而都无法执行...原创 2018-06-08 22:59:32 · 26048 阅读 · 3 评论 -
Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。复制代码 代码如下:echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。复制代码 代码...原创 2018-06-08 16:44:08 · 5146 阅读 · 3 评论 -
linux系统下tar打包压缩命令的使用总结
tartar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:# tar -cvf archive_name.tar directory_to_compress1下面是如何解包的命令:# tar -xvf archive_name.tar.gz1上面这个解包命令将会将文档解开在当前目录...原创 2018-06-08 15:59:02 · 5058 阅读 · 3 评论 -
linux shell 常用参数 $? $# 等等解析
最近在学Linux脚本程序,这里来说说Shell脚本中$0、$?、$!等的意义变量说明$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情...原创 2018-06-08 15:55:03 · 7563 阅读 · 3 评论 -
Linux使用LVM逻辑卷 给分区扩容 不重启 热扩容
虚拟机的硬盘不够用了,里面又正在跑着服务 不能重新格式化分区 该怎么办呢?跟大家说一下 如何使用LVM来进行动态热扩容。首先:确定你的操作系统安装时 是使用LVM进行分区的,否则是无法使用LVM进行扩容的。查看方式:使用下面的命令查看:如上图所示:介绍几个概念PV:就是physical volume:物理卷,类似我们的硬盘;VG:volume group 卷组:vg可以把很多个pv包含进来,形成一...原创 2018-06-04 20:45:20 · 17668 阅读 · 3 评论 -
git 上传代码到GitHub 以及git删除github上文件和文件的命令
Git入门如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),可知我们此时应该有两个仓库,就是两个放代码的地方,一个是本地,一个是远程的(如Github)。企业或者团队可以通过Git来对项目进行管理,每个程序员只需将自己的本地仓库写好的代码上传到远程仓库,另一个程序员就可以下载到本地仓库了。今天我们就从Git终端软...原创 2018-06-03 21:09:10 · 18238 阅读 · 3 评论 -
shell脚本 获取第几行 第几列 的命令 awk sed
例如:我们需要查看 包含 sbin的进程 中的PID号查看当前所有包含sbin的进程[root@fea3 ~]# ps aux | grep sbin只过滤出所有的PID号:[root@fea3 ~]# ps aux | grep sbin | awk '{print $2}'只获取前三行PID号:使用命令sed -n 指定行数;-n '2p':第二行;-n '1,3p':第一至三行[root@f...原创 2018-06-03 18:09:55 · 69018 阅读 · 5 评论