当前位置: 技术问答>linux和unix
求教一个简单的shell脚本
来源: 互联网 发布时间:2016-07-07
本文导语: 本本装的是双系统 进linux 把 windows/system32 文件夹下所有 创建时间为2009.10.09的文件删除。 明眼人一看就明白 哦 呵呵 是删除病毒的哦 。 这个小脚本怎么写哦 谢谢啦 | 楼上几位的回答有问题 ...
本本装的是双系统
进linux 把 windows/system32 文件夹下所有 创建时间为2009.10.09的文件删除。
明眼人一看就明白 哦 呵呵 是删除病毒的哦 。
这个小脚本怎么写哦 谢谢啦
进linux 把 windows/system32 文件夹下所有 创建时间为2009.10.09的文件删除。
明眼人一看就明白 哦 呵呵 是删除病毒的哦 。
这个小脚本怎么写哦 谢谢啦
|
楼上几位的回答有问题 看完你们就知道为什么了
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
比如: [xxxx@xxxx]$ stat temp.c
引用:
File: 'temp.c'
Size: 66 Blocks: 8 IO Block: 4096 u4e00u822cu6587u4ef6
Device: 807h/2055d Inode: 1191481 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jing) Gid: ( 500/ jing)
Access: 2008-03-12 20:19:45.000000000 0800
Modify: 2008-03-12 20:19:45.000000000 0800
Change: 2008-03-12 20:19:45.000000000 0800
说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态
因此 ls -l列出的时间是修改时间 如果当天系统文件如果有修改的话 也会被删掉
当然你确认这天别的系统文件没有修改的话 你可以按他们说的做
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
比如: [xxxx@xxxx]$ stat temp.c
引用:
File: 'temp.c'
Size: 66 Blocks: 8 IO Block: 4096 u4e00u822cu6587u4ef6
Device: 807h/2055d Inode: 1191481 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jing) Gid: ( 500/ jing)
Access: 2008-03-12 20:19:45.000000000 0800
Modify: 2008-03-12 20:19:45.000000000 0800
Change: 2008-03-12 20:19:45.000000000 0800
说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态
因此 ls -l列出的时间是修改时间 如果当天系统文件如果有修改的话 也会被删掉
当然你确认这天别的系统文件没有修改的话 你可以按他们说的做
|
#cd ./windows/system32/
#ls -lR | grep ^- | grep 10-09
可以列出所有2009.10.09创建的文件。
#ls -lR | grep ^- | grep 10-09
可以列出所有2009.10.09创建的文件。
|
再rm -f
|
恩,对,linux有三种时间,我忽略了
厉害,顶你一个
|
#cd ./windows/system32/
#ll | rm -rf `grep 10-09` —— 注意,是反单引号
|
rm 无效选项 --w
请尝试执行"rm --help"来获取更多信息
|
是的
为什么不根据文件名删呢?难道病毒文件的名字是在动态变化
|
while [ 1 ]
do
for filename in `ls -l /windows/system32/ | grep ^- | grep "Oct 09"`
do
rm -f $filename
done
echo "not found....."
done
执行这个脚本就行了! 测试过了 /windows/system32/ 注意当前目录 改成你那里能寻找出的路径
do
for filename in `ls -l /windows/system32/ | grep ^- | grep "Oct 09"`
do
rm -f $filename
done
echo "not found....."
done
执行这个脚本就行了! 测试过了 /windows/system32/ 注意当前目录 改成你那里能寻找出的路径
|
windows下还是用ghost吧~
安装-备份-使用-还原-安装重要软件-备份-使用-还原-安装重要软件、补丁-备份-使用。。。。死循环下去
还可以导出 备份文件(即备份备份文件,如果你的Ghost都挂了,重装,再安装Ghost,导入备份文件,还原)
安装-备份-使用-还原-安装重要软件-备份-使用-还原-安装重要软件、补丁-备份-使用。。。。死循环下去
还可以导出 备份文件(即备份备份文件,如果你的Ghost都挂了,重装,再安装Ghost,导入备份文件,还原)