
Linux
「已注销」
比较喜欢交流,希望大家关注
展开
-
得到unix系统的时间 并算出前一天的时间
得到unix系统的时间 并算出前一天的时间 YEAR=`date +%Y`DAY=`date +%d`MONTH=`date +%m`DAY=`expr $DAY - 1`if [ $DAY -eq 0 ]; then MONTH=`expr $MONTH - 1` if [ $MONTH -eq 0 ]; then MONTH=12 YEAR=`expr $YEAR ...2010-08-27 10:45:22 · 297 阅读 · 0 评论 -
016shell脚本介绍
一个s h e l l脚本可以包含一个或多个命令。当然可以不必只为了两个命令就编写一个s h e l l脚本,一切由用户自己决定。本章内容有:• 使用s h e l l脚本的原因。• shell脚本基本元素。• shell脚本运行方式。...原创 2010-08-30 08:25:13 · 191 阅读 · 0 评论 -
017条件测试
写脚本时,有时要判断字符串是否相等,可能还要检查文件状态或是数字测试。基于这些测试才能做进一步动作。Te s t命令用于测试字符串,文件状态和数字,也很适合于下一章将提到的i f、t h e n、e l s e条件结构。本章内容有:• 对文件、字符串和数字使用t e s t命令。• 对数字和字符串使用e x p r命令。e x p r命令测试和执行数值输出。使用最后退出状态命令$ ?可测知t e ...原创 2010-08-30 08:26:40 · 121 阅读 · 0 评论 -
018控制流结构
所有功能脚本必须有能力进行判断,也必须有能力基于一定条件处理相关命令。本章讲述这方面的功能,在脚本中创建和应用控制结构。本章内容有:• 退出状态。• while、f o r和until loops循环。• if then else语句。• 脚本中动作。• 菜单。...原创 2010-08-30 08:27:40 · 82 阅读 · 0 评论 -
019shell 函数
本书目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。s h e l l允许将一组命令集或语句形成一个可用块,这些块称为s h e l l函数。本章内容有:• 定义函数。• 在脚本中使用函数。• 在函数文件中使用函数。• 函数举例。函数由两部分组成:函数标题。函数体。标题是函数名。函数体是函数内的命令集合。标题名应该唯一;如果不是,将会混淆结果,因为脚本在查看调...原创 2010-08-30 08:30:24 · 98 阅读 · 0 评论 -
020向脚本传递参数
前面已经讲到如何使用特定变量$ 1 . . $ 9向脚本传递参数。$ #用于统计传递参数的个数。可以创建一个u s a g e语句,需要时可通知用户怎样以适当的调用参数调用脚本或函数。本章内容有:• shift。• getopts。• shift和g e t o p t s例子。...原创 2010-08-30 08:31:58 · 89 阅读 · 0 评论 -
021创建屏幕输出
用户可以使用s h e l l脚本创建交互性的、专业性强的屏幕输出。要实现这一点,系统上需要一个彩色监视器和t p u t命令。本章内容有:• tput命令。• 使用转义序列和产生控制码。• 使用颜色。作者写这本书时,遇到了t p u t命令的三种不同变形。至今为止最好的是GNU tput,如果没有这个版本,首先下载它并安装在你的系统里。t p u t使用文件/ e t c / t e r m i...原创 2010-08-30 08:33:02 · 108 阅读 · 0 评论 -
022创建屏幕输入
屏幕输入或数据输入是接受输入(这里指键盘)并验证其有效的能力。如果有效,接受它,如果无效,放弃该输入。前面讲到了基于一些条件的测试函数,例如字符串长度、字符串是数字或字符型,这一章在脚本中将继续使用这些函数。本章内容有:• 验证有效输入。• 增加、删除、修改和查看记录。• 修改脚本的工作文件。本章开始读起来可能有些累人,因此可以先大概看一下,再慢慢细看。验证有效性的代码量很大,这是因为为捕获所有错...原创 2010-08-30 08:35:25 · 96 阅读 · 0 评论 -
023调试脚本
s h e l l编程最烦人的一项工作是调试问题。有一些方法可以借鉴,但是最好能在问题出现前防止大部分错误,为此应遵循以下规则。将设计脚本分成几个任务或过程,然后在继续下一步前分别予以测试。本章内容有:• 一般错误。• set命令介绍。没有比在脚本中发现一个难以察觉的错误更令人头疼的了,然而,随着编程经验不断丰富,查询手段也相应增加。经常碰到的问题是忘了使用引号或在i f语句末尾未加f i。需要牢...原创 2010-08-30 08:36:10 · 95 阅读 · 0 评论 -
024shell嵌入命令
实际上已经用过了许多s h e l l嵌入命令。可能要想什么是s h e l l嵌入,这些命令是在实际的Bourne shell里创建而不是存在于/ b i n或u s r / b i n目录里。嵌入命令比系统里的相同命令要快。本章内容有:• 标准的Bourne shell嵌入命令列表例如,c d和p w d命令可同时在系统和嵌入命令中发现。如果要运行系统版,简单输入命令路径即可:/ b i n ...原创 2010-08-30 08:37:39 · 96 阅读 · 0 评论 -
025深入讨论双左尖号
我们在介绍标准输入和标准输出以及w h i l e循环的时候已经几次遇到< <的应用。我们学会了如何发送邮件,如何构建一个菜单,不过< <还有很多其他的用法。本章将介绍以下内容:• 快速创建一个文件。• 自动进入菜单。• ftp传输。• 连接至其他应用系统。该命令的一般形式为:command <<wordt e x tw o r d这里再简要回顾一下< &...原创 2010-08-30 08:39:29 · 118 阅读 · 0 评论 -
026shell 工具
本章将讨论以下内容:• 创建以日期命名的文件及临时文件。• 信号。• t r a p命令以及如何捕获信号。• e v a l命令。• l o g g e r命令。原创 2010-08-30 08:40:43 · 187 阅读 · 0 评论 -
027几个脚本例子
本章包含了我最常用的几个脚本。你会发现它们都相当短小而简单。这就是脚本的一个优点;它不是很长、很复杂,只需很短的代码就能够完成相当多的功能,可以节约大量的时间。本章中包含以下内容:• 各种脚本的例子。我本来打算在本章中提供一个通用的数据验证数据库脚本,但是由于它超过了5 0 0行,我觉得编辑肯定不会同意把它收入书中。那个脚本几年前只有几行,后来由于不断增加功能,变成了现在这么长。最后,我选择了如下...原创 2010-08-30 08:41:43 · 108 阅读 · 0 评论 -
028运行级别脚本
如果希望在系统启动时自动运行某些应用程序、服务或脚本,或者在系统重启动时能够正确地关闭这些程序,那么需要创建运行级别脚本。除一种L I N U X变体外,所有的L I N U X版本都含有这种基于系统V的运行级别配置目录,就像其他U N I X版本那样。既然所有的系统都含有这种类型的配置,我们在本章中将会对它加以介绍,但如果你的系统不含有这种目录,也不要紧。还可以通过其他方法在系统启动时自动运行程...原创 2010-08-30 08:42:44 · 101 阅读 · 0 评论 -
029cgi 脚本
现在差不多每个人的P C上都安装了We b服务器,在这样一本关于s h e l l编程的书中似乎很有必要包含一章关于c g i脚本的内容。本章包含以下内容:• 基本c g i脚本。• 使用服务器端内嵌(Server Side Includes,SSI)。• get方法。• post 方法。• 创建交互式脚本。• 能够自动重载We b页面的c g i脚本。运行We b服务器并不一定需要有网络环境,可...原创 2010-08-30 08:44:13 · 84 阅读 · 0 评论 -
030常用shell命令
本附录中列举了一些有用的s h e l l命令。这里并没有完全列出每个命令的各种选项,不过对于理解该命令是足够了。这些命令的其他一些例子散布于本书的各个部分。basenamecatcompressdiffdircmpdirnamedufilefuserheadlognamemkdirmorenlprintfpwdrmrmdir...原创 2010-08-30 08:49:52 · 161 阅读 · 0 评论 -
015引号
上一章介绍了变量和替换操作,在脚本中执行变量替换时最容易犯的一个错误就是由于引用错误。在命令行中引用是很重要的。本章内容有:• 引用的必要性。• 双引、单引和反引号。• 使用反斜线实现屏蔽。...原创 2010-08-30 08:23:42 · 76 阅读 · 0 评论 -
014环境和shell变量
为使s h e l l编程更有效,系统提供了一些s h e l l变量。s h e l l变量可以保存诸如路径名、文件名或者一个数字这样的变量名。s h e l l将其中任何设置都看做文本字符串。有两种变量,本地和环境。严格地说可以有4种,但其余两种是只读的,可以认为是特殊变量,它用于向s h e l l脚本传递参数。本章内容有:• shell变量。• 环境变量。• 变量替换。• 导出变量。• 特...原创 2010-08-30 08:22:44 · 85 阅读 · 0 评论 -
001文件安全与权限
第1章文件安全与权限为了防止未授权用户访问你的文件,可以在文件和目录上设置权限位。还可以设定文件在创建时所具有的缺省权限:这些只是整个系统安全问题中的一小部分。在这里我们并不想对系统安全问题的方方面面进行全面的探讨,只是介绍一下有关文件和目录的安全问题。本章包含以下内容:• 文件和目录的权限。• setuid。• chown和c h g r p。• umask。• 符号链接。创建文件的用户和他...原创 2010-08-27 10:48:59 · 126 阅读 · 0 评论 -
002使用find和xargs
有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、文件类型等等)。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任务,或许只是为了找出一个不知保存在什么地方的文件。F i n d是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。在本章中,我们介绍以下内容:• find命令选项。• 使用f i n d命令不同选项的例子。• ...原创 2010-08-27 10:50:38 · 83 阅读 · 0 评论 -
003后台执行命令
当你在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,你可能希望它能够在每天的非负荷高峰时间段运行。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。在本章中我们将讨论:• 设置c r o n t a b文件,并用它来提交作业。• 使用a t命令来提交作业。• 在后台提交作业。• 使...原创 2010-08-27 10:54:58 · 128 阅读 · 0 评论 -
004文件名置换
当你在使用命令行时,有很多时间都用来查找你所需要的文件。S h e l l提供了一套完整的字符串模式匹配规则,或者称之为元字符,这样你就可以按照所要求的模式来匹配文件。还可以使用字符类型来匹配文件名。在命令行方式下,使用元字符更为快捷,所以在本章我们只介绍这部分内容。在本章我们将讨论:• 匹配文件名中的任何字符串。• 匹配文件名中的单个字符。• 匹配文件名中的字母或数字字符。下面就是这些特殊字符:...原创 2010-08-27 10:56:34 · 121 阅读 · 0 评论 -
005shell输入与输出
在s h e l l脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或者指定一个文件作为输入。对于输出也是一样:如果不指定某个文件作为输出,标准输出总是和终端屏幕相关联。如果所使用命令出现了什么错误,它也会缺省输出到屏幕上,如果不想把这些信息输出到屏幕上,也可以把这些信息指定到一个文件中。大多数使用标准输入的命令都指定一个文件作为标准输入。如果能够从一个文件中读取数据,何必要费...原创 2010-08-27 10:58:04 · 70 阅读 · 0 评论 -
006命令执行顺序
在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。在本章中,我们将讨论:• 命令执行控制。• 命令组合。如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行另一个命令,& &和| |可以完成这样的...原创 2010-08-27 11:05:46 · 102 阅读 · 0 评论 -
007正则表达式介绍
随着对U N I X和L I N U X熟悉程度的不断加深,需要经常接触到正则表达式这个领域。使用s h e l l时,从一个文件中抽取多于一个字符串将会很麻烦。例如,在一个文本中抽取一个词,它的头两个字符是大写的,后面紧跟四个数字。如果不使用某种正则表达式,在s h e l l中将不能实现这个操作。本章内容包括:• 匹配行首与行尾。• 匹配数据集。• 只匹配字母和数字。• 匹配一定范围内的字符串...原创 2010-08-27 11:14:50 · 109 阅读 · 0 评论 -
Linux下邮件的操作
在 linux 中输入 mail, 就进入了收件箱。 直接可以查看到我的邮件的列表。 如果想看某一个具体的邮件,可以直接输入邮件的编号。可以看到以下信息例如 Message 1: From dflin@linux-4yuh.site Sat Aug 28 12:36:01 2010 X-Original-To: dflin Delivered-To: dflin@linux-4...2010-08-28 11:08:19 · 220 阅读 · 0 评论 -
Linux下判断文件夹是否存在如果不存在则创建
linux下要判断文件是否存在如果不存在则创建if [ -d $HOME'/dr'] then mkdir $HOME'/dr' else echo "the directry is exist;" fi 在下是linux编程新手,如果错误还请高手们指教...2010-08-28 14:56:41 · 4704 阅读 · 0 评论 -
008grep 家族
相信g r e p是U N I X和L I N U X中使用最广泛的命令之一。g r e p(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式, g r e p打印包含模式的所有行。g r e p支持基本正则表达式,也支持其扩展集。g r e p有三种变形,即:G r e p:标准g r e p命令,本章大部分篇幅集中讨论此格式。E g r e p:扩展g r e p,支持基本及扩...原创 2010-08-30 08:12:18 · 84 阅读 · 0 评论 -
009AWK 介绍
如果要格式化报文或从一个大的文本文件中抽取数据包,那么a w k可以完成这些任务。它在文本浏览和数据的熟练使用上性能优异。整体来说, a w k是所有s h e l l过滤工具中最难掌握的,不知道为什么,也许是其复杂的语法或含义不明确的错误提示信息。在学习a w k语言过程中,就会慢慢掌握诸如Bailing out 和a w k : c m d . L i n e :等错误信息。可以说a w k是...原创 2010-08-30 08:13:35 · 85 阅读 · 0 评论 -
010sed 用法介绍
s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。s e d可以做些什么呢?别忘了,Vi也是一个文本编辑器。s e d可以随意编辑小或大的文件,有许多s e d命令用来编辑、删除,并允许做这项工作时不在现场。s e d一次性处理所有改变,因而变得很有效,对用户来讲,最重要的是节省了时间。本章内容有:• ...原创 2010-08-30 08:15:38 · 128 阅读 · 0 评论 -
011合并与分割
几年前,我习惯于使用运行在终端的P I C K操作的U N I X集合,我实际使用P I C K应用的大部分时间花费在分类与连接过程中,且使用极其频繁。很幸运我没有成为一个全职的P I C K操作员。有几种工具用来处理文本文件分类、合并和分割操作,本章详细介绍这些工具。本章内容有:• 实用的分类(s o r t)操作。• uniq。• join。• cut。• paste。• split。...原创 2010-08-30 08:17:04 · 110 阅读 · 0 评论 -
012tr 用法
t r用来从标准输入中通过替换或删除操作进行字符转换。t r主要用于删除文件中控制字符或进行字符转换。使用t r时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。t r刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。本章内容有:• 大小写转换。• 去除控制字符。• 删除空行。带有最常用选项的t r命令格式为:t r - c - d - s [ " s t r i...原创 2010-08-30 08:18:40 · 127 阅读 · 0 评论 -
013登录环境
登录系统时,在进入命令提示符前,系统要做两个工作。键入用户名和密码后,系统检查是否为有效用户,为此需查询/ e t c / p a s s w d文件。如果登录名正确并且密码有效,开始下一步过程,即登录环境。本章内容有:• 登录过程。• 文件/ e t c / p a s s w d。• $HOME.profile。• 定制$ H O M E . p r o f i l e。...原创 2010-08-30 08:20:06 · 115 阅读 · 0 评论 -
UE(UltraEdit)使用ftp管理器代开某些Linux文件夹,不显示文件列表
如何设置UltraEdit对Sun8的环境进行配置。 在UE上ftp中有自动刷新文件夹列表的功能,编辑文件的时候直接双击就可以编辑该文件,但在某些linux系统上无法使用。 其实可以这样设置,在高级设置里面,有一个服务器类型选项需要选中【UNIX】,这样当打开目录时,才会正常刷新目录下的文件...2011-01-10 19:08:12 · 593 阅读 · 0 评论