第4讲 初步尝试编写shell脚本

1.   “ #!/bin/bash”   双引号内是脚本文件的第一句,必须添加的,表示执行程序是bash,  #表示注释

chmod a+x .....设置文件可执行 例子: chmod a+x  hello.sh

chmod命令

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
chmod 777 filename 将该文件设置为任何人可读取

2.直接执行具有“x”权限的脚本
./hello.sh    在文件的当前目录下执行
. /home/work/hello.sh    加上文件的目录 .后面有空格
3.用指定的解释器程序执行脚本文件
bash /home/work/hello.sh
sh /home/work/hello.sh   效果是一样的
source /home/work/hello.sh  source 和.的效果是一样的

4.例子  “每周五17:30清理FTP服务器的公共共享目录”
检查 /var/ftp/pub/目录,将其中所有子目录及文件的详细列表、当时的

时间信息追加保存到/var/log/pubdir.log日志文件中,然后清空该目录。

touch filename 创建一个文件
mkdir  创建一个文件目录,即文件夹   mkdir /home/happy/Music/pop  
rm  filename 删除文件
rm -rf  dir/* 删除该目录下的所有文件和文件夹
cp 复制文件
1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下
cp -rf /home/wwwroot/sinozzz/* /home/wwwroot/sinozzz123

mv 剪切文件   还可以重命名
把/home/wwwroot/sinozzz123/photo/下的文件夹和文件剪切到/home/wwwroot/sinozzz123/abc目录下
mv /home/wwwroot/sinozzz123/photo/* /home/wwwroot/sinozzz123/abc

ls -a 显示所有文件包括隐含文件
ls -l  显示文件的详细信息
ls -h  显示文件大小时增加可读性
ls -R 列出所有子目录下的文件。

脚本文件
#/!bin/bash
date >> /var/bak.log
ls -lhR /var/tmp >> /home/bak.log
rm -rf /var/tem/*

自己修改后的
 #!/bin/bash
BASE_DIR=`pwd`   #反撇号 可执行的命令或命令组合,将输出的结果给变量
DIR=$BASE_DIR/temp
cd $DIR
date >> $BASE_DIR/log/bak.log
ls -lhR >> $BASE_DIR/log/bak.log
rm -rf $BASE_DIR/temp/*
cat $BASE_DIR/log/bak.log
echo "--completed--"  

周期定时执行程序 用crontab命令
crontab -e 执行文字编辑器来设定时程表,内定的文字编辑器是vi,
crontab -r 删除目前的时程表
crontab -l 列出目前的时程表
时程表的格式如下 :
f1 f2 f3 f4 f5 program  

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n小时个时间间隔执行一次,其馀类推

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推

使用实例 crontab -e
30 17 * * 5 /home/happy/temp/bak.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值