学习shell笔记(day1)

最近公司不是很忙,因此空闲的时候多看了下关于shell的一些东西,因为在linux下进行开发测试的时候,知道些关于shell的东西对自己还是很有帮助的。

关于什么是shell,就是linux的一个壳,负责与用户的交互对话,然后将用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,将最终的结果返回给用户。

而shell脚本就是当命令或者是语句不在命令行执行,而是通过一个程序文件执行的时候,此程序就是一个shell脚本,shell程序很类似于DOS系统下的批处理程序(*.bat),

该用户可以在脚本中敲入一系列的命令或者是命令行语句,这些命令,变量和流程控制语句有机的结合起来,就形成了一个功能强大的shell脚本。

widnows下利用批处理程序bat开发的备份网站以及数据的脚本:

1 @echo off
2 set date=%date:~0,4%-%date:~5,2%-%date:~8,2%
3 mysqldump -uroot -p  -A -B >D:\bak\"%date%".sql
4 rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql
5 del D:\bak\*.sql
6 
7 rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\phpnow\htdocs

范例一:清除/var/log下的messages日志文件的简单命令脚本

 1 ROOT_UID=0
 2 LOG_DIR = "/var/log/"
 3 #要使用root身份的用户来进行
 4 if [ "$UID" -ne "$ROOT_UID" ]
 5 then 
 6    echo "must be the root to run this script!"
 7    exit 1  
 8 fi 
 9 
10 cd $LOG_DIR || {
11     echo "cannot change to this dir!"
12     exit 1
13 }    
14 
15 cat /dev/null > ${LOG_DIR}/messages
16 
17 echo "logs clean up!"

清空日志的三种方法:

1 echo " " >/var/log/a.log
2 >/var/log/a.log
3 cat /dev/null >/var/log/a.log

shell脚本擅长处理纯文本类型的数据,而linux中几乎所有的配置文件,日志文件都是纯文本文件

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。