Shell
文章平均质量分 87
Augusdi
让时间验证一切,让时间验证我。感谢大家的无私帮助,我愿以同样的态度回馈我热情的朋友,用我们的热忱开创美好未来!
展开
-
csh shell编程入门
TCSH shell不同于其他的shell,因为控制结构更符合程序设计语言的格式.例如TCSH 的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与C语言中的表达式基本相同.一,TCSH shell变量,脚本,参数用户可以在shell中定义变量,为变量赋值以及引用脚本参数.TCSH使用set,@,setenv定义一变量,也可以用相同的转载 2016-10-20 12:44:00 · 9823 阅读 · 0 评论 -
Linux strace、pstack 命令 使用详解
Linux strace、pstack 命令 使用详解strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息。可谓是 linux 下的调试利器,不仅可以用来找程序错误,系统为什么挂死了,命令为什么报错,还可以用来查找哪些程序占用系统资源。命令实例比如,但网站服务器负载过大,网站数量又多,不知是那个网站占用太多资源,这时strace派上用场了。第一转载 2015-04-05 19:43:13 · 9002 阅读 · 0 评论 -
bash 调试
bash是Unix/Linux操作系统最常用的shell之一,它非常灵活,和awk、c++配合起来异常强大 以下使用一个测试脚本来说明使用bash调试的方法test.sh#!/bin/bashecho "----------------begin-----------------"awk '{sum+=1} END{print sum}' test.shMAX=3for ((i =转载 2015-04-05 19:20:26 · 1719 阅读 · 0 评论 -
一次linux的groupadd hang住处理
某日从同事那里要了一台linux服务器,准备来安装timesten。在执行groupadd ttadmin时,命令一直没有响应,卡住了 使用top命令查看系统资源,发现系统处于一个很空间的状态.没有任何异常 Cpu(s): 0.5%us, 0.0%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st top转载 2015-04-05 19:50:15 · 2050 阅读 · 0 评论 -
Linux下多线程查看工具(pstree、ps、pstack)
1. pstreepstree以树结构显示进程$ pstree -p work | grep ad sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) |-{ad_preprocess}(4553)转载 2015-04-05 19:31:33 · 1620 阅读 · 0 评论 -
sh-bash-resh-ksh
sh, resh, ksh, bashPOSIX-compliant (Korn/Bourne-Again) shell and command interpreter Command SYNOPSIS DESCRIPTION Options and Invocation Options bash Options Command Syntax Command Execution Word Expa转载 2015-04-10 15:30:37 · 2991 阅读 · 0 评论 -
cat and tr << <<-
From Wikipedia, the free encyclopediaIn computer science, a here document (here-document, heredoc, hereis, here-string or here-script) is a file literal or input stream literal: it is a section of a s转载 2015-04-10 15:53:36 · 1531 阅读 · 0 评论 -
csh
cshC Shell, a shell (command interpreter) with C-like syntax Command SYNOPSIS DESCRIPTION Options Lexical Structure Commands Jobs Status Reporting File Name Completion Substitutions History Substituti转载 2015-04-10 15:28:35 · 3250 阅读 · 0 评论 -
Shell脚本调试技术
Shell脚本调试技术 本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强“-x”选项的输出信息等。一. 前言shell编程在unix/linux世界中使用得非常广泛,熟转载 2015-04-04 13:56:36 · 1201 阅读 · 0 评论 -
linux shell 逻辑运算符、逻辑表达式详解
linux shell 逻辑运算符、逻辑表达式详解 shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果。 一、逻辑运算符逻辑卷标 表示意思 1.关于档案与目录的侦测逻辑卷标!-f常用!侦测『档案』是否存在 eg: if [ -f filename ]-d常用!侦测『目录』是否存在-b侦测是否为一个『 block 档案』-c侦测是否为一转载 2015-04-03 16:09:00 · 1293 阅读 · 0 评论 -
Shell expr command
expr comamnd expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。 您必须对 Expression 参数应用以下规则: 用空格隔开每个项。 用 / (反斜杠) 放在 shell 特定的字符前面。 对包含空格和其他特殊字符的字符串要用引号括起来。 整数前面可以放一个一元连字符。在内部,整数被当作 32 位,双互补数。 注: exp原创 2015-04-03 10:22:02 · 1280 阅读 · 0 评论 -
linux shell 正则表达式(BREs,EREs,PREs)差异比较
则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“转载 2015-04-03 15:36:56 · 1441 阅读 · 0 评论 -
Linux shell笔记
Linux shell笔记 由于工作的需要,越来越多的接触到linux系统。最近看了《Linux与Unix Shell》这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅。 No.001 文件安全与权限1. umask 决定了新建文件的权限 2. 软链接(符号链接) ln -s source_path target_path No.002 find和xargs1. find转载 2015-04-03 14:26:05 · 1371 阅读 · 0 评论 -
linux shell 字符串操作(长度,查找,替换)详解 BASH
linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值表达式含义${var}变量var的值, 与$var相同 ${var转载 2015-04-03 16:01:35 · 7796 阅读 · 1 评论 -
wget用法
今天学习正则表达式,然后就去网上搜点资料,然后就谷歌“正则表达式 filetype:chm -csdn”,想要点CHM文档,不想在CSDN里面找资源,里面很多东西都要积分,我哪有那么多积分啊,就把所有的关于CSDN的全部去掉了,说来也巧,就搜到一个下载中心了,更巧的是里面有很多其他资源,挺好的,就想全部下载下来,点开一个资源链接,出现了这样一个界面: 还是第一次遇到这种情况, "只允许在Linux转载 2015-03-13 14:59:11 · 2028 阅读 · 0 评论 -
配置你的 csh/tcsh
配置你的 csh/tcsh选择 csh/tcsh和许多刚从 Linux 转到 BSD 的人不同,我并没有装完 BSD 就顺手安装 bash,因为之前除了打命令,我没有用到额外的功能,bash 也好,csh 也罢,在我眼里都是当做 shell 来用。但是渐渐地,我发现 csh 真的挺好用,它小巧、简单、开放,不需要额外依赖。可能有人要拿脚本能力来作对比,比如bash脚本支持函数,csh不支持等。对我转载 2015-01-13 17:25:23 · 13094 阅读 · 1 评论 -
系统HANG住分析工具及方法
如果系统HANG住了,这个时候做一个SYSTEM STATE DUMP,对于分析HANG的原因十分重要。但是很多情况下,系统HANG住了就无法登录,那么如何进行分析呢?METALINK DOC :359536.1提供了一些好的办法,在这里和大家共享: 支持的数据库版本:9.2.0.1-10.2平台(部分是UNIX平台,部分适用于所有平台)1、10G以前,使用DBX,GDB之类的工具:找到一个前转载 2015-04-05 19:48:22 · 3016 阅读 · 0 评论 -
linux shell 时间运算以及时间差计算方法
最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。 时间的加减,以及时间差的计算。 1。 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。 如:1990-01-01 01:01:01 加上 1小时 20分处理方法:a.将基础时间转为时间戳time1=$(date +%s -d '1990-01-01 01:01:01')echo $tim转载 2015-04-26 00:11:51 · 2938 阅读 · 0 评论 -
shell中的wait
cat test1 | uniq > newtest1 & cat test2 | uniq > newtest2 &wait diff newtest1 newtest2为了比较newtest1和newtest2的不同,必须先让以上的两个cat命令成功并执行完成并生成newtest1和newtest2,否则diff的执行将错误。。。而wait就是保证以上命令执行完成之后才执行diff命令..转载 2016-10-20 12:42:26 · 2351 阅读 · 0 评论 -
shell中的wait
wait命令Shell内建命令 wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。 语法wait(参数)参数 进程或作业标示:指定进程号或者作业号。 实例 使用命令wait等待作业号为1的作业完成后再返回,输入如下命令: wait转载 2016-10-20 12:41:42 · 5045 阅读 · 0 评论 -
Csh的使用
在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh. sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh。bash来自于BSD Unix,语法非常类似于C语言,所以通常有C/C++编程背景的开发人员最喜欢使用。ksh是对sh的扩展,且吸收了csh的一些有用的功能,但是由于开始ksh的license是AT&T,转载 2016-10-14 17:38:55 · 10591 阅读 · 0 评论 -
Linux下Shell的计时
data命令式linux下的时间显示命令,不是time命令,time命令是对一个command的计时命令:man date…%m month (01..12)%M minute (00..59)%n a newline%N nanoseconds (000000000..999999999)%p locale’s equivalent of either AM or PM; blank if no原创 2016-08-28 22:43:46 · 13660 阅读 · 0 评论 -
Linux 中的计时
本文描述了Linux系统中一些与计时相关的问题和解决方法。因为在学习和研究的过程中我们经常需要统计程序或程序段的耗时,评估它们的性能好坏。因而这些问题对于我们来说,经常会遇到。掌握多种计时方法对于开发人员或科研工作者来说都是必须掌握的一项技能。本文解决了在Linux计时当中经常会遇到的一些技术问题,相信会对他人的工作有所帮助。实际上,可能还会有其它一些方法可以完成本文讨论的任务。我仅讨论了我所使用转载 2016-08-28 22:35:47 · 6412 阅读 · 0 评论 -
Linux命令之env - 显示当前用户的环境变量
用途说明env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令。下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的变量;env命令显示当前用户的变量;export命令显示当前导出成用户变量的shell变量。每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,转载 2015-08-22 10:45:24 · 5006 阅读 · 0 评论 -
crontab每月最后一天执行
如何设定crontab在每月最后一天执行一种方法:for Linux 0 8 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && (shell script) for other Unix,BSD 0 8 28-31 * * [ `echo \`cal\` | awk '{print $NF}'` -eq 1 ] && (shell script)另一转载 2015-08-22 13:15:16 · 19262 阅读 · 0 评论 -
Linux命令之strings - 打印文件中的可打印字符串
用途说明打印文件中的可打印字符串(print the strings of printable characters in files)。常用来在二进制文件中查找字符串,与grep配合使用。strings命令输出的字符串是至少包含连续4个可打印字符的,这个可以通过参数来修改。 常用方式 使用示例示例一[root@jfht ~]# strings /usr/bin/uptime /lib/l转载 2015-08-22 10:42:40 · 3535 阅读 · 0 评论 -
usleep - 延迟以微秒为单位的时间
用途说明usleep命令用于延迟以微秒为单位的时间(sleep some number of microseconds),实际上达不到这个精度(Probably not accurate on many machines down to the microsecond. Count on precision only to -4 or maybe -5.)。如果系统中没有usleep命令,可转载 2015-08-22 10:39:59 · 12255 阅读 · 0 评论 -
Bash: export - 设置或显示环境变量
用途说明export命令可以用来设置或显示环境变量。在shell中,当一个变量创建时,只会在当前的shell中有 效,之后创建的子进程不会有该变量。而命令export可以将一个shell变量变成环境变量,在随后创建的子进程中也能访问到该环境变量,但是子进程在 修改了环境变量的值之后,父进程并不能知道,因为子进程将复制父进程的环境变量。因此,当shell退出时,那些在该shell中export出原创 2015-08-22 10:24:21 · 6342 阅读 · 0 评论 -
Bash: sleep - 延迟指定时间
用途说明sleep命令常用于在shell脚本中延迟时间。 常用方式注意:以下用法中可以为小数。 格式:sleep 格式:sleep s延迟秒。 格式:sleep m延迟分钟。 格式:sleep h延迟小时。 格式:sleep d延迟天。 使用示例示例一[root@jfht ~]# date; sleep 5; date 2011年 04月 17日 星期日 19:49:23 CST 2011年转载 2015-08-22 10:40:57 · 10760 阅读 · 0 评论 -
shell 脚本之切换用户
用su - 用户 -c 命令格式来执行. 有时候需要切换到root用户做一些操作,如果你的用户没有添加sudo权限,那么在脚本中实现就需要使用expect命令了,具体实现如下:#!/usr/bin/expectspawn su rootexpect "Password:"send "rootpassword\n"interactexpect eofexit Bash代码#!/bin转载 2015-05-13 14:47:57 · 46592 阅读 · 2 评论 -
CShell下的stderr重定向
在C Shell下面不能直接使用 2>&1 将stderr的内容重定向到stdout,需要用下面的方法来实现: ( rm dir >out.txt ) >& err.txt 原因是cshell不能单独重定向stderr,只能重定向标准输出stdout,或>&同时重定向stdout和stderr,故只有先在子shell先将stdout重定向到某处,相当于先把stdout过滤掉。转载 2015-05-04 21:02:13 · 2282 阅读 · 0 评论 -
linux shell 实现 四则运算(整数及浮点) 简单方法
在刚刚学习写shell 批处理时候,进行逻辑运算中,少不了需要进行基础的:四则运算,这里说说在linux shell 里面简单的实现方法。 1.简单方法[chengmo@centos5 ~]$ b=$((5*5+5-3/2)) [chengmo@centos5 ~]$ echo $b29 在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。 2.其它转载 2015-04-26 00:06:04 · 1581 阅读 · 0 评论 -
linux shell 数组建立及使用技巧
linux shell在编程方面比windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与赋值得到转载 2015-04-26 00:04:15 · 1450 阅读 · 0 评论 -
linux shell 动态生成 数组系列 seq使用技巧
如果对linux shell 数组不是很熟悉的话,请看上一篇文章:linux shell 数组建立及使用技巧 ,这篇文章主要讲是动态生成数组系列。方法应该很多,我这里主要以一个求和计算的题目为例进行分析。 题目:请用linux shell 写一段脚本,实现从1..1000中所有偶数的和值。 方法一:通过while 循环得到需要的结果:start=1;total=0;while [ $sta转载 2015-04-26 00:01:42 · 2822 阅读 · 0 评论 -
Linux下链接文件使用RM无法删除的解决办法
[导读] 在进行U-boot开发的时候,遇到一个小问题。网友wanglida79前几天刚遇到过,我当时没有模拟出来,现在自己倒是遇上了。不过我想出了解决的办法,只不过原因不明确,或许使用方法不对,或许有bug。 现象描述:进行 在进行U-boot开发的时候,遇到一个小问题。网友wanglida79前几天刚遇到过,我当时没有模拟出来,现在自己倒是遇上了。不过我想出了解决的办法,只不过原因不明转载 2015-01-30 10:46:36 · 4914 阅读 · 0 评论 -
linux上删除所有的无效文件链接
一应用系统中留下了非常多的无效链接,使用shell脚本删除所有的无效链接for a in `find . -type l`do stat -L $a >/dev/null 2>/dev/null if [ $? -gt 0 ] then rm $a fidonefind . –type l 查询所有链接stat –L 如果链接无效,命令返回1,有转载 2015-01-30 10:42:09 · 8289 阅读 · 1 评论 -
Shell脚本调试技术
Shell脚本调试技术本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强“-x”选项的输出信息等。一. 前言shell编程在unix/linux世界中使用得非常广泛,熟练掌握she转载 2014-12-01 10:39:09 · 1521 阅读 · 0 评论 -
find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
晚上群里有人讨论起find命令,为find命令的-o,-a困扰,相当混乱的感觉,特整理了一下。 首先得要提几点find命令的基本知识点,以此为基础进行find命令解析 一:find的基本模式和默认规则 find的基本模式是 find [path] [express] /*man find最上边的命令格式 */path可以省略,默认是当前目录,express又区分为options(选项)+t转载 2014-10-11 21:51:28 · 2272 阅读 · 0 评论 -
linux shell 字符串操作(长度,查找,替换)详解
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果va转载 2014-11-11 22:40:23 · 1522 阅读 · 0 评论 -
csh简单语法
csh简单语法csh一、变数1. 字串变数这个部分和Bourne Shell的变数一样,只不过在设定变数值时不能使用BourneShell的方式,而必须打:set var=value2. 数字运算基本上C Shell 没有数字变数,但C Shell 却有简单的方法处理数字运算:@ var operator expressionoperator可以是C 语言中的=, +=, -=,……,而expre转载 2014-11-11 13:24:23 · 6597 阅读 · 0 评论