shell
first_wolf
linux
展开
-
shell中函数和库
一 shell执行搜索命令的顺序:(1)顺序(先后):*别名:即使用alias command='...'创建的命令。*关键字*函数*内置命令:如cd,pwd等命令。*外部命令:脚本或可执行程序,在PATH路径中查找。(2)type命令:查看执行的命令的来源是别名、函数或外部命令等。二 函数:(1)函数的定义格式:*function funcname原创 2013-05-26 20:35:44 · 787 阅读 · 0 评论 -
grep
一 概述文本查找:寻找含有特定文本的行。用grep程序查找文本是特别方便的。grep的格式:grep [选项] [模式] [文件...]grep命令由选项、模式和文件三个部分组成,它在一个或多个文件中搜索满足模式的文本行,搜索的结果被打印到屏幕上,不影响原文件的内容。一旦模式中有空格,就需要用单引号或者双引号将模式括起来。传统上,grep、egrep和fgrep都可以用来查原创 2013-03-08 20:48:49 · 766 阅读 · 0 评论 -
sed
一 文本替换sed(string editor):用来以批处理的方式而不是交互的方式来编辑文件。(1)sed应用于以下三种场合:*编辑相对交互式文本编辑器而言太大的文件。*编辑命令太复杂,在交互式文本编辑器中难以输入的情况。*对文件扫描一遍,但需要执行多个编辑函数的情况。(2)sed的运作:命令行上的每个文件名会依次打开与读取。如果没有文件,则使用标准输原创 2013-03-08 20:49:07 · 730 阅读 · 0 评论 -
进程相关(收集进程信息ps、top和pgrep、杀死进程kill)
一 概述:*和进程管理相关的重要命令是:ps、top和pgrep。二 ps:(1)ps是收集进程信息的重要工具。*提供的信息包括:拥有进程的用户、进程的起始时间、进程ID(PID)、进程所属的终端(TTY)、进程使用的内存、进程占用的CPU、进程所对应的命令(CMD)等。(2)常用选项*选项-e、-A和-ax:查看所有的进程信息。*-o:指定想要显示的列。格式:原创 2013-04-16 20:06:27 · 1444 阅读 · 0 评论 -
用cron进行调度
一 概述:(1)cron——daemon to execute scheduled commands.cron使得任务能够以固定的时间间隔在系统后台自动运行。(注意是后台)cron利用一个被称为"cron表"的文件,这个文件存储了需要执行的脚本或命令的调度列表以及执行时间。Notes:cron searches its spool area(/var/spool/cron/cron原创 2013-04-16 20:08:08 · 1068 阅读 · 0 评论 -
正则表达式
一 概述:正则表达式由两个基本组成部分:(1)普通字符:任何没有特殊意义的字符,普通字符都可以按照字面意思理解。如:1,2,3,a,b。(2)特殊字符(元字符metacharacter):如:*,^,$等。Posix标准将正则表达式分为两类:(1)基本的正则表达式(BRE)(2)扩展的正则表达式(ERE)大部分linux应用和工具仅支持基本的正则表达式,不同命令原创 2013-03-08 20:36:52 · 535 阅读 · 0 评论 -
set命令
待续...原创 2013-06-29 18:52:28 · 621 阅读 · 0 评论 -
shell的命令替换形式(反引号和$(命令))
一 shell命令替换的两种形式:(1)反引号:`command`(2)$(command)(3)有区别。原创 2013-06-29 18:04:23 · 935 阅读 · 0 评论 -
awk(三)记录与片段、模式与操作
一 记录与字段:(一)记录:(1)记录分隔符:1.通常默认是换行符,awk运行通过内置变量RS修改。2.传统awk中RS必须是单个字符,gawk扩展:RS可以是正则表达式。(二)字段:(1)字符分隔符:1.默认是单一空格:一个或多个空白字符以及行的开头与结尾的空白,都将被忽略。2.awk允许通过-F选项指定,或内置变量FS指定。3.内置变量FS可以是正则表达式,原创 2013-06-30 15:59:45 · 931 阅读 · 0 评论 -
awk(四)语句
一 连续执行:(1)连续执行:一个语句一行或多个语句用";"分隔的方式,提供一连串语句列表。(2)使用:1.在单行程序中通常使用分号形式。2.文件提供的通常采用一个语句一行的形式。二 条件式执行(与C语言一样):(1)形式:*if(expression) statement*if(expression) statement else statement原创 2013-06-30 16:00:21 · 815 阅读 · 0 评论 -
chmod命令
一 常用功能:(1)修改文件权限:*r:读;*w:写;*x:执行。*r:4;*w:2;*x:1。//用数字表示权限。*u:文件所有者;*g:所有者所在的用户组;*o:其它用户;*a:所有。*+:添加权限;*-:删除权限;*=:设定权限。(2)使用举例:*chmod u+x,g-x,o+w file;*chmod a=rwx file;*chmod u=rwx f原创 2013-08-26 22:10:27 · 686 阅读 · 0 评论 -
awk(一)概述
一 awk程序模型:(一)awk模式与操作:(1)awk 'program' [ file ...]awk读取指定的各个文件(若无则是标准输入),一次读取一条记录(行),再针对每一行,应用程序指定的命令。(2)awk中程序(program)的基本架构为:BEGIN { 起始操作程序代码 }pattern { action }pattern { action }原创 2013-06-30 11:54:04 · 803 阅读 · 0 评论 -
/proc收集信息
一/proc文件系统: (1)proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。提供一个可以从用户空间读取系统参数的接口,可以从中收集大量的系统消息。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。(2)简要介绍其下文件:/proc/cpuinfo cpu信息/pro原创 2013-04-16 20:07:41 · 883 阅读 · 0 评论 -
man命令
man命令原创 2013-02-02 14:57:13 · 462 阅读 · 0 评论 -
shell循环:for循环、while循环、until循环和select循环
一 for循环:(1)功能:*for循环:用于重复整个对象列表,依次执行每一个独立对象的循环内容。对象可以是命令行参数、文件名或是任何可以以列表格式建立的东西。(2)语法:#省略in list则循环遍历整个命令行参数。for name [ in list ]do...done例如:#打印出当前目录下的所有文件。反单引号``,表示执行中间的命令,引用结原创 2013-05-17 19:55:10 · 1203 阅读 · 0 评论 -
linux命令的查找
linux命令的查找原创 2013-11-03 18:58:05 · 956 阅读 · 0 评论 -
linux中时间命令date
待续...原创 2013-11-03 19:30:48 · 834 阅读 · 0 评论 -
shell中变量
一 变量概念:(1)变量分为:本地变量、环境变量和位置参数。本地变量:仅可以在用户当前Shell生命期的脚本中使用的变量,本地变量随着Shell进程的消亡而无效。环境变量:适用于所有由登录进程所产生的子进程。位置参数:用于向Shell脚本传递参数,是只读的。Shell脚本变量是无类型的,bash shell不支持浮点型,只支持整型和字符型。默认情况下,shell脚本变量原创 2013-03-14 21:26:24 · 673 阅读 · 0 评论 -
history命令
history命令原创 2013-11-03 19:03:09 · 1126 阅读 · 0 评论 -
linux中别名:alias和unalias
一 系统定义的别名:*通常情况下,系统中已经定义了一些命令别名,要查看已经定义的命令别名,可以使用alias命令查看。二 用户自定义别名:(1)格式:alias command='...'。*例如:alias aaaa='ps -A'.三 删除别名(unalias):*格式:unalias command。例如:unalias aaaa.原创 2013-05-26 22:25:27 · 898 阅读 · 0 评论 -
shell概述
shell概述原创 2013-02-02 14:56:17 · 424 阅读 · 0 评论 -
awk
一 awk程序模型:(一)awk模式与操作:(1)awk 'program' [ file ...]awk读取指定的各个文件(若无则是标准输入),一次读取一条记录(行),再针对每一行,应用程序指定的命令。(2)awk中程序(program)的基本架构为:BEGIN { 起始操作程序代码 }pattern { action }pattern { action }原创 2013-03-08 20:49:29 · 692 阅读 · 0 评论 -
awk(五)awk函数
一 用户自定义函数:(1)函数定义形式:*function name(arg1,arg2,...,argn) {statement(s)}*函数体内的参数会因此任何同名的全局性变量。*函数体内的return expression语句会终止主体的执行,并将expression的值传给调用点。*函数可以调用自己,实现递归。(2)函数定义的位置:*函数可定义在程序顶层的任何位原创 2013-06-30 16:00:52 · 701 阅读 · 0 评论 -
计算命令执行时间time
一 计算命令执行时间 *time命令:监视程序执行所需要的时间。*times函数:任意进程可以调用times函数获得自己及已终止子进程的时钟时间、用户CPU时间和系统CPU时间。函数原型:clock_t times(struct tms*buf)//若成功返回时钟时间,差错返回-1.struct tms结构包含:用户CPU时间;系统CPU时间;子进程用户CPU时原创 2013-04-16 19:10:19 · 1697 阅读 · 0 评论 -
shift和getopts
一 shift用法:(1)功能:用来处理命令行参数时,一次向左位移一位(更多位)。(2)格式:shift n。默认shift为shift 1:$1的值消失,以$2的旧值来取代$1,依次类推。$#的值也会依次减少。二 getopts:简化选项处理。(1)格式:getopts option_spec variable [arguments]*第一个参数:option_sep原创 2013-05-20 16:29:29 · 914 阅读 · 0 评论 -
shell中的if语句和case语句
一 if语句:(1)语法:if pipeline [pipeline ...]thenstatements-if-true-1[elif pipeline] [pipeline ...]then statements-if-true-2[elsestatements-if-all-else-fails]fi*例如:if grep patter原创 2013-05-17 19:30:33 · 1204 阅读 · 0 评论 -
test命令和[...]
一 退出状态:*每一条命令,不管是内置、Shell函数,还是外部的,当它退出时,都会返回一个小的整数值给引用它的程序,即退出状态。*退出状态为0表示“成功”;其他任何退出状态都为失败。内置变量“#?”包括了Shell最后一次执行的一个程序的退出状态。二 test命令:输出是退出状态。(1)语法:(两种形式,注意空格)*test [ expression ]*[ [原创 2013-05-17 19:07:54 · 773 阅读 · 0 评论 -
收集系统信息(hostname、uname)
一 hostname:显示和设置系统主机的名。(1)选项:*-a:显示主机的别名。*-i:显示指定主机的ID地址。二 uname:print system information。*-a:print all information.*-s:print kernel name.*-v:print the kernel version.三 综合:(1原创 2013-04-16 20:06:59 · 803 阅读 · 0 评论 -
系统日志与日志文件syslog
一 基本概念:(1)/var/log目录:在linux的/var/log目录中,可以找到与各种守护进程和应用程序相关的日志文件。在/var/log中创建和写入日志信息是由syslog日志记录系统管理的。(2)syslog包括三个部分:*syslogd:日志守护进程(及其配置文件/etc/syslog.conf(ubuntu是在rsyslog.conf中,其日志守护进程也是原创 2013-04-16 20:01:44 · 1392 阅读 · 0 评论 -
统计磁盘的使用状况df和du
一 概述:df和du是linux中用于统计磁盘使用情况的重要命令。(1)du:disk usage。(2)df:disk free。二 du(disk usage):(1)用法:1.找出某个文件或多个文件占有的磁盘空间。*du filename1 filename2*du direction //显示子目录占有的磁盘空间,而不显示每个文件占用空间情况原创 2013-04-16 17:59:10 · 1097 阅读 · 0 评论 -
特殊文件:/dev/null与/dev/tty
一 Unix系统提供了两个对shell编程特别有用的特殊文件。1 文件/dev/null:传送到此文件的数据都会被系统丢掉;如果你需要的是命令的退出状态,而非它的输出,此功能会很有用。例如,测试某个文件是否包含某个模式:if grep pattern myfile >/dev/nullthen... 找到模式时else... 找不到模式时fi原创 2013-03-03 20:59:30 · 489 阅读 · 0 评论 -
grep
一 概述: grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。原创 2013-02-20 20:51:33 · 431 阅读 · 0 评论 -
快速查找文件:locate和updatedb、whereis、which
一 locate和update:(1)locate:将文件系统里的所有文件名压缩成数据库,以迅速查找到匹配类shell通配字符模式的文件名,不必实际查找整个庞大的目录结构。这个数据库通常是在半夜通过cron,在具有权限的工作中执行updatedb创建。选项:-d:指定locate数据库文件所在目录。ubuntu下默认在/var/lib/mlocate/mlocate.db。-n:指原创 2013-05-12 16:53:04 · 1266 阅读 · 0 评论 -
分屏查看文本文件:more和less
一 more:(1)特点:*不能向文件头部翻页显示内容。*Enter键:滚动一行。*空格键:滚动一屏。/字符串:向尾部查找特定字符串。(2)选项:*+num:从第num行开始显示。*-num:每一页显示的行数。二 less:比more功能强大。(1)特点:*Enter键:滚动一行。*空格键:滚动一屏。/字符串:向文件尾部查找特原创 2013-05-12 18:43:32 · 1987 阅读 · 0 评论 -
awk(二)awk程序元素
一 空白和注释:(1)注释:awk里的注释以#开始到该行结束。(2)空白:任何地方都可以有空白,也允许任意长度的空白,适时的使用空行与缩进,会增进程序的可读性。二 字符串与字符串表达式:(1)字符串:1.awk里的字符串常量以引号定界,如:"hello world"。2.awk字符串包含零至多个字符,且在字符串的长度上没有限制,视可用内存而定。3.awk提供许多原创 2013-06-30 15:50:01 · 1173 阅读 · 0 评论 -
shell中引用(反斜杠、单引号和双引号)
一 引用:(一)引用(quoting):用来防止Shell将某些你想要的东西解释成不同的意义。(二)三种引用形式:(1)反斜杠转移(\):字符前的反斜杠用来告知Shell该字符即为字面上的意义。(2)单引号:强制Shell将一对单引号之间的所有字符都看作是字面上的意义。*Shell会删除这两个引号,只单独留下被括起来的完整文本内容。*不可以在单引号里再内嵌一个单引号原创 2013-06-29 18:25:25 · 5126 阅读 · 0 评论 -
read和printf
一 read:(一)用途:将信息读入一个或多个shell变量。(二)执行过程:(1)自标准输入读取行(数据)后,通过Shell字段切割的功能(使用$IFS)进行划分。第一个单词赋值给第一个变量,第二个单词赋值第二个变量,依次类推。如果单词多于变量,则剩下的单词,全赋值给第二个变量。read一旦遇到文件结尾,会以失败值退出。(2)使用举例:*$ IFS=: rea原创 2013-06-25 11:13:52 · 1022 阅读 · 0 评论 -
管道与重定向
一 管道与重定向区别:(1)管道:格式:program1 | program2:将program1的标准输出修改为program2的标准输入。"|"的两边都是命令或程序。管道可以使得执行速度比使用临时文件到程序快上十倍。(2)重定向:格式:*program *program > file:将program的标准输出改为file。*program >>原创 2013-04-24 21:17:53 · 1767 阅读 · 0 评论 -
find命令
一 find的用途:*概述:find指令用于在指定目录下查找文件,并可以对查找到的文件执行指定的操作。二 使用指南:(1)列出当前目录及子目录下的所有的文件和文件夹。$ find base_path base_path可以是任何的位置,find会从该位置向下查找。(2)根据文件名或正则表达式匹配搜索。选项-name的参数指定了文件名所必须匹配的字符串,可以使原创 2013-02-28 13:17:44 · 491 阅读 · 0 评论 -
xargs命令
一 xargs的作用(挺有用):(1)xargs能够处理stdin并将其转换为特定命令的命令行参数。(2)xargs可以将单行或多行文本输入格式转换为其他格式。(3)单行命令:一个命令序列,命令之间不要分号,而是使用管道进行连接。xargs是单行命令的重要组件。(4)可以防止“参数溢出”的错误:它可以在标准输入上取得参数列表,再将它以合适的大小组起来(由主机的ARG_MAX值决定)原创 2013-06-03 21:43:07 · 869 阅读 · 0 评论