分类目录归档:操作系统

Linux清理磁盘cache

Linux下sync命令可以将脏数据flush入磁盘。如果想要将所有的缓存也清除,必须在sync之后执行

清除page cache
echo 1 > /proc/sys/vm/drop_caches

清除 dentries & inodes
echo 2 > /proc/sys/vm/drop_caches

同时清除page cache和dentries以及inodes
echo 3 > /proc/sys/vm/drop_caches

记得必须先执行sync不然脏数据的缓存是不会被清除的。

shellshock强势袭来

shelllock强势袭来,这次漏洞出在俺们最常用的Bash里,而且是从v1到v4潜伏了20多年,基本原理类似SQL注入,BASH会对环境变量值中函数定义后的字符串进行处理:

env X="() { :;} ; cmd" bash -c 'some cmd'

由于本人没有看过Bash的源码,对注入的机制了解不是很深入,根据搜集到的信息:上面的命令将空函数export给环境变量x。 bash内部会将定义成函数的环境变量以一种规范的字符串形式保存,当子bash执行的时候会将这个环境变量作为函数名,对这个函数定义的字符串进行求值,这时候跟在后面的那个命令也被执行了,通过这种方法骇客就可以注入任何他想要的东西。

linux重定向文件追加

在网上看到一篇文章叫linux管道重定向能否追加,其作者的意思其实是linux shell重定向到的文件是否能追加,
比如
date> time.txt
每次运行这个命令time.txt都会被覆盖,作者的意思是想让他追加在time.txt里,不覆盖以前写入的信息。
继续阅读

Linux报时程序 Linux Speak Time

一直想给自己的linux加个自动报时软件,一直都没空,最近好不容易闲下来就研究了一下。本身Linux有个espeak,但是espeak的语言很难听,于是我就去网上找了几个tts引擎。后来发现NeoTTS这家和oddcast不错,语音清晰自然,研究了一下oddcast要找到接口比较麻烦些,而NeoSpeech很简单就是url请求,之后会返回发生的语音文件。
http://www.neospeech.com/GetAudio1.ashx?speaker= &content=
speaker是人物编号,你可以在Demo Now里选择一个人物然后点play用firebug或者抓包软件看他的请求地址,找到speaker的编号。而content就是发声的内容。
有了这个接口我们就可以让电脑发出我们想要的声音了。 继续阅读

从多个文本文件中搜索

最近在公司做ecmall的二次开发,有时候要找一些函数自己一步步去找又很麻烦,手头上也没装什么工具,就想能不能有个搜索器递归的遍历整个源码进行搜索,告诉我哪个源程序中有我要的东西,其实通过find和grep就能够实现这个功能,windows的童鞋们也可以通过安装cygwin来使用。
继续阅读