1 / 83
文档名称:

高级Bash脚本编程指南.docx

格式:docx   大小:131KB   页数:83页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

高级Bash脚本编程指南.docx

上传人:zxwziyou9 2018/12/5 文件大小:131 KB

下载得到文件列表

高级Bash脚本编程指南.docx

文档介绍

文档介绍:高级Bash脚本编程指南:从一个简单的script出发
成于坚持,败于止步
开始shell脚本编程学习,路途遍布荆棘啊,O(∩_∩)O~,开始吧,这是“高级Bash脚本编程指南”为我们量身打造的“HelloWorld”,其实也不算,因为这个只是我们无比熟悉的命令的堆叠嘛!O(∩_∩)O
清除/var/log下的log文件
[html] view plaincopy
# 清除,当然要使用root身份来运行这个脚本.  
  
cd /var/log  
cat /dev/null > messages  
cat /dev/null > wtmp  
echo "Logs cleaned up."  
像分析helloworld 一样,我们也说下这个shell脚本吧!这根本就没什么稀奇的, 只不过是命令的堆积, 来让从console或者xterm中一个一个的输入命令更方便一些. 好处就是把所有命令都放在一个脚本中,不用每次都敲它们. 这样的话, 这个脚本就成为了一个工具, 对于特定的应用来说,这个脚本就很容易被修改或定制.
其中,第一条#后面带一句话,你该猜到了,没错,这是注释,将来你会经常和他打交道,先见下面吧
cd /var/log 这简单,我天天在用,我就别废话了
cat /dev/null > messages 这个前面简单我也天天用,不过后面是什么,有可能就像“仝”这个字,上下分开,一年级小学生都会,可是这样拼在一起,就不一定了,具体是什么字自己去查哈,这里告诉这条语句的作用是把cat /dev/null 得到的内容保存到messages中,先混个脸熟吧
下一句你该乐了,该学了一招嘛
但是这里我还是决定多花点时间说说这里的这个/dev/null,因为也许你还不知道为什么要保存到messages和wtmp中,而且cat 的为什么是/dev/null
在Linux操作系统中/dev/null和/dev/zero是两个相似却又很特殊的文件,特别是在shell脚本开发和系统运维过程中会经常用这两个文件,因此作为Linux系统工程师,你必须了解这两个文件的区别和用法。
一、/dev/null的用法:
我们可以把/dev/null文件看作”黑洞”,它非常等价于一个只写文件,所有写入/dev/null文件的内容都会丢失,而从/dev/null文件中也读取不到任何内容。然而,也正因为这些特点,在shell脚本开发和命令行维护时,/dev/null文件就可大展身手,显得非常的有用。
1. 禁止标准输出
例如:cat查看$filename文件,其回显信息将为空
[html] view plaincopy
# cat $filename > /dev/null  
2. 禁止标准错误
例如:rm删除文件时,若$badname文件不存在,那么如下的方式则会过滤回显的错误信息
[html] view plaincopy
# rm $badname 2> /dev/null  
3. 禁止标准输出和标准错误的输
例如:cat查看$filename文件
[html] view plaincopy
# cat $filename 2>/dev/null >/dev/null  
# 如果”$filename”不存在,将不会有任何错误信息提示.
# 如果”$filename”存在, 文件的内容不会打印到标准输出.
# 因此上面的代码根本不会输出任何信息.
4. 清除日志文件内容
例如:
[html] view plaincopy
# cat /dev/null > /var/log/wtmp  
# cat /dev/null > /var/log/messages  
# : > /var/log/messages 有同样的效果, 但不会产生新的进程.(因为:是内建的)
这里你还要知道怎么就会清空了wtmp和messages这两个文件呢?因为你cat /dev/null的结果为空啊,然后你又把空内容保存到这两个文件中,不就相当于清空嘛
5. /dev/null的特殊用法,程序打印的日志将不再记录,避免系统空间被不需要的日志所占用
稍微高级一点的,例如:
[html] view plaincopy
# ln -s /dev/null ~/.netscape/cookies  
将该cookie的日志文件链接到/dev/null,那么往该文件中写入的内容都将被抛弃
二、/dev/zero的用法:
/dev/zero和/dev/null一样,也是一个伪文件,但/dev/zero实际上能产生连续不断的null的流(二进制的零流,而不是ASCII型的),写入/dev

最近更新

保健品跨境电商合作合同规范文本 3页

2025年度小型个体户健身中心教练劳动合同范本.. 43页

保温材料质量纠纷调解合同 2页

2025年度家具行业环保材料研发与应用合作协议.. 44页

健康餐厅合伙创业与营养餐服务协议 3页

儿童游乐场承包经营与管理协议 2页

2025年度安全生产管理协议三方责任书及实施方.. 47页

公司财务代理记账服务合作协议范本 2页

2025年度女性怀孕期间离婚协议书参考范本3篇 36页

2025年度天然气加气站安全设施安装及验收合同.. 39页

农业贷款担保合同纠纷起诉状参考 19页

农产品电商平台场交易居间合同 3页

农村扶贫贷款担保三方合作协议 3页

2025年度境外游学夏令营教育资源共享协议3篇 38页

出口贸易合同的国际贸易信用保险与服务合同 3页

2025年度国家重点项目工地食堂食品安全保障协.. 41页

出租车车辆保险雇佣协议 3页

创业担保贷款合同 3页

别墅自建房施工质量监督与验收服务合同 3页

2025年度二零二五岁以上劳动者综合用工服务协.. 131页

办公室装修合同(含室内空气质量检测与治理).. 3页

办公楼物业服务外包及团队培训合同范本 3页

办公设备维护与配件供应合同 3页

化工产品采购合同附属协议规范 3页

北京房产抵押贷款风险补偿协议书 2页

医疗健康产业劳动合同封面 3页

医药用品采购与专业运输合同 3页

南京汽车租赁行业规范合同样本 3页

厂房场地租赁合同安全监管范本 3页

厂房装修及消防设备安装合同模板 3页