command line style: radare
site: http://radare.org/y/
gui hex editor: bless
site: http://home.gna.org/bless/index.html
non-free software: UEX: UltraEdit for Linux
site: http://www.ultraedit.com/products/uex.html
2010年12月29日星期三
2010年11月23日星期二
[转载]Magic SysRq key
关于Magic SysRq key : 这是一组内核可以识别的按键组合,可以让用户执行一些底层的命令而不论系统状态如何。通常使用情况是系统从冻结中恢复,或者在不伤害文件系统的前提下重启计算机。使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开,并且没有在/proc/sys/kernel/sysrq里禁用掉,也就是 cat 这个文件的时候,出来的是 1 (或其他某些非0值)。
下面就来介绍一下几个键的具体作用,其中SysRq指的是右上角的“Print Screen”键。
ALT-SysRq-b 立即重启系统,不卸载分区和同步文件。
ALT-SysRq-o 可能的话,关机。
ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号,可以试图正常结束所有进程。
ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。
[转载]ubuntu 强制解锁apt-get
在Ubuntu 10.10 用sudo apt-get install kmymoney2安装软件kmymoney2时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示
:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”
解决办法如下:1。终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。
2。强制解锁,命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”
解决办法如下:1。终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。
2。强制解锁,命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
2010年11月20日星期六
在terminal 中使用google词典
直接可以在命令行中使用 dict yourword
就可以用google dictionary搜索单词 ^_^
支持英文词组搜索
将以下内容加入到~/.bashrc中即可
#for google dictionary
dict(){
word=
for i in $@
do
word=$word+$i
done
word=`echo -n $word | tail -c +2`
curl -s "http://www.google.com/dictionary?langpair=en|zh-CN&q="${word}"&hl=zh-CN" | html2text -nobs -nometa -utf8 | tail -n +18 | less
}
#end
这个脚本支持简体中文和英文,如果自己要使用别的语言,
修改curl后面的那个url即可
langpair -- 要查询的语言
hl -- 界面的语言
参考:http://ubuntuforums.org/showthread.php?t=1591389
就可以用google dictionary搜索单词 ^_^
支持英文词组搜索
将以下内容加入到~/.bashrc中即可
#for google dictionary
dict(){
word=
for i in $@
do
word=$word+$i
done
word=`echo -n $word | tail -c +2`
curl -s "http://www.google.com/dictionary?langpair=en|zh-CN&q="${word}"&hl=zh-CN" | html2text -nobs -nometa -utf8 | tail -n +18 | less
}
#end
这个脚本支持简体中文和英文,如果自己要使用别的语言,
修改curl后面的那个url即可
langpair -- 要查询的语言
hl -- 界面的语言
参考:http://ubuntuforums.org/showthread.php?t=1591389
2010年11月17日星期三
让 ubuntu terminal 自动编码
BBS上的编码通常为gbk,用terminal直接telnet会产生乱码,这时可以用luit
这个软件包在10.10已经自带了。
luit -encoding gbk telnet bbs.yoursite.org
这个软件包在10.10已经自带了。
luit -encoding gbk telnet bbs.yoursite.org
2010年11月15日星期一
[转载]Ubuntu的apt-get代理设置
升级到Ubuntu10.04后,发现apt-get的代理设置有改变了,在9.10以前使用“http_proxy”环境变量就可以令apt-get使用代理了
export http_proxy=http://127.0.0.1:8000 sudo apt-get update
然后在Ubuntu10.04下就无效了,看来apt-get已经被改成不使用这个环境变量了。
一阵郁闷后,最后我发现在“首选项”->“网络代理”那里,多了个“System-wide”按钮(我用的是英文环境,不知道中文被翻译成怎样,关闭窗口时也会提示你),在这里设置后,apt-get确实可以使用代理了。
但是我依然鄙视这种改进,因为我通常就是偶尔使用代理,更新几个被墙掉的仓库而已(如dropbox和tor),根本不想使用全局代理,本来用终端就能搞定的事,现在切换代理要点N次鼠标,真烦。
所以我研究了一下,发现那个代理设置修改了两个文件,一个是“/etc/environment”,这个是系统的环境变量,里面定义了“http_proxy”等代理环境变量。另一个是“/etc/apt/apt.conf”,这个就是apt的配置,内容如下
Acquire::http::proxy "http://127.0.0.1:8000/"; Acquire::ftp::proxy "ftp://127.0.0.1:8000/"; Acquire::https::proxy "https://127.0.0.1:8000/";
很明显的代理设置代码,我看了下apt-get的手册,发现可以用“-c”选项来指定使用配置文件,也就是复制一份为“~/apt_proxy.conf”,然后“网络代理”那里重置回直接连接,以后使用
sudo apt-get -c ~/apt_proxy.conf update
就可以使用代理了,apt-get也有一个“-o”选项,直接跟apt-get的设置变量,就不用指定配置文件了,比如
sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8000/" update
[转载]在wget中设置代理
http://www.51testing.com/?uid-116228-action-viewspace-itemid-208339
wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。
wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。
wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器。
wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。
方法一:
配置步骤:
1、创建$HOME/.wgetrc文件
2、编辑文件,添加如下内容:
#===========Sample of wgetrc=================
#添加代理服务器
http_proxy =www.yourproxy.cc
#以下几种格式也可以,如果不写端口,缺省为80
#http_proxy =www.yourproxy.cc:8080
#http_proxy =http://www.yourproxy.cc
#http_proxy =http://www.yourproxy.cc:8080/
#===========Sample of wgetrc=================
#添加代理服务器
http_proxy =www.yourproxy.cc
#以下几种格式也可以,如果不写端口,缺省为80
#http_proxy =www.yourproxy.cc:8080
#http_proxy =http://www.yourproxy.cc
#http_proxy =http://www.yourproxy.cc:8080/
#如果不使用代理服务器,此处设置为off
use_proxy = on
#============================================
use_proxy = on
#============================================
3、运行wget
方法二:
安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。
注意:运行wget之前需要将wgetrc中的代理服务器注释掉
配置完毕后运行如下命令:
#runsocks wget -m [http://site1 |ftp://site2]
经测试,可以正常镜像http和ftp站点。
订阅:
博文 (Atom)