expect入门--自动化linux交互式命令】的更多相关文章

很多linux程序比如passwd,ftp,scp,ssh等自身并没有提供一种静默式的执行选项,而是依赖于运行时的终端输入来进行后一步的操作比如更改密码.文件上传.下载等.虽然有些编程语言如java嵌入了不少这些常用工具的API比如jcsh等,但是毕竟他们不够自然和顺手.虽然也可以使用ssh免登陆方式,但当机器太多且密码可能经常会更改的时候,每次大批量修改也会很不方便. expect是unix/linux下的一个命令行工具,其使用tcl作为编程语言开发.其主要的功能就是模拟终端用户控制交互式应用…
一.概述 在Linux环境,有多种实现自己主动化的脚本语言.如Shell.Python.Perl.Tcl等. Shell语言因与Shell外壳结合紧密,是最常见的实现自己主动化的脚本语言. 同一时候,在Linux环境中存在大量功能单一的小工具--通常它们在指定输入后,马上就可获得输出,比如echo.cat等字符串/文本打印工具.又或者是如sed.awk等最经常使用的字符串编辑工具.通过编写Shell脚本,我们能够重复利用这些小工具来实现一些自己主动化的批处理. 在少数情况下,我们也须要用到一些交…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ~]# cut -c 字符区间 <==用于排列整齐的信息 选项与参数: -d :后面接分隔字符.与 -f 一起使用: -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思: -c :以字符 (characters) 的单位取出固…
shell尽管很强大.但是貌似无法完成交互式命令的操作,实例 ssh host 如果host而且该机没有加入信任.手动输入的时间需要password. 这样的情况下可以使用expect支持. 下面举个样例来说明expect的功能与使用: 功能:对集群各机器运行同样指令 如 集群ip 为 :192.168.6.1~192.168.6.10.须要在这10台机器上 同一时候 以tt用户登录 并运行 mkdir ttji_314命令. 首先 定义一个hostlist文件 : 192.168.6.1 19…
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点: (1)支持断点下传功能:这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了: (2)同时支持FTP和HTTP下载方式:尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件: (3)支持…
Linux Shall命令入门 ifconfig                                            //查看ip信息 service network start                               //开启网络 service network stop                                //关闭网络 目录操作 pwd                                              …
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 我之前想总结 一直懒 这次国庆加班 也本来计划来着 感冒了 作罢 .. 作者:蓝藻(罗蓝国度) 创建时间:2018.7.3编辑时间:2019.7.16 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴:…
Linux常用命令入门文件.网络.系统及其他操作命令.压缩 归档 文件系统 系统管理 用户管理  网络管理 finger 相关命令 netstat ping rsh telnet wget 进程管理等命令 文件压缩和有关归档的命令 compress,uncompress此命令用于压缩或解压缩数据.gzip,gunzip此命令用于压缩或解压缩文件,其中gzip是在Linux系统中经常使用的压缩和解压缩命令,很好用.rpmrpm命令用于启动RPM软件包管理操作.tartar命令用于启动文件打包程序.…
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux 中几乎所有命令的返回数据都是纯文本的(因为每个命令都是运行在 CLI 下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协作成为可能. Linux 的命令行提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的. 二.标准流 对于一个终端而言,可能要处理各种类型的数据,int 型…
在Linux早期的版本中,由于不支持图形化操作,用户基本上都是使用命令行方式来对系统进行操作.掌握常用 的一些Linux命令是非常有必要的,下面将分类进行介绍.由于篇幅有限,在这里我们介绍命令时有些不带参数,有些只介绍部分参数.如果用户对某一个命令详细的了解的话,可以使用Man命令.例如,想了解ls命令的详细信息,那么命令行书写格式如下:[root @teacher root]# man ls注:在Linux中命令是区分大小写的,如:Ls 跟 ls 是不一样的. 文件和目录操作的基本命令 1.p…
Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.  退出当前shell,输入:exit 2.useradd netseek 添加一个netseek用户  passwd netseek  给netseek这个用户设置密码.  (/etc/passwd /etc/group)  userdel netseek 删除账号  userde…
一个执着于技术的公众号 背景 修改Linux系统密码,执行passwd即可更改密码.可如果有成千上百台服务器呢,通过ssh的方式逐一进行修改,对我们来说,工作量是非常大,且效率非常低下.因此采用批量修改密码的方式是比较快的. 环境准备 需求:在Linux环境下运行,需要tcl和expect支持 检查系统是否有expect和tcl: 可以看到系统已经安装有这两个软件,如果没有,yum -y install expect tcl进行安装即可. 「实验说明:本文利用expect的自动化人机交互功能,登…
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 常用命令 man命令 man命令(重要的三条): 是普通的Linux命令 是系统调用,操作系统的提供的服务接口 是库函数, C语言中的函数 man -k:等价于apropos.使用man -k找到命令后,可以用man -f cmd查看命令的基本功能. man -k sort |…
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏…
grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.常用来在结果中搜索特定的内容. 一般格式: grep [选项] 基本正则表达式 [文件] 选项 -c 只输出匹配行的计数 -i 不区分大小写(单字符) -h 不显示文件名(多文件时) -l 只输出文件名(多文件时) -n 显示匹配行及行号 -s 不…
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 补充说明:grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来.若不指定任…
rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就提到了rm命令,现在我们来详细介绍一下linux中删除文件和目录的命令, rm命令,rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. 名称 rm - remove files o…
TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况.   TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. top - 12:38:33 up 50…
常用的Linux命令,备忘 1 pwd 显示当前目录 命令格式: pwd [选项] 2 cd 更换目录 命令格式: cd [目录名] 例: 3 ls 显示当前目录内容 命令格式: ls [选项] [目录名] 常用参数: -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录). -c  配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称…
[尊重原创文章出自:http://www.jb51.net/LINUXjishu/34604.html] TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. top - 12:38:33 up 5…
top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界面如下图所视:…
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /pr…
一,      Expect的作用 Expect广泛应用于交互式操作和自动化测试的场景之中,用来实现自动和交互式任务进行通信,而无需人的干预. 二,      Ubuntu安装Expect sudo apt-get install expect 安装后的位置/usr/bin/expect 三,      使用Expect 例子: #!/usr/bin/expect #这一行告诉操作系统脚本里的代码使用哪一个shell来执行.注意:这一行需要在脚本的第一行. set timeout #设置超时时间…
 http://man.linuxde.net/grep ---------------------------------------------------- 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列 标签: 正则表达式commandlinuxshellunix 2012-07-11 18:40 7550人阅读 评论(0) 收藏 举报  分类: linux/Ubuntu(6)  版权声明:本文为博主(微博@Gary的影响力)原创文章,未经博主允许不得转载.博客地址:h…
rpm命令: RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm -ivh rpm包安装rpm包rpm -Uvh rpm包升级rpmrpm -e rpm包删除rpm包rpm -qi 包列出包信息rpm -qf `which 命令` 显示命令所在包rpm –ql 包名称包中的文件列表 范例:rpm -ivh gcc-3.4.3-9.EL4.src.rpm安装gcc软件包rpm-qi gcc查询gcc软件包的信息rpm…
linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至 全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [pac…
linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [packag…
Linux top命令简介 top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界面如下图所视: top 界面分为两个部份,光标上面部份显示关于系统整体性能,光标下面部份显示各进程信息.光标所在处是用来输入操作命令的. Linux top命令界面 第一行显示的内容和uptime命令一样,[l]可以显示和隐藏这个区域: top:   这个没有什么意思,只是个名称而以 01:47:5…
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使用中十分重要,尤其是和shell程序的使用中Linux bash程序的调试格外重要.在进行调试的过程中有许多小技术点需要我们注意.下面的门就来详细的学习下Linux Bash命令关于程序调试详解. Linux bash程序调试的Linux Bash命令 在编程过程中难免会出错,有的时候,调试程序比编写程序花费…