阅读(1397) (0)

GNU/Linux 使用Shell Script

2017-07-13 16:52:24 更新

Shell Scripts 说穿了就是把 bash 各种的指令 (command) 包进一个 Scripts 里,并搭配条件判断式、回圈 (loop) 及应付各种状况,更可与排程 (Cron Job) 结合进行周期性的作业。

随着使用的指令及撰写的 Scripts 增加,对电脑的整体观念及熟悉度也会随之提升。这种完全操控电脑的招式就藏在日常生活中,等著大家去发现!这就是为什么冻仁会坚持要学习指令的原因,依赖图形界面是难以得到累积的。以下就让冻仁介绍些 Scripts。

使用 wget 下载指定档案内的连结

原先冻仁都习惯用自己写的 wget-list.sh 来批次下载指定的档案,但后来发现 wget 早就支持指定档案下载的参数 -i 于此跟大家分享。

$ wget -i list.txt

使用 MD5 进行批次验证

相信 MD5 批次验证一功能在 Windows 上有不少的替代方案。但如果能直接在效能极佳的服务器上进行离线作业不是更好?这支简单的 Scripts 是个让冻仁提早下班的压箱宝呢!

建立批次产生验证档 script。 [mirror]

$ cat md5-make.sh
#!/bin/bash
# Filename: md5-make.sh
# Info:    make md5sum fils with list.txt

for X in $(cat list.txt); do

    # 依序使用 md5sum 检查当前目录下所有档案,并将其储存其结果。
    echo "md5sum $X > $X.sum " | bash

done

建立批次验证 script。 [mirror]

$ cat md5-check.sh 
#!/bin/bash
# Filename: md5-check.sh
# Info:    use md5sum check fils with list.txt

for X in $(cat list.txt); do

    # 依序检查当前目录下所有的 .sum。
    echo "md5sum -c $X.sum" | bash

    #  使用背景执行 (&) 是个很好的加速方法,但当档案过大或过多时会导致系统过于忙碌而无法进行其它作业。
    #echo "md5sum -c $X.sum" | bash &

done

观看当前目录之档案。

$ ls
index.htm  index.html  index.php  md5-check.sh  md5-make.sh

将欲验证档写入 list.txt

$ ls index.* > list.txt; cat list.txt
index.htm
index.html
index.php

批次产生 MD5 验证档。

$ ./md5-make.sh

批次进行 MD5 验证并储存纪录,事后就可借由纪录档观看整体的执行结果。

$ ./md5-check.sh | tee md5-result.log
index.htm: OK
index.html: OK
index.php: OK

资料来源