![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习_Linux_Shell
独恋逍遥
DS程序员一枚
展开
-
学习_Linux_Shell_使用kill命令停止应用
#!/usr/bin/kshcd `dirname $0`. ./common.libprint_log INFO "stopcgw_sa.sh is being invoken to stop sa."echo "Begin to stop cgw sa." | tee -a ${log_file}typeset pid_tmpfile="sa_pid_$(date原创 2015-03-20 16:09:13 · 380 阅读 · 0 评论 -
Linux_Shell访问数据库并且执行数据库脚本
一、文件名称runsql.sh二、代码如下:#!/usr/bin/kshdb_user_name=${1}db_user_passwd=${2}db_oracle_ip=${3}db_oracle_port=${4}db_oracle_dbname=${5}sql_name=${6}sqltmp_log="22"sqlplus "${db_user_name}原创 2015-01-15 16:57:46 · 823 阅读 · 0 评论 -
Linux_Shell_包含其他文件命令介绍
有时为了Shell代码共享可以提供一个公共的库,引用库文件如下例如:当前目录下有一个pub.inc文件,包含命令如下. ./pub.inc原创 2015-01-15 16:34:49 · 123 阅读 · 0 评论 -
Linux_Shell_md5sum命令介绍
一、md5sumMD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest?Algorithm?5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。在linux或Unix上,md5sum是用来计算和校验原创 2015-01-15 16:24:24 · 419 阅读 · 0 评论 -
Linux_Shell_alias命令介绍
Linux命令alias - 设置命令的别名在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。…用途说明设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh原创 2015-01-16 08:44:29 · 183 阅读 · 0 评论 -
Linux_Shell_chmod命令介绍
变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限可供运用,再搭配拥有者与所属群组管理权限范围。您可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始文件。权限范围的表示法如下:u:User,即文件或目录的拥有者。g:原创 2015-01-15 15:51:17 · 163 阅读 · 0 评论 -
Linux_Shell_tee命令介绍
一、tee 命令用途----显示程序的输出并将其复制到一个文件中。语法-----tee [ -a ] [ -i ] [ File ... ]描述-----tee 命令读取标准输入,然后将程序的输出写到标准输出,并同时将其复制到指定的一个或多个文件。标志-a 将输出添加到 File 的末尾而不是覆盖写入。-i 忽略中断。退出状态命令返回以下退出值:0 标准输入被成原创 2015-01-15 10:05:04 · 538 阅读 · 0 评论 -
Linux_Shell_sed命令示例_03
6.10 n命令 sed使用该命令获取输入文件的下一行,并将其读入到模式缓冲区中,任何sed命令都将应用到匹配行紧接着的下一行上。 sed '/hrwang/{n;s/My/Your/;}' datafile 注:如果需要使用多条命令,或者需要在某个地址范围内嵌套地址,就必须用花括号将命令括起来,每行只写一条命令,或这用分号分割同一行中的多条命令。 6.11 y命原创 2015-01-16 09:50:08 · 154 阅读 · 0 评论 -
Linux_Shell_sed命令介绍_02
3. 命令与选项3.1 sed命令sed命令告诉sed如何处理由地址指定的各输入行,如果没有指定地址则处理所有的输入行。a\在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行c\用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用"\"续行i\在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行d 删除行h 把模式空间里的内容复制原创 2015-01-16 09:30:43 · 149 阅读 · 0 评论 -
Linux_Shell_grep命令介绍_01
一、grep命令grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的作用,希望对大家有所帮助。grep -- print lines matching a pattern (将符合样式的该行列出) 二、语法: grep [options] PATTERN [FILE...] grep用以在file内文中比对相对应的部分,或是当没有指定档案时,由标准输入中去比对。原创 2015-01-15 15:23:23 · 116 阅读 · 0 评论 -
Linux_Shell_tr命令介绍_01_示例
实例:1、将文件file中出现的"abc"替换为"xyz"# cat file | tr "abc" "xyz" > new_file【注意】这里,凡是在file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不是将字符串"abc"替换为字符串"xyz"。2、使用tr命令“统一”字母大小写(小写 --> 大写)# cat f原创 2015-01-15 15:39:23 · 166 阅读 · 0 评论 -
学习_Linux_Shell_检查程序是否运行_主要是过滤字段
#!/usr/bin/kshcd `dirname $0`. ./common.libtypeset -i errcnt=0# satypeset said=$(cat ${cfg_pro} | grep "^SA_NODEID=" | sed -n "s#SA_NODEID=\(.*\)#\1#p" | sed "s#;# #g")for nodeid in $saiddo原创 2015-03-20 10:09:17 · 172 阅读 · 0 评论 -
Linux_Shell_curl访问url
一、使用curl访问一个url得到返回结果curl -i http://${LOCALIP}:${PORT}/bme/checkConnectStatus?conType=${conType} > ${outfile} if [ $? -ne 0 ];then echo "the service 'http://${LOCALIP}:${PORT}/bme/checkConnec原创 2015-02-28 10:43:08 · 1384 阅读 · 0 评论 -
Linux_Shell_shift使用说明_01.
for 循环 在介绍for循环之前,我们要学个非常有用的unix命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求Shell在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在$1后为$2,在$2后面为$3等。在 shift命令执行前变量$1的值在shift命令执行后就不可用了原创 2015-01-23 16:29:44 · 194 阅读 · 0 评论 -
Linux_Shell_调用source命令
1、之前一直想在shell脚本中调用source文件,一直没找到方法,2、前几天,随口问了下同事,茅塞顿开3、下面是调用示例: csh -c "source ${WORK_ROOT}/compile_cshrc;${WORK_ROOT}/src/make_all.sh release=1 -j 6" | tee -a ${log_file} compile_cshrc文原创 2015-01-23 16:08:15 · 937 阅读 · 0 评论 -
Linux_Shell_shift使用说明_02
shift命令还有另外一个重要用途,Bsh定义了9个位置变量,从$1到$9,这并不意味着用户在命令行只能使用9个参数,借助shift命令可以访问多于9个的参数。Shift命令一次移动参数的个数由其所带的参数指定。例如当shell程序处理完前九个命令行参数后,可以使用shift 9命令把$10移到$1。 在熟悉了shift命令后,我们一起看看,Bsh程序中非常有用的for循环语句,这种循环原创 2015-01-23 16:30:19 · 214 阅读 · 0 评论 -
Linux_Shell_wc命令介绍
这个命令的功能也很好记,因为它功能很有限: wc -c filename:显示一个文件的字节数 wc -m filename:显示一个文件的字符数 wc -l filename:显示一个文件的行数 wc -L filename:显示一个文件中的最长行的长度 wc -w filename:显示一个文件的字数[rocrocket@rocrocket programmin原创 2015-01-19 11:21:30 · 242 阅读 · 0 评论 -
Linux_Shell_使用expect完成非交互任务
下面是非交互使用scp命令的示例代码#!/usr/bin/expectset timeout 10spawn scp -r -P 10022 root@10.95.157.186:/usr1/build/ ./expect "Password:"send "root\r"interact将10.95.157.186上的文件下载到本地expect "Passwo原创 2015-01-19 12:39:27 · 204 阅读 · 0 评论 -
Linux_Shell_sed命令示例_01
6.1 p命令 命令p用于显示模式空间的内容。默认情况下,sed把输入行打印在屏幕上,选项-n用于取消默认的打印操作。当选项-n和命令p同时出现时,sed可打印选定的内容。 sed '/my/p' datafile #默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式my,p命令将把该行另外打印一遍。 sed -n '/my/p' dataf原创 2015-01-16 09:45:39 · 196 阅读 · 0 评论 -
Linux_Shell_alias命令介绍
Linux命令alias - 设置命令的别名在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。…用途说明设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见原创 2015-01-15 17:08:37 · 80 阅读 · 0 评论 -
Linux_Shell_tar命令介绍
tar命令详解 格式: tar 选项 文件目录列表功能: 对文件目录进行打包备份选项:-c 建立新的归档文件-r 向归档文件末尾追加文件-x 从归档文件中解出文件-O 将文件解开到标准输出-v 处理过程中输出相关信息-f 对普通文件操作-z 调用gzip来压缩归档文件原创 2015-01-15 16:14:43 · 280 阅读 · 0 评论 -
Linux_Shell_tr命令介绍_01
一、tr命令通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字原创 2015-01-15 15:38:57 · 181 阅读 · 0 评论 -
Linux_Shell_rm命令介绍
二、rm 命令用途:用户可以用rm命令删除不需要的目录及文件。该命令的功能是删除一个目录中的一个或多个文件或目录,他也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,源文件保持不变。语法:rm [选项]... 文件...删除 (unlink) 文件。-f, --force 强制删除。忽略不存在的文件,不提示确认-i 在删除前需要确认-I 在删原创 2015-01-15 10:05:59 · 501 阅读 · 0 评论 -
Linux_Shell基础学习_03
三、循环语句1、for循环格式如下:for 变量 in 列表do操作done注:变量要在循环内部用来指列表当中的对象。列表是在for循环的内部要操作的对象,可以是字符串也可以是文件,如果是文件则为文件名。注:在循环列表中的空格可以表示换行示例:#!/bin/bashtotal=0for((j=1;jdototal=`expr $total原创 2015-01-15 09:15:14 · 154 阅读 · 0 评论 -
Linux_Shell基础学习_04
四、条件语句1、if语句语法:if 表达式1 then操作elif 表达式2 then操作elif 表达式3 then操作......else操作fiLinux里的if的结束标志是将if反过来写成fi;而elif其实是else if的缩写。其中,elif理论上可以无限多个。2、case语句语法如下case 表达式 in值1|值2)原创 2015-01-15 09:16:17 · 152 阅读 · 0 评论 -
Linux_Shell基础学习_02
4、键盘读入变量值格式:read 变量例如:read str read为读入命令,它表示从键盘读入字符串到str5、字符串比较= 比较两个字符串是否相同,相同则为“真”!= 比较两个字符串是否不相同,不同则为“真”-n 比较两个字符串长度是否大于零,若大于零则为“真”-z 比较两个字符串长度是否等于零,若等于零则为“真”注:"["后面和"]"前面及"="的前后都应有原创 2015-01-15 09:14:19 · 161 阅读 · 0 评论 -
Linux_Shell基础学习_01
一、Shell命令行书写规则1、对Shell命令行基本功能的理解有助于编写更好的Shell程序,在执行Shell命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令。例如:ls -l;free;df2、长Shell命令行可以使用反斜杠字符(\)在命令行上扩充。echo "this is \> a test"注:">"符号是自动产生的,而不是输入的。二、S原创 2015-01-14 18:16:33 · 213 阅读 · 0 评论 -
Linux_Shell通配符介绍
一、通配符用于模式匹配,如文件名匹配、路经名搜索、字符串查找等。常用的通配符有*、?和括在方括号[]中的字符序列。用户可以在作为命令参数的文件名中包含这些通配符,构成一个所谓的“模式串”,在执行过程中进行模式匹配。1、 * 代表任何字符串(长度可以不等),例如:“f*”匹配以f打头的任意字符串。但应注意,文件名前的圆点(.)和路经名中的斜线(/)必须显式匹配。例如“*”不能匹配原创 2015-01-13 20:15:44 · 196 阅读 · 0 评论 -
Linux_Shell进入当前目录的方式
一、在写shell脚本时,最好在刚开始得到自己的shell脚本所在的路径,下面是得到路径的方式:1、利用dirname函数dirname命令可以去除掉给定字符串的最后一个斜杠,留下剩下的字符串。主要用来获取文件的路径。示例如下1.1 方法一、#!/usr/bin/kshcur_path_path=$(cd $(dirname $0);pwd)echo ${cur_path原创 2015-01-13 10:48:39 · 330 阅读 · 0 评论 -
Linux_Shell遍历指定文件夹下所有文件
一、脚本功能说明主要是显示输入的路径下所有的文件,采用的是递归方式访问文件夹下所有文件。二、脚本内容说明1、Shell脚本文件名称为showfile.sh2、showfile.sh的内容如下#!/usr/bin/ksh#此函数用于循环输出目录文件 简单改一下也可以做其他用处typeset in_dir=`cd $(dirname ${0});pwd`if [原创 2015-01-13 09:56:10 · 1310 阅读 · 0 评论 -
Linux_Shell_mv命令介绍
一、mv命令:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MS-DOS下的ren 和 move 的组合。语法:mv[选项]源文件或目录 目标文件或目录。说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源原创 2015-01-15 16:29:03 · 495 阅读 · 0 评论 -
Linux_Shell_dos2unix命令介绍
一、最近在学习shell编程,可是在《Linux程序设计》指定的网站上下载了源码,使用的时候却一直出问题。提示:"bash:./here1:/bin/sh^M:损坏的解释器:没有该文件或目录"。之后用vi编辑器打文件,发觉每一行的最后有浅蓝色的字符'^M'才知道了问题所在 其实并没什么奇怪的,出现这种错误的原因是因为Linux和Windows文本文件的行结束标志不同。在Linux文本文件用"原创 2015-01-15 10:45:05 · 277 阅读 · 0 评论 -
Linux_Shell_mkdir命令介绍
一、mkdir 命令用途-----用于创建一个目录语法-----mkdir [选项] dir-name说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。命令中各选项的含义为:- m 对新建目录设置存取权限。也可以用chmod命令设置。- p 可以是一个原创 2015-01-15 10:19:29 · 316 阅读 · 0 评论 -
Linux_Shell_scp示例说明
样例: 1.将本地文件复制到远程服务器 复制文件 scp /home/linux/soft/scp.zip root@www.mydomain.com:/home/linux/others/soft 复制目录 scp -r /home/linux/soft/ root@www.mydomain.com:/home/linux/others/ 第1原创 2015-01-16 16:41:07 · 204 阅读 · 0 评论 -
Linux_Shell_scp命令介绍
一、scp命令介绍 在linux服务器上要实现远程拷贝,必不可少的要用到scp命令,scp使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。 scp命令基本格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-iidentity_file] [-l limit] [-o ssh_option] [-P原创 2015-01-16 16:37:35 · 239 阅读 · 0 评论 -
Linux_Shell_sed命令示例_02
6.4 e选项 -e是编辑命令,用于sed执行多个编辑任务的情况下。在下一行开始编辑前,所有的编辑动作将应用到模式缓冲区中的行上。 sed -e '1,10d' -e 's/My/Your/g' datafile #选项-e用于进行多重编辑。第一重编辑删除第1-3行。第二重编辑将出现的所有My替换为Your。因为是逐行进行这两项编辑(即这两个命令都在模式空间的当前行上执行),原创 2015-01-16 09:47:59 · 187 阅读 · 0 评论 -
Linux_Shell_sed命令介绍_01
1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。原创 2015-01-16 09:26:00 · 191 阅读 · 0 评论 -
Linux_Shell_cp命令介绍
LINUX CP命令详解Posted at 08月 14, 2009 cp (复制档案或目录)[root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[root@linux ~]# cp [options] source1 source2 source3 …. directory参数:-a :相当于 -pdr原创 2015-01-15 15:55:42 · 427 阅读 · 0 评论 -
Linux_Shell_grep命令介绍_02
三、pattern正则表达式主要参数^锚定行的开始 如:'^grep'匹配所有以grep开头的行。$锚定行的结束 如:'grep$'匹配所有以grep结尾的行。.匹配一个非换行符('\n')的字符如:'gr.p'匹配gr后接一个任意字符,然后是p。*匹配零个或多个先前字符 如:' *grep' (注意*前有空格)匹配所有零个或多个空格后紧跟grep的行,需要用egr原创 2015-01-15 15:24:53 · 151 阅读 · 0 评论 -
Linux_Shell_sed命令介绍_03
4.退出状态sed不向grep一样,不管是否找到指定的模式,它的退出状态都是0。只有当命令存在语法错误时,sed的退出状态才不是0。5.正则表达式元字符与grep一样,sed也支持特殊元字符,来进行模式查找、替换。不同的是,sed使用的正则表达式是括在斜杠线"/"之间的模式。如果要把正则表达式分隔符"/"改为另一个字符,比如o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个原创 2015-01-16 09:31:45 · 147 阅读 · 0 评论