linux
qi莴苣
这个作者很懒,什么都没留下…
展开
-
杂项5
12.grep确定变量不是数字13.确定字符串是否是ip地址 is_ip_address() { TmpValue=$1 nCount=`echo "$TmpValue" |grep –c [1-9][0-9]\{0,2\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'` if [ 1 –eq $nCount ]; then原创 2012-04-25 14:44:50 · 364 阅读 · 0 评论 -
实例讲解5--其他命令e
10.if语句判断变量是否为某个值(防止空串) 因为数值的比较操作数不能为空,所以如果变量可能为空,且仅仅是进行等于或者不等于的比较操作时,则应转化为: if [ "-$VarName" = "-5" ]; then 而不要使用 if [ $VarName –eq 5 ]; then 数值测试有如下比较符: -eq 、-ne、-gt、-lt、-le、-ge原创 2012-04-06 10:58:40 · 955 阅读 · 0 评论 -
实例讲解5--其他命令a
1.eval命令:可用于动态生成和执行代码 foo=10 x=foo eval y=’$’$x echo $y 输入10,即eval y=’$’$x被解释为y=$foo,即y=10。nDay1="111"nDay2="222"nDay3="333"# 遍历变量nDay1 ...nDay3,打印其值for i in 1 2 3do原创 2012-04-06 10:45:50 · 274 阅读 · 0 评论 -
实例讲解4--awk命令h
15.awk的FS、OFS和ORS使用:以’|’为分隔符输出各个域 awk ‘BEGIN{OFS=”|”}{print $1,$2,$3,$4}’ filename awk 'BEGIN {OFS=";"; ORS="\n\n"} {print $1, $2}' filename awk 'BEGIN {FS=","}; {print $2}'16.awk的sprint原创 2012-04-06 10:37:54 · 632 阅读 · 0 评论 -
实例讲解4--awk命令f
10.awk的自定义函数 格式: function func_name(arg_list) {}例如:将下列代码保存在awk_pro文件中,调用echo 5 | awk –f awk_pro,将得到输出:5!is120。function fact(n) { if(n return 1 else return n*fact(n-1)原创 2012-04-06 10:34:55 · 327 阅读 · 0 评论 -
实例讲解5--其他命令i
27.paste命令 合并几个文件中的相同行或同一文件其后的相同行。 paste [ -s ] [ -d list ] file ...paste将file1 和file2 等的对应行连接起来,将每个文件看成是列或表的各列而将他们水平的粘贴在一起(平行合并)。选项:-d 无此选项时,文件中的每个换行符都由tab字符取代,但最后一个文件须除外(或在-s选项时最后一行除外)原创 2012-04-06 11:06:04 · 246 阅读 · 0 评论 -
实例讲解5--其他命令d
6. 开始是” cat hello this is a here !FUNKY!7.sh调试选项 使用”-o”设置选项,使用”+o”取消设置。命令行选项 set命令选项 说明sh -n set -o noexec 只检查语法错误,不执行命令 set -n sh -v set -o verbose 在执行原创 2012-04-06 10:55:52 · 271 阅读 · 0 评论 -
实例讲解5--其他命令c
5.shell的参数扩展: tmp_1="1111"tmp_2="2222"for i in 1 2do eval tmp='$'tmp_${i} echo $tmpdone其中,tmp_${i}为参数扩展的应用。常见参数扩展替换见下表:参数扩展说明${param:-default}原创 2012-04-06 10:52:33 · 201 阅读 · 0 评论 -
实例讲解4--awk命令i
28.awk的split、数组、注释 test.awk 文件:#!/bin/awk -fBEGIN { record="123#456#789" num=split(record,myarray,"#")}END{ for(i=1;i { print myarray[i] # print the element o原创 2012-04-06 10:40:00 · 317 阅读 · 0 评论 -
实例讲解4--awk命令e续
注:p最小为1,当p为0时,p被置为1;n个字符包括p所在字符。system(cmd) 执行命令并返回出口状态toupper(s) 将输入参数s中的字符全部转换为大写字符并返回转换后的字符串tolower(s) 将输入参数s中的字符全部转换为小写字符并返回转换后的字符串close( expr ) 关闭由expr表示的文件或管道,文件或管道可能被print、pri原创 2012-03-30 11:11:10 · 346 阅读 · 0 评论 -
实例讲解4--awk命令e
9.awk内置函数awk的字符串使用引号括起。通过连接常量、变量、数组元素、函数和其它表达式可以创建串表达式。例如:打印第几号记录和一个冒号,然后打印文本行。{print NR”:”$0}函数名 返回值gsub(r,x) 在当前记录中,用s替换r,返回替换数gsub(r,s,t) 在串t中,用s替换r,返回替换数index(s,t) 返回s串中t的位置,不出现时为0原创 2012-03-30 11:10:34 · 588 阅读 · 0 评论 -
实例讲解4--awk命令d
5.awk用户定义变量 用户自定义变量用以存放数据以及进行运算。6.awk算术运算算术运算在内部以浮点形式完成,也包含一般的加、减、乘、除、余和乘幂,运算符分别为”+”、”-“、”*”、”/”、”%”和”^”。a) awk ‘$1==”Feb” {sum=$2+$3} END{print sum}’ filenameb) awk ‘$1==”ATOM” {a=a原创 2012-03-30 11:01:51 · 418 阅读 · 0 评论 -
实例讲解4--awk命令c
4.awk内部变量(部分变量需要验证)变量 含义 默认值属性ARGC 命令行实参个数 - 只读ARGV 命令行实参数组 - 可读可写FILENAME 当前输入文件名- 只读FNR 当前文件中的记录数 - 只读FS 输入字段分隔符 空白及制表符 可读可写NF 当前记录中的字段数 - 只读NR 至今读取的记录数 - 只读OFMT原创 2012-03-30 11:00:22 · 343 阅读 · 0 评论 -
实例讲解4--awk命令a
1.awk字段分隔符: -F选项指定了字段分隔符为冒号awk -F: ‘{print $1,$3}’ file多个字段print $1 $ awk -F":" '{ print $1 $3 }' /etc/passwdhalt7operator11root0shutdown6sync5bin1....etc.$ awk -F":"原创 2012-03-30 10:50:10 · 265 阅读 · 0 评论 -
实例讲解3--sed命令h
24.sed获取第n个匹配的行的行号get_match_line_no(){ n=$1 #第n个匹配的行 file=$2 #要搜索的文件 str=$3 #要匹配的字符串 sed -n"/${str}/=" ${file} | sed -n"${n}p"}原创 2012-03-30 10:48:31 · 274 阅读 · 0 评论 -
实例讲解5--其他命令g
18.rm指令 -i 征求确认后才会删除 -r 删除该目录及该目录之下的所有档案 -rf 同上,但不会先徵求确认 19.find命令 在/usr/ice下查找hihi.c文件或目录,找到后在屏幕上显示 find /usr/ice -name hihi.c -print 20.df命令显示可使用之档案储存空间及档案数目df21.rusers命原创 2012-04-06 11:04:27 · 235 阅读 · 0 评论 -
实例讲解5--其他命令h
26.cut命令 分割文件每一行选择的字段。 cut -c list [ file ... ] cut -f list [ -d delim ] [ -s ] [ file ... ] 选项-c list 此选项(无空格)确定字符位置list是以逗号分割的字段号码,说明域号的整数表(递增次序),可以用-表示范围,(c表示char): -c原创 2012-04-06 11:05:20 · 235 阅读 · 0 评论 -
实例讲解4--awk命令j
# 方法一,使用临时文件 tmp.txteval "awk -F: '{ if (\$1==\"$usr\") print \$6 }' /etc/passwd >tmp.txt"cat tmp.txt# 方法二,完全使用eval合成par1='\$1'par6='\$6'equal='\"'eval "cmd=\" awk -F: '{ if ( $par1==$eq原创 2012-04-06 10:43:03 · 336 阅读 · 0 评论 -
杂项4
11.grep获取主机名和IP地址 方法一.从host文件获取 get_host_info() { HostName=`hostname` #过滤纯注释行(以#开头或者以空格+#开头的行), #然后过滤127.0.0.1,获取本机的ip地址HostIP=`cat /etc/hosts|grep -v "^[ ]*\#" | grep -v 127.0.0原创 2012-04-25 14:43:15 · 269 阅读 · 0 评论 -
其他命令P
53.fsck命令 检查和修复文件系统。 例如: fsck –y #不需要确认直接检查和修复文件系统。54.useradd和mkuser命令为组添加用户。useradd -d -g -s /usr/bin/csh -m 例如:如在SUN下创建smpsys用户: useradd -d /home/smpsys -g sms -s /bin/csh原创 2012-04-25 14:34:09 · 488 阅读 · 0 评论 -
其他命令O
48.操作系统和数据库检查(IBM)(十):HACMP检查# /usr/sbin/cluster/clstat clstat - HACMP Cluster Status Monitor ---------------------------------------------Cluster: scu_cluster原创 2012-04-25 14:32:08 · 274 阅读 · 0 评论 -
其他命令M
39.操作系统和数据库检查(IBM)(一):检查核心参数的配置#ulimit -atime(seconds) unlimitedfile(blocks) 2097151data(kbytes) 262144stack(kbytes) 32768memory(kbytes) 32768coredump原创 2012-04-25 14:24:53 · 270 阅读 · 0 评论 -
杂项3
8.find在一个目录下找包含一个字符串的所有文件 find ./ -name "*.sh" | xargs grep "set" find . -name "*.sh" -exec grep -l "set" {} \; 9.shell中确定一个文件的存在,文件ins_billdbif [ ! -f $INSTALL_PATH/ins_billdb原创 2012-04-25 14:40:33 · 233 阅读 · 0 评论 -
杂项2
4.shell脚本程序中的用户切换:切换到另一个用户,执行几个操作然后退出来,整个过程不退出脚本执行解答: su -bin -c command arguments5.shell中删除文件且不显示输出信息和出错信息解答; rm ${HOME}/bin/.filesize > /dev/null 2>&1>为重定向符号,2>&1表示标准错误输出定向到标准输出,又由于标准输原创 2012-04-25 14:38:08 · 246 阅读 · 0 评论 -
杂项1
1.setenv PATH和set path = (....) 解答:set path仅仅作用于当前的shell,setenv也对子shell起作用。 csh中使用setenv来设置环境变量。ksh中使用export来设置环境变量。 csh: setenv ENV_NAME ENV_VALUE ksh export ENV_NAME=ENV_VALU原创 2012-04-25 14:37:18 · 312 阅读 · 0 评论 -
其他命令N
45.操作系统和数据库检查(IBM)(七):检查系统的运行情况#topas可以看到CPU的使用情况,网卡的使用情况,磁盘的使用情况,进程的状态,内存的情况,交换区的情况等。46.操作系统和数据库检查(IBM)(八):检查文件系统的使用情况#df –kFilesystem 1024-blocks Free %Used Iused %Iused Mounted原创 2012-04-25 14:26:41 · 280 阅读 · 0 评论 -
实例讲解5--其他命令l
35.setenv命令 设置环境变量 例子: 设置环境变量INFORMIXDIR的值为$INFORMIX_HOME setenv INFORMIXDIR "$INFORMIX_HOME" 36.repeat命令 用来执行只有一个固定次数的命令。 例子: 在屏幕上显示连字符(-)80次 repeat 80 echo ‘-‘37原创 2012-04-06 11:10:55 · 384 阅读 · 0 评论 -
实例讲解5--其他命令j
28.rm命令 rm [-f][-i] file rm [-r[-f][-i] dirname …[file…] rmdir [-p][-s] dirname rm删除一个目录中的一个或多个文件。选项-f 此选项删除所有的在目录中的文件(不管是否有无写保护),而不对用户进行提示。在有写保护的目录中不能对文件进行删除,但不显示任何信息。-r 此选项删除参数中原创 2012-04-06 11:07:21 · 260 阅读 · 0 评论 -
实例讲解5--其他命令f
13.touch命令 创建以当前时间为文件名的文件: touch logfile.`date ’+%y%m%d.%H:%M’` 创建修改时间为1996年1月2日03:04的文件: touch 0102030496 file 注:用两位数字表示年份,2003写作03,1996写作96 14.touch与make联合使用强制编译 touch *.c m原创 2012-04-06 11:03:44 · 236 阅读 · 0 评论 -
实例讲解4-awk命令g
13.awk的逻辑运算符 表达式含义x==yx等于y时为真x>yx大于y时为真x>=yx大于或等于y时为真xx小于y时为真xx小于或等于y时为真x!=yx不等于y时为真原创 2012-04-06 10:36:43 · 279 阅读 · 0 评论 -
实例讲解5--其他命令k
31.pkgadd命令 将软件包传送给系统。 pkgadd [-d device] [-r response][-n][-a admin][pkginst1 [pkginst2[…]]]pkgadd将软件包的内容从安装它的分布介质或目录转送到系统。若没有使用-d选项,pkgadd在缺省的假脱机目录中查找该报(/var/spool/pkg)。若使用-s选项,就将该包读到假脱机目录原创 2012-04-06 11:09:43 · 646 阅读 · 0 评论 -
实例讲解5--其他命令b
3.export导出环境变量: 把参数变量名导出到子shell里,使之成为子shell的环境变量。 存在a.sh和b.sh两个shell脚本,在a.sh中调用b.sh,a.sh使用export输出的变量将成为b.sh的环境变量。 使用set –a 或者set –allexport将把在它之后声明的任何变量导出为环境变量。 csh中使用setenv来设置变量。4.shif原创 2012-04-06 10:49:55 · 190 阅读 · 0 评论 -
实例讲解4--awk命令k
# 方法五: 重新组织行,将要查找的字符串放到首位,各个字符串以空格分隔, 然后查找以 $usr 开头的行,打印相应元素.# 此方法适用于不以要查找的字符串为开头的行, 重新组织以后,就可以使用方法四.home=`cat /etc/passwd | awk -F: '{ printf("%s %s\n",$1,$6) }' | grep "^$usr" | awk '{print$2原创 2012-04-06 10:43:50 · 616 阅读 · 0 评论 -
实例讲解3--sed命令g
22.dirname或参数扩展提取目录名 例如从$0参数中提取运行的路径:从../../etc/passwd/得到../../etc,从/etc/passwd得到/etc 方法一:dirname c_path=$0 c_path=`dirname $c_path`注:如果没有路径,则c_path得到为单字符”.”原创 2012-03-30 10:47:56 · 439 阅读 · 0 评论 -
实例讲解3--sed命令c
13.sed删除最后一行sed ‘$d’ filename14.sed替换文本sed ‘s/night/NIGHT/’ filename#将所有night替换为NIGHTsed ‘s/night//’ filename#将night删除15.sed输出到文件,w选项:把第1到2行的内容输出到文件field中,不存在则创建。sed ‘1,2w fie原创 2012-03-30 10:42:25 · 453 阅读 · 0 评论 -
expr命令
命令格式 expr expression expression是由字串以及运算子所组成,每个字串或是运算子之间必须用空白隔开 。下表是运算子的种类及功能,而优先顺序则以先後次序排列,可以利用小括号来改变运算的优先次序。其运算结果则输出至标准输出上。:字串比较。比较的方式是以两字串的第一个字母开始,而以第二个字串的 字母结束。如果相同时,则输出第二个字串的字母个数,如果不同时则传原创 2012-03-29 15:27:03 · 317 阅读 · 0 评论 -
awk命令
awk 是一种程序语言,对于资料的处理具有很强的功能,对于文档里的资料做修改、比较、抽取等处理,awk能够以很短的程序轻易地完成。如果使用C 语言写程序完成上述的操作不方便且很花费时间,所写的程序也会很大。 awk能够依照用户定义的格式来分解输入的资料也可以依照用户定义的格式来打印资料。 awk可用于在对象文件中逐行读取记录,按照命令中定义的匹配模式寻找相关记录,然后对该记录进原创 2012-03-29 15:16:45 · 242 阅读 · 0 评论 -
shell基础知识(3)
数组(在sh中不支持,可以在ksh中使用):${#varlist[@]} 数组元素个数${datalist[index]} 数组元素${#datalist[index]} 数组元素长度执行命令:1) command :直接执行命令command2) sh command:启动一个shell process执行命令command3) . comm原创 2012-03-29 15:08:24 · 287 阅读 · 0 评论 -
shell基础知识(2)--其他参数
其他参数:$CDPATH包含一系列目录名,cd命令对他们逐个进行搜索来查找作为参数传递给它的目录;如果该变量未设置,cd命令搜索当前目录$EDITOR 程序(如e-mail程序)里使用的默认编辑器$ENV UNIX查找配置文件的路径$HOME 用户初次登录时的起始目录名$MAIL 用户的系统邮箱文件的名称$MAILCHECK shell原创 2012-03-29 14:58:51 · 479 阅读 · 0 评论 -
perl安装
perl安装文件可以从网络上免费获取安装过程为: (1)解压: $gunzip perl-5.004.tar.gz $tar xvf perl-5.004.tar.gz (2)配置: $Configure (3)编译: $make $make test $make i原创 2012-03-29 09:50:38 · 249 阅读 · 0 评论