2009年11月5日木曜日

Dependency Walker

Dependency Walker(ディペンデンシーウォーカー)は、32ビット/64ビット(exe、dll、ocx、sysなど)のWindowsモジュールをスキャンするユーティリティです。全ての依存モジュールの階層的ツリーダイアグラムを表示します。

2009年10月26日月曜日

gdbでテストを行う

1.gdbで入力したコマンドを下記で記録できる
 (gdb) set history filename test-pattern1
 (gdb) set history save on
2.記録したファイルを下記コマンドで起動できる
> gdb a.out -x test-pattern1
3.詳しくは下記を参考に
http://www.fireproject.jp/feature/gdb/advanced/auto-test.html

2009年10月22日木曜日

linux svn server (tested in fedora 11)

svn server setup tutorial in fedora core 9
1. First you should Create a SVN Repository
svnadmin create $REPO_URL/svnrepos

2. Then Create a SVN User
vi $REPO_URL/svnrepos/conf/svnserve.conf

In that file add these three lines below:
anon-access = none
auth-access = write
password-db = passwd

Create a password file:
vi $REPO_URL/svnrepos/conf/passwd

In that file add a line for your user:

# add users in the format : user = password
tony = mypassword

3. Now Import Your Project
(assuming you’ve put your project files in /projects/mytestproj)
svn import /projectsToImport/mytestproj file://$REPO_URL/svnrepos/mytestproj

4. Start the SVN Server as Daemon, Lets Ahead
svnserve -d -r $REPO_URL
^^ -r is used to tell the server to refer to the REPO_URL directly.

now you have a SVN server running with one project named mytestproj.
Try checking it out of the repository:svn co svn://$YOUR_IP/svnrepos/mytestproj

original page
http://codefighters.blogspot.com/2009/02/svn-server-setup-tutorial-in-fedora.html

2009年10月19日月曜日

about gdb(sth hard to remember)

(gdb) display /i $pc
-> display pc register
(gdb) undisplay 1
-> undisplay it.

(gdb)i r //info register
-> display register info
(gdb)i r pc
-> display pc register info

(gdb)disas 0xd0dc53 0xd0dc78
反汇编一段指令。可以带零个、一个或两个参数。第一个参数是反汇编开始地址,第二个参数是反汇编结束地址。

メモリダウンプ
(gdb) dump binary memory /tmp/outputFile.log 0x080483ce 0x08058383

2009年8月24日月曜日

kdesvn and kdiff3



Using GUI diff tool: svn diff -r 457:459 --diff-cmd kdiff3 file-name

2009年8月12日水曜日

pmap プロセスのアドレス空間に関する情報を表示する

ps でPIDを調べ、
pmap pidでそのプロセスのアドレス空間に関する情報を表示する。

2009年8月7日金曜日

ftp のモード

active モード:ftpサーバからクライアントにデータ転送接続を行う。
passiveモード:クライアントからftpサーバにデータ転送接続を行う。

クライアント側のfirewallの設定で、外部から内部へ接続が拒否される場合、passiveモードを利用する。

参考。
1.http://www.atmarkit.co.jp/fnetwork/rensai/troutol05/01.html

2009年8月6日木曜日

ディレクトリ配下全ファイルを小文字に変換する

#!/bin/sh
for filename in $(find $1); do
if [ -f $filename ]; then

# 変更対象のファイル名を画面表示
basename $filename |grep -q '[[:upper:]]' 2> /dev/null && basename $filename

# ファイル名の変更
basename $filename |grep -q '[[:upper:]]' 2> /dev/null \
&& mv -i $filename $(echo $filename | tr 'A-Z' 'a-z')

fi
done

2009年7月29日水曜日

ファイルパスをクリップボードにcopy

下記をcpc.shに記述して、保存する。
#!/bin/bash
echo -n `pwd`\/$1 | xsel -b

"cpc.sh ファイル名" でそのファイルのフルパスをクリップボードにcopyしてくれる。

2009年7月21日火曜日

通常出力とエラー出力を別々に出力する

ls ~root ~ > hoge1.txt 2> hoge2.txt
通常出力はhoge1.txtに出力され、エラーはhoge2.txtに出力される。

エラーを通常出力と同じにする場合
"2>&1"を利用する

linux の background 実行

コマンドラインの一番最後に'&'をつけることによって、バックグランドで実行してくれる。
[root@HouTou java]# tar -cjf j2sdk1.4.2_17.tar.bz2 j2sdk1.4.2_17 &
[1] 5125

実行した後、プロセスを確認できる。
[root@HouTou java]# ps | grep 5125
5125 pts/4 00:00:00 tar

終了したら、下記メッセージが出る。
[1]+ 終了 tar -cjf j2sdk1.4.2_17.tar.bz2 j2sdk1.4.2_17

2009年7月19日日曜日

stardict

StarDict更多词典的安装
http://alexandermail.blog.hexun.com/23159549_d.html

可以在官网找到很多的词典

下载你喜欢的词典后只需把它解压到 ~/.stardict/dic 或 /usr/share/stardict/dic

现在以安装文件名为a.tar.bz2 的词典为例:

tar -xjvf a.tar.bz2
sudo mv a /usr/share/stardict/dic

注意:a.tar.bz2是词典文件,a 是解压出来的词典目录

重新启动stardict,新的词典就会被自动加载了。
安装 WyabdcRealPeopleTTS

如果你的源中有该软件包,直接

sudo apt-get install wyabdcrealpeopletts

没有的话,请到wiki_ubuntu_ftp下载后执行

sudo tar -xvf WyabdcRealPeopleTTS.tar.gz -C /usr/share

安装OtdRealPeopleTTS(确保空闲空间>3G)

下载後手动安装

注意:需下载112.3M,安装後会消耗2.9G空间

解压缩,然後执行

sudo apt-get install python mpg321 #先安装python及mpg321
./INSTALL #安装OtdRealPeopleTTS


发音设置

如果您安装的是 ubuntu/gnome, 那么只要安装真人发音包之後不需要任何设置,stardict 就可以发音了。

如果您确认安装的是 statdict-gtk ,并且安装了 sox , 那么无须任何设置就可以发音了, 不过依然推荐修改下让星际译王用 alsa , 启动stardict後,点击主界面右下角按钮进入设置页面 -> 词典 -> 声音 -> 在启用声音前打钩,并将play改为aplay。 改完後如下图所示

2009年7月10日金曜日

linux shortcut keys

CTRL + A Moves the cursor to the head of a line
CTRL + E Moves the cursor to the end of a line
CTRL + R Search a command from the command history.

CTRL + B Moves the cursor backward one character.
CTRL + F Moves the cursor forward one character.
CTRL + D Logs out of the current session.

CTRL + H Erase one character. Similar to pressing backspace.
CTRL + W Deletes the last word typed in. For example, if you typed 'mv file1 file2' this shortcut would delete file2.
CTRL + U Erases the complete line.

CTRL + P Paste previous line and/or lines.
CTRL + N Paste next line and/or lines.

CTRL + S Stops all output on screen (XOFF).
CTRL + Q Turns all output stopped on screen back on (XON).

CTRL + Z Cancels current operation, moves back a directory and/or takes the current operation and moves it to the background. See bg command for additional information about background.

2009年6月30日火曜日

ubuntu 9 + ssh

sudo apt-get install openssh-server
sudo vi /etc/ssh/sshd_config
PermitRootLogin no ←rootでのログインを禁止
...
IgnoreRhosts yes   ←.rhostsおよびhost.equivファイルでの認証を許可しない
...
RhostsAuthentication no ←パスワードなしでログインできるrhosts認証を禁止
...
RSAAuthentication yes  ←RSA鍵ファイルを利用したユーザー認証を許可
...
RhostsRSAAuthentication yes ←RSA鍵の交換でrhosts認証を許可(noのまま編集なし)
...
PermitEmptyPasswords no  ←パスワードなしでのログインを禁止
...
AllowUsers user  ←SSHでログインできるユーザーを限定
            (例:ユーザー名が"user"の場合)
sudo /etc/init.d/ssh restart

2009年6月20日土曜日

javadoc のインストール


元ネタ
http://www.db.is.kyushu-u.ac.jp/rinkou/javaintro/javadoc.html

ダウンロードと Eclipse での設定

1. http://java.sun.com/javase/ja/6/download.html を使用.このWebページで,「Java SE 6 ドキュメント」のところにある「ダウンロード」をクリック.
2. jdk-6-doc.zip あるいは jdk-6-doc-ja.zip をダウンロード(前者は英語版,後者は日本語版)
3. JDK のインストールディレクトリ (c:\Program Files\Java\jdk1.6.0_11のような名前のはず)の下に解凍.

c:\Program Files\Java\jdk1.6.0_11\docs のようなディレクトリができる.
4. Eclipse で,JAVA_HOME を JDK 1.6.0 に設定

Eclipse で「Window(ウィンドウ)」→「Preferences(設定)」→「Java」→「Installed JREs(インストール済みのJRE)」
5. 「c:\Program Files\Java\jdk1.6.0_11」のように,JDK を設定した行があれば,それをクリック.(なければ,「追加」ボタンをクリックして,c:\Program Files\Java\jdk1.6.0_11を追加する).
6. 「編集」をクリック. JRE の編集ウインドウが開く.
7. JRE の編集ウインドウの中に「...rt.jar」の行があるので,クリック.
8. 「Javadoc ロケーション」をクリック.

「Javadoc ロケーション・パス」に,先ほど解凍したディレクトリの下の ja\api ディレクトリ,つまり, c:\Program Files\Java\jdk1.6.0_11\docs\ja\api を設定(日本語版の場合).

英語版の場合には, c:\Program Files\Java\jdk1.6.0_11\docs\api を設定
9. 「検証」をクリック
10. 「OK」をクリックして,元に戻る.

使ってみよう

Eclipse で,プログラム中の調べたい単語で「SHIFT + F2」 (ファンクションキー2)を押すと,Javadoc が開きます.

但し,上記の設定では,JDK の Javadoc (String とかファイル関係とか)しか出ません.自前で追加した jar の Javadoc などは出ないということです.

2009年6月19日金曜日

enable remote display on your PC:

* * set the follows only once

$ su - root
Passwod:
# svccfg
svc:> select application/x11/x11-server
svc:/application/x11/x11-server> setprop options/tcp_listen = boolean: true
svc:/application/x11/x11-server> listprop options/tcp_listen
options/tcp_listen boolean true
svc:> exit
# logout

- Logout from your desktop, and re-login

* * Add permission to display to your desktop everytime after you restart your PC(I have added the follow setting to ~/.bashrc)

- $ xhost +

2009年6月18日木曜日

2009年6月15日月曜日

リモート操作ソフト

dexpot windows用linuxのように画面切り替えソフト
rdp linuxからwindowsをリモートコントロールするソフト
vnc

2009年6月9日火曜日

ファイル行数をカウントする

hoge1 hoge2 hoge3の行数をカウントしたい場合は下記コマンドは便利
wc -l `ls ho*`

2009年6月8日月曜日

thunderbirdとvimの連携


Thunderbirdの拡張機能で External Editor と いうのがあり、これを使えばgvimなどの外部エディタを使用することができるようになります。プラグインをインストールしたら、エディタまでのパスを記 述して、thunderbirdを再起動します。gvimをエディタとして使用する場合、-fオプションをつけてフォアグラウンドで動かす必要があるので 注意。
HTMLメール設定を必ず無効にすること。
スペルチェックを有効にするには下記設定で
/usr/bin/gvim -f -c "set spell"

文字化けが発生する場合がある。その場合は下記対応
1. iconv.dllをvimのインストールディレクトリにcopy
2. encode_japan.vimをpluginフォルダにcopy

2009年5月27日水曜日

install jdk to ubuntu 9

The following command was all that was required:

sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk

More info can be found here:
http://www.cyberciti.biz/faq/howto-ubuntu-linux-install-configure-jdk-jre/

首先需要安装JDK 6
sudo apt-get install sun-java6-jdk(确定添加了可用源,doc自己下:http://java.sun.com/javase/downloads/)

之后需要设置默认的java程序
sudo update-alternatives --config java
按照提示输入对应的选项,指定为JDK 6

下面设置
sudo gedit /etc/environment

在其中添加如下两行:
CLASSPATH=./usr/lib/jvm/java-6-sun/lib(这个点要加上我可被它搞苦了)
JAVA_HOME=/usr/lib/jvm/java-6-sun
如果其中已经设置了CLASSPATH和JAVA_HOME,则将其修改为上面的形式,按保存退出。

接下来安装Eclipse
sudo apt-get install eclipse

需要注意的是,此时Eclipse并不关心之前设置的update-alternative

所以应该修改Eclipse的配置。首先将 SUN-JDK-6彻底设为系统默认:

sudo update-java-alternatives -s java-6-sun

然后编辑JVM配置文件:
sudo gedit /etc/jvm

在文件顶部添加
/usr/lib/jvm/java-6-sun
(如果没有则自己新建)

sudo gedit /etc/eclipse/java_home

也是在文件顶部添加
/usr/lib/jvm/java-6-sun

之后启动Eclipse,选择Help->About Eclipse SDK,选择Configuration Details,可以看到JDK6的设置已经生效。

2009年5月15日金曜日

set gvim to linux

1.download the newest vim source
http://www.vim.org/download.php#unix

2.configure it like follows
$ ./configure \
--prefix=/usr/local/vim72 \ # install directory
--with-x --enable-gui=gtk2 \ # configure gvim
--with-features=huge

3.set links
# mv /usr/bin/vim /usr/bin/vim61 # backup old link
# ln -s /usr/local/vim72/bin/vim /usr/bin/vim # copy new executable vim

4.copy plugin
copy the follow plugins from
https://vimsetup.googlecode.com/svn/trunk
to
/usr/local/vim72/share/vim/vim72/plugin
taglist.vim
hz_ja.vim
encode_japan.vim

5.copy .vimrc to ~/

2009年5月4日月曜日

2009年4月16日木曜日

vimで重複行を一括削除

vim7.2だと、下記コマンドで一発重複行を削除できる。
:sort u

旧操作(お勧めしない)
操作目的:下記ファイルに存在する重複行を削除
====================================
a
b
a
b
a
c
c
====================================

削除後の想定状態
====================================
a
b
c
====================================

手順
:%s/^\(.*\)\n\(\1\n\)*/\1/
where is the character sequence that represents a return in your file type.


下記の旧手順は複雑すぎるので、お勧めしません。
:%sort
->全ファイルをソートする
qa
:%s/^\(.*\)\n\1/\1/
q
100@a
->となり同士の同じ行を削除する動作を100回繰り返す

100で足りるかについて上記操作を完了した後
:%s/^\(.*\)\n\1/\1/
をもう一度実施し、ヒットしませんでした旨のエラーメッセージ
が出れば、完了、そうでなければもう一度適当回数で下記を実施する
100@a

2009年3月25日水曜日

kde to ubuntu

下記サイトにはかなり詳しく説明されている。
http://iyee.cn/post/turn-ubuntu-into-kde.html

2009年3月23日月曜日

英語の勉強を始める

http://books.google.cn/books?id=zBkMEw5CmsgC&printsec=frontcover&dq=The+Cprogramming+language&lr=lang_en&as_drrb_is=q&as_minm_is=1&as_miny_is=2009&as_maxm_is=12&as_maxy_is=2009&as_brr=0&as_pt=ALLTYPES&source=gbs_summary_r&cad=0#PPP1,M1

とりあえず一番詳しいCからスタート

2009年3月18日水曜日

可変長ログの出し方

ユースケース
DEBUG_LOGでprintfと同じような書き方で利用し、ログを出力する。
int main(void)
{
int tryInt = 305419896; // 4 byte
ENTER;
DEBUG_LOG("yao daoding = %d\n", tryInt);

return 0;
}


1. __VA_ARGS__を利用できない場合、C99をサポートしていないコンパイラ
#ifdef D_DEBUG
#define DEBUG_LOG printf("%s %d %s:", __FILE__, __LINE__, __FUNCTION__),printf
#else
#define DEBUG_LOG(...)
#endif
//DEBUG_LOG(...)で記述するところをわざとDEBUG_LOGとして記述するのはミソ

2. 上記は\nを手動で追加しないと、改行を出力してくれないという欠点が
ある。
要は下記記述で、改行を出力することはできない。
DEBUG_LOG("yao daoding = %d", tryInt);
それを防ぐためにはC99がサポートしているという前提だったら、
以下の対策がある。
#ifdef D_DEBUG
#define WGT_TRY_BY_TOU(fmt, ...) printf("%s %d %s "fmt"\n", __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__)
#else
#define DEBUG_LOG(...)
#endif

3. しかし、上記にも欠点があり、引数は一つしかない場合、コンパイルエラーに
なる。
DEBUG_LOG("daoding");
gcc -E main.cで確認すると、下記とおりに展開されているようである。
printf("%s %d %s ""daoding""\n", "main.c", 77, __FUNCTION__, );
余っている,を削除するために、下記方法は考えられる。
#define ENTER WGT_ENTER_LOG2("%s", "Enter", "")
#define WGT_DEBUG_LOG(...) WGT_ENTER_LOG2(__VA_ARGS__, "")

#define WGT_ENTER_LOG2(fmt, ...) \
{ \
printf("%s %d %s ", __FILE__, __LINE__, __FUNCTION__); \
printf(fmt"%s\n", __VA_ARGS__); \
}

すると下記はそれぞれ正常に展開される。
DEBUG_LOG("daoding");
DEBUG_LOG("yao daoding = %d\n", tryInt);
{ printf("%s %d %s ", "main.c", 76, __FUNCTION__); printf("daoding""%s\n", ""); };
{ printf("%s %d %s ", "main.c", 75, __FUNCTION__); printf("yao daoding = %d""%s\n", tryInt, ""); };

4. 運がよければ、下記も利用できるかも
引数は一つしかない場合、##は直前のあまった,を削除してれる。これはC99にはないので、ご注意を
#ifdef D_DEBUG
#define WGT_TRY_BY_TOU(fmt, ...) printf("%s %d %s "fmt"\n", __FILE__, __LINE__, __FUNCTION__, ## __VA_ARGS__)
#else
#define DEBUG_LOG(...)
#endif

2009年3月16日月曜日

C言語のスタック変数について

下記をredhat9で実行すると、以下のようにメモリに展開されている
ことを確認できる。
int main(void)
{
char tryChar = 'a';
char tryChar2= 'b';
short tryShort= 4660;
int tryInt = 305419896;
int tryInt2 = 0x10abcdef;
return 0;
}

0xbfffd64c : ef <- tryInt2 address
0xbfffd64d : cd
0xbfffd64e : ab
0xbfffd64f : 10
0xbfffd650 : 78 <- tryInt address
0xbfffd651 : 56
0xbfffd652 : 34
0xbfffd653 : 12
0xbfffd654 : 34 <- tryShort address
0xbfffd655 : 12
0xbfffd656 : 62 <- tryChar2 address
0xbfffd657 : 61 <- tryChar address

・先に宣言された変数のアドレスの値は大きい、なので、
スタックに入っていることはわかる。
・0x12345678のはずのintは実際に78563412のようにメモリに
配置している。
・tryChar2をコメントアウトすると、tryCharとtryShortの間に
1バイトのゴミが生成されたことを確認できる。
int main(void)
{
char tryChar = 'a';
// char tryChar2= 'b';
short tryShort= 4660;
int tryInt = 305419896;
int tryInt2 = 0x10abcdef;
return 0;
}

0xbfffd64c : ef <- tryInt2 address
0xbfffd64d : cd
0xbfffd64e : ab
0xbfffd64f : 10
0xbfffd650 : 78 <- tryInt address
0xbfffd651 : 56
0xbfffd652 : 34
0xbfffd653 : 12
0xbfffd654 : 34 <- tryShort address
0xbfffd655 : 12
0xbfffd656 : 01 <- バイトアライメント
0xbfffd657 : 61 <- tryChar address

2009年3月13日金曜日

vimのインストール先

vimを開いて、下記コマンドを実行すると、vimのインストール先が表示される。
:cd $VIMRUNTIME [enter]
ubuntu 8.10の場合、/usr/share/vim/vim71が表示される。

2009年3月12日木曜日

2009年3月6日金曜日

一番簡単のmakefile

main.cというファイルが存在しているという前提で
下記makefileを作成する
==============================================
OBJS = main.o
TARGET ?= main
CFLAGS += -g
CFLAGS += -Wall
CC = gcc

all : $(TARGET)

$(TARGET) : $(OBJS)
$(CC) $(OBJS) -o $(TARGET) $(CFLAGS)

.c.o : $*.c
$(CC) -c $*.c $(CFLAGS)

clean :
rm -f $(OBJS) $(TARGET)

2009年2月17日火曜日

svnサーバ上のファイルリストを表示する

svn list -R svn://172.16.100.26/dev-doc/

svn://172.16.100.26/dev-doc/に保存しているファイルを再帰的に全部表示する。

URLデコード

URLエンコードとURLデコード

URIの規則を定める RFC 3986 では、URIにASCIIの非予約文字以外の文字か'=','&','%','+'を記述する場合、"%XX" (XX=2桁の16進数)に変換することを定めている。

URLデコードのアルゴリズムは文字コードの種類によって異なっている。
下記例の場合、以下のように変換
"2009はチェンジ(change)の年"
2 0 0 9 は チ ェ ン ジ ( c h a n g e ) の 年
Shift_JIS 3230 3039 82cd 8360 8346 8393 8357 2863 6861 6e67 6529 82cc 944e
Shift_JIS URLエンコード 2 0 0 9 %82%cd %83%60 %83F %83%93 %83W %28c h a n g e%29 %82%cc %94N
EUC 3230 3039 a4cf a5c1 a5a7 a5f3 a5b8 2863 6861 6e67 6529 a4ce c7af
EUC URLエンコード 2 0 0 9 %a4%cf %a5%c1 %a5%a7 %a5%f3 %a5%b8 %28c h a n g e%29 %a4%ce %c7%af
UTF-8 3230 3039 e381af e38381 e382a7 e383b3 e382b8 2863 6861 6e67 6529 e381ae e5b9b4
UTF-8 URLエンコード 2 0 0 9 %e3%81%af %e3%83%81 %e3%82%a7 %e3%83%b3 %e3%82%b8 %28c h a n g e%29 %e3%81%ae %e5%b9%b4

エンコードする際は文字コードの前に%をつけ、デコードする際は、%を外す。

2009年2月10日火曜日

vim と cscopeの連携

下記ところにひとつのプロジェクトtargetProjectがあるとします。
/root/usr/loca/targetProject

1.タグファイルcscope.outを生成する
$cd /root/usr/loca/targetProject
$cscope -bR -P /root/usr/loca/targetProject
b:生成後、cscopeを起動しない
R:フォルダの配下のすべてのフォルダを再帰的に探す
P:cscope.outの絶対パス

2.vimの設定ファイルに下記内容を追加
:cs add /root/usr/loca/targetProject/cscope.out /root/usr/loca/targetProject

3.vimを起動し、:cs -helpを入力してください。
:cs f g XXX だと、XXXの定義値は検索してれる
:cs showだと現在つながっているタグデータベース一覧をリストアップする

2009年2月8日日曜日

thinkpadT43 + ubuntuトラックポイントを有効にする方法

下記ファイルを新規生成し、/etc/hal/fdi/policy/mouse-wheel.fdi

以下内容を書き込むだけ。


true
2
6 7
4 5
4 5
true


元ネタは下記です。

http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html

2009年2月6日金曜日

シェルに引数を渡す方法

try.sh
------------------------
#!/bin/bash

HIKISUU=1

echo "$HIKISUU" | ./hoge.sh

------------------------

hoge.sh
------------------------
#!/bin/bash

if [ "$1" = "1" ]
then
echo "OK"
else
echo "NG"
fi
------------------------

$./try.sh
を実行すると

2009年2月5日木曜日

linuxのftpシェル

linuxでシェルでファイルをFTP経由でアップする場合、下記シェルが考えられます。

sarver 192.168.0.1 にuser:guest password:dogcatでhoge.txtをアップする手順
以下二つのファイルを用意する

ftpGo.sh
-------------------------
#!/bin/bash
ftp -n < foobar
#shutdown 下記を有効にすれば、アップした後、自動的にシャットダウンする。
#shutdown now
-------------------------

foobar
-------------------------
open 192.168.0.1
user guest dogcat
bin
prompt
put hoge.txt
quit
-------------------------

下記コマンドで実施する
$chmod 777 ftpGo.sh
$./ftpGo.sh

これでhoge.txtはFTPサーバにアップするはず。

2009年1月21日水曜日

redhatにfont追加

http://www.geocities.jp/code_air_edge/HP/font.html

2009年1月19日月曜日

linuxの設定

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

2009年1月17日土曜日

vim补全

http://www.bsdlover.cn/html/78/t-578.html

2009年1月10日土曜日

整形スクリプト

kill.cの96行から157行のコメントを取り出し、整形するスクリプト

sed -n '96,157p' kill.c | grep "\/\*.*\*\/" | perl -p -e 's/^(\s*\/\*)(.*)(\*\/\s*)/\2
\n/'

amule

以下引用自
http://blog.donews.com/extreme001/archive/2006/05/01/852861.aspx

我用FC4,内核2.6.11.1369
终于解决Linux下安装设置aMule(就是Linux下的电驴客户端),并能成功下载软件了,经验总结如下:

1、安装aMule
我是用Synaptic自动下载的,同时还把很多依赖的软件包给更新了
或者你用apt-get, yum自动安装都行,因为它们都能帮你自动解决依赖问题
推荐用自动安装。
直接安装RPM包的话,如果你的gcc不是4.0.2版本似乎会出错

然后运行/usr/bin/amule,aMule就成功运行啦~

2、设置
安装之后,设置昵称为 [CHN][VeryCD]xxxx,然后服务器设置为:

名称:DonkeyServer No1 地址:62.241.53.2:4242

其他的服务器还有:

名称:华语P2P源动力 地址:61.152.93.254:4661
名称:Razorback 2 地址:195.245.244.243:4661

然后让Firefox支持ed2k:///协议


在 Firefox地址栏中键入:about:config,打开配置页。右键点击配置列表,创建“布尔”项network.protocol- handler.external.ed2k,值为 true,然后在创建一个“字符串”项network.protocol-handler.app.ed2k,值为 /usr/bin/ed2k.amule。这样就可以了。

这样,当点出ed2k://的链接里就会把地址加入相应软件了(此时aMule要打开)

推而广之,也应该可以用来注册其他协议