学习linux已有一年了,之所以想学习他,主要是因为被日常繁琐、重复且没什么技术含量的工作折磨出来的。举个简单的例子:有一批文件,需要把这些文件拷入和自身文件名相同的文件夹中。在windows下手工去弄,十几个文件的话,还可以,但是要是成百上千个文件的话,手工去弄就太不现实了。所以我就在想,有没有一个工具能够辅助我,进行这样的工作。首先我不是做开发的,所以我需要的是一个既容易上手编写又能实现强大功能的一个东西。恰巧,公司业务需要,部署了几台linux的主机,使得我有机会对linux有了一个较深入的理解,我发现shell这个东西,就是我想要的。
返回到我上一段那个简单的例子,用shell编写就是:
- for i in *.txt; do my_dir=${i%.*}; mkdir -p $my_dir;mv $i $my_dir; done
对于编程有一定基础的人,写出这样的代码并不是很难的事情。省时省力,也可重复使用。当然了,日常的工作通常不会这么简单,不过你可以把它分成几部分,逐个进行自动化,如果是周期性的工作,配合crontab做几个定时任务处理一下就可以了。
阅读(1667) | 评论(0) | 转发(0) |