Linux后台运行命令已经介绍了cron和crontab、at、&以及nohug,还有一些关系到Linux后台运行命令的只是这里也一并介绍一下,以完善Linux后台运行命令这个系列的文章,达到系统学习的目的。
一次提交几个作业
如果希望一次提交几个命令,***能够把它们写入到一个s h e l l脚本文件中,并用n o h u p命令来执行它。
例如,下面的所有命令都用管道符号连接在一起;我们可以把这些命令存入一个文件,并使该文件可执行。
cat /home/accounts/qrt_0499 | /apps/bin/trials.awk | sort | lp
$cat > quarterend
cat /home/accounts/qtr_0499 | /apps/bin/trials.awk | sort | lp
<ctrl-D>
现在让它可执行:
$ chmod 744 quarterend
我们还将该脚本的所有输出都重定向到一个名为q t r. o u t的文件中。
nobup ./quarterend > qtr.out 2>
后台运行作业的:
有时我们必须要对大文件进行大量更改,或执行一些复杂的查找,这些工作***能够在系统负荷较低时执行。
创建一个定时清理日志文件或完成其他特殊工作的脚本,这样只要提交一次,就可以每天晚上运行,而且无需你干预,只要看看相应的脚本日志就可以了。c r o n和其他工具可以使系统管理任务变得更轻松。
*,?,[...],[!...]等
• 匹配文件名中的任何字符串。
• 匹配文件名中的单个字符。
• 匹配文件名中的字母或数字字符。
下面就是这些特殊字符:
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。
当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名。
a、*:使用星号*可以匹配文件名中的任何字符串。就不用多说了,和win下差不多
b、?:使用可以匹配文件名中的任何单个字符。和win差不多
c、[]:使用[ . . . ]可以用来匹配方括号[ ]中的任何字符。可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。
1)列出以i或o开头的文件名:
#ls [io]*
2)列出log.开头、后面跟随一个数字、然后可以是任意字符串的文件名:
#ls log.[0-9]*
3)与例二相反,列出log.开头、后面不跟随一个数字、然后可以是任意字符串的文件名
#ls log.[!0-9]*
4)列出所有以LPS开头、中间可以是任何两个字符,***以1结尾的文件名:
#ls LPS??1
5)列出所有以大写字母开头的文件名:
$ ls [A-Z]*
6)列出所有以小写字母开头的文件名:
$ ls [a-z]*
7)为了列出所有以数字开头的文件名:
$ ls [0-9]*
8)列出所有以. 开头的文件名(隐含文件,例如. p r o f i l e、. r h o s t s、. h i s t o r y等):
$ ls .*
这样就结束了Linux后台运行命令这个系列了。
【编辑推荐】