最近公司不是很忙,因此空闲的时候多看了下关于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中几乎所有的配置文件,日志文件都是纯文本文件
时间: 2024-10-28 12:21:13