
shell相关
文章平均质量分 55
hepeng597
这个作者很懒,什么都没留下…
展开
-
linux echo 让你的脚本输出加上颜色吧
1.echo 具有给输出的字符加颜色的功能,格式如下:格式: echo -e "\033[字背景颜色;字体颜色;ANSI控制码m字符串\033[0m" -e选项是让echo能够识别转义字符,否则不能显示颜色,先上个格式相关的例子例1:echo -e "\033[41;36m something here \033[0m" 或者:echo -e "\033[36;41原创 2012-07-13 14:36:32 · 9093 阅读 · 0 评论 -
如何自动输入密码ssh连接到其他机器
想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。主要的解决方法有三种:1. 生成ssh公钥,建立和对方机器的信任关系;2. 使用expect脚本;3. 使用sshpass。这里介绍一下sshpass相关内容下载并安装sshpass):# tar zxvf sshpass-xxxx.tar.原创 2013-03-27 18:12:23 · 16561 阅读 · 1 评论 -
shell if判断常用参数
Grammar:if 条件 # 条件为真,则条件返回0,进入then语句, 如果条件是函数,那么函数返回0则进入then语句then commandelse # 或者 elif 条件commandfiFast IF example:执行命令[ $? != 0 ] && exit -1 #如果左边的表达式为真则执行右边的语句Tips:原创 2012-09-30 09:04:01 · 889 阅读 · 0 评论 -
一份非常内行的Linux LVM HOWTO
1. 绪论 欢迎你,亲爱的读者。 写这个文档的目的是为了告诉你什么是LVM,它怎样工作,你怎样运用它使你的生活变得更容易。虽然有一份LVM FAQ,但仍是德文的,它是从不同的角度来描写的。它是一份“真的”HOWTO,在传授理解(有希望的)的时候也是非常内行的。 我要说清楚我不是一个Linux逻辑卷管理器(Logical Volume Manager)的作者。我向那些作者表示敬意转载 2013-05-21 15:42:36 · 1553 阅读 · 0 评论 -
scp 断点续传
scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar-P: 是包含了 “–part原创 2013-05-22 16:14:55 · 50778 阅读 · 5 评论 -
Linux 启动详解1
在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/inittab 3. /etc/rc.d/rc.sysinit 4. /etc/rc.d/rcN.d //这是几个文件夹N代表数字1,2,3,4.. 5. /etc/fstab文件介绍:1.关转载 2013-08-17 19:22:45 · 1031 阅读 · 0 评论 -
Linux 启动详解2
机器加电启动后,BIOS开始检测参数,如内存的大小,日期和时间,磁盘设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader.里面的boot转载 2013-01-23 13:28:38 · 1044 阅读 · 0 评论 -
linux syslog服务器配置,自动发日志到另一台日志服务器
1.客户端:168.1.20.66修改/etc/syslog.conf 添加syslog.info @168.1.80.302.日志服务器:168.1.80.30修改/etc/sysconf/syslog 修改SYSLOGD_OPTIONS为 "-r -x -m 0" #-r表示允许接收外来的消息,-x表示不解析DNS,#-m 0表示时间戳标记间隔,如果指定只原创 2013-09-07 09:53:59 · 25716 阅读 · 0 评论 -
配置中转linux机器,使连接该机器上的两个网络的两台主机可以互ping通
一、网络环境:网络1:主机A:eth0 ip:168.1.1.76gateway: 168.1.1.1 网络2:主机B:eth0 ip:172.18.128.23gateway:172.18.128.1 中转机:eth0 ip1:168.1.1.7 与网络1主机A互通eth1 ip2:172.原创 2013-09-07 09:59:45 · 9459 阅读 · 0 评论 -
shell中变量扩展技巧及实例
SHELL中有一些变量扩展的技巧,做下归纳总结mark一、取子字符串规则1:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束,起点由0开始例1:var="12345678"echo ${var:5}输出:678-------------------------------规则2:${变量名:位置起点:长度}含义:由指定的位置起点原创 2012-08-13 18:14:50 · 3518 阅读 · 0 评论 -
xmlstarlet toolkit 脚本操作xml的好工具, 用法心得
在linux终端或者secureCRT ssh上去,或者是shell脚本可以直接调用xmlstarlet命令操作,解析xml很方便,由于是工作上用到的东东,查了相关的资料,也遇到过一些问题,所以在解决后记录备忘,这里只列出一些常用的命令和一些文档里没有提到的命令,如需文档,请参考:http://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html例原创 2012-08-18 21:52:17 · 6698 阅读 · 0 评论 -
shell基本计算、逻辑运算、位运算详解
http://blog.pureisle.net/archives/1352.htmlShell 提供大量的基本运算操作,在脚本中非常有用。Shell 对您提供的算术表达式求值,执行运算展开式,此时使用得出的结果替换表达式。以下面的格式提供运算表达式:$(( expression ))$ echo $((5*(3+3)))30$ result = $(($myvar-1转载 2012-09-05 16:32:08 · 2127 阅读 · 0 评论 -
shell中数组扩展技巧及实例
1、申明数组例一:a=(111 222) #一对括表示是数组,数组元素用“空格“符号分割开。echo ${a[0]} #数组下标从0开始echo $a #数组也是指针形似,数组名称相当于一个指针,指向第一个数组元素输出:111111 例二:a=([0]=111 [1]=222)例三:a[0]=111a[1原创 2012-09-10 18:08:53 · 1189 阅读 · 0 评论 -
shell 间接变量引用的问题
1.感叹号的使用aaa=123bbb=aaaecho $bbbecho ${!bbb}输出结果:aaa123可见,感叹号是可以引用间接变量的值2.eval的使用aaa=123bbb=aaaecho $bbbeval ccc=\${$bbb}echo $ccc输出结果:aaa123问题:当遇到星号后,间接引用与编程者期原创 2012-10-10 18:56:37 · 6240 阅读 · 0 评论 -
shell 多行注释
由于Shell不支持直接多行注释,总结了以下Shell注释多行的变通方法 一、通过Here Documents和:实现 1、最简单方法 :<<BLOCK ....注释内容 BLOCK 把输入重定义到前面的命令,但是:是空命令,所以就相当于注释了。 如果注释中有反引号的命令就会报错。反引号部分没被注释掉,例如ab=`ls -l abc`就不会被注释掉。 2、解决注释转载 2012-11-27 11:19:41 · 9314 阅读 · 0 评论 -
tr命令常用例子
一、首先介绍下代替符号[:lower:]所有的小写字母[:upper:]所有的大写字母[:alnum:] 表示所有的字母和数字[:alpha:] 表示所有的字母[:blank:] 表示所有空格[:digit:] 表示所有数字[:punct:] 表示标点符号[:graph:] 表示所有可打印字符,但不包括空格[:print:原创 2012-11-15 17:06:46 · 1137 阅读 · 0 评论 -
secureCRT 显示乱码问题(总结)
1:最简单的方法是直接改 Session Option→选字体(新宋体)→再选Character encoding(选UTF-8) 然后再修改远程linux机器的配置 vi /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集 如:LANG=”zh_CN.UTF-8″ 2:如果再不行,可以试试这样 导出 /etc/sys转载 2012-12-18 16:57:40 · 845 阅读 · 0 评论 -
linux 修改时间 date
修改linux的时间可以使用date指令 修改日期: 时间设定成2009年5月10日的命令如下: #date -s 05/10/2009 修改时间: 将系统时间设定成上午10点18分0秒的命令如下。 #date -s 10:18:00 修改时区: 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/l转载 2013-01-31 14:36:22 · 613 阅读 · 0 评论 -
sed实例收集
一、元字符集 1)^锚定行的开始 如:/^sed/匹配所有以sed开头的行。 2)$ 锚定行的结束 如:/sed$/匹配所有以sed结尾的行。 3). 匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。 4)* 匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。 5)[] 匹配一个指定原创 2012-08-29 14:10:36 · 6850 阅读 · 0 评论