BASH小脚本
1.查找当前目录中所有大于500M的文件,把这些文件名写到一个文本文件中,并统计其个数。
find ./ -size +500M -type f | tee file_list | wc -l
2.在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。
for filename in `find /tmp -type f -name "abc*"|head -n 100` do sed -n '1p' $filename>>new done
3.把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。
grep -xvf a b | tee c | wc –l
4.判断一文件是不是块或字符设备文件,如果是将其拷贝到 /dev 目录下
read -p "input a file:" filename if [ -b $filename -o -c $filename ] then cp $filename /dev/ fi
5.每隔10分钟监控一次,监控/usr下如果大于5G,发邮件给管理员
#!/bin/bash while true do sleep 600 n=$(du -s /usr | cut -f1) if [ $n -gt 5242880 ] then mail -s "greater" filwsyl@gmail.com < ~/filename #将文件filename的内容发送出去。 fi done
6.把某个目录下的文件扩展名改为bat,再以时间为文件名压缩打包存放到某个目录。
#!/bin/bash for file in $(ls $1) do new_file=${file%.*}.bat mv ./$1/$file ./$1/$new_file tmp=$(date +%y) tar cvf ./$tmp.tar ./$1 done
**********************************************
对于一件事情,往往超过我们的想象,自信、坚持,勇往直前!
参与者:Rainbow Gu
地址:南都
***********************************************