lsof /media/cdrom
みたいに
プロセスが使用中のファイルも見れる
参考リンク
http://d.hatena.ne.jp/hogem/20070223/1172221315
2008年7月30日水曜日
2008年7月27日日曜日
2008年7月26日土曜日
2008年7月20日日曜日
puttyで起動時の引数を指定してすぐにコンソールを開く
-load オプションを起動時の引数に与えてやればいいと思います。
詳しくはこちらの 3.8.1 Starting a session from the command line
を見てもらえれば分かると思います。
参考サイト
http://p0t.jp/archives/2006/09/1.html
詳しくはこちらの 3.8.1 Starting a session from the command line
を見てもらえれば分かると思います。
参考サイト
http://p0t.jp/archives/2006/09/1.html
2008年7月19日土曜日
2008年7月12日土曜日
zshを使おうか
まずzshの強力な補完機能を有効にする
そんでキーバインドをvi風にする
あとプロンプトを変えておく
テトリスもできるらしい
Control-T を押せばゲーム開始。zsh最強。
autoload -U compinit
compinit
そんでキーバインドをvi風にする
bindkey -v
あとプロンプトを変えておく
PROMPT="%/%%"
テトリスもできるらしい
zsh
autoload -U tetris
zle -N tetris
bindkey '^T' tetris
Control-T を押せばゲーム開始。zsh最強。
2008年7月10日木曜日
2008年7月6日日曜日
perlの出力、入力関係
STDIN 標準入力:キーボードからの入力。
STDOUT 標準出力:ディスプレー (コンソール)。
STDERR 標準エラー出力:ディスプレー (コンソール)。
だそうですよ
print STDERR "Erorr";
でエラー出力されるぽい
WindowsでもUNIXでもエラー出力をリダイレクトする際は
route 2> route.txt
みたいに2をつければおk
STDOUT 標準出力:ディスプレー (コンソール)。
STDERR 標準エラー出力:ディスプレー (コンソール)。
だそうですよ
print STDERR "Erorr";
でエラー出力されるぽい
WindowsでもUNIXでもエラー出力をリダイレクトする際は
route 2> route.txt
みたいに2をつければおk
2008年7月5日土曜日
@wikiのデータバックアップをperlで自動化してみる
まず、ブラウザから保存までの過程を行い、パケットをキャプチャします。
今回、対象とするサイトはこちらです。キャプチャはWiresharkなどでも良いですが、今回はTCPのフローまで見る必要はありません。HTTPのリクエストヘッダさえ分かれば大丈夫なので、Live HTTP Headersなどで見たほうが便利です。(このソフトを使えばHTTPリクエストをGUI上で自由に変更できます。どのヘッダが必要か不要かも分かるので便利です)で、キャプチャしたものが以下のものです↓
Content-Length以下にはwikiidとpassというパスワードを送っています。submitのURLエンコードは「ダウンロード」という文字列を表しています。
ちなみにwikiidの項とpassの項とCookieは適当です。
次にLive HTTP Headersのリプレイ機能を使って必要なヘッダが何かを判断します。まずCookieが必須かどうかを調べる必要があります。なぜならCookieが必要だった場合はCookie取得の処理が追加されるからです。いらなそうなヘッダを削除→リプレイで目的の結果になるかを確認 を繰り返してください。で、調べた結果、不要だということが分かりました。つまりPerlスクリプトではCookieヘッダは発行しません。ちなみにこの鯖はContent-Typeを指定しないとトップに戻されるようです。
-------------- wiki_back.pl ----------------------------------
#!/usr/bin/perl
use Net::HTTP;
### Initial Setting ###########################
$server ="www34.atwiki.jp";
###############################################
$header{'Host'} = "$server";
$header{'User-Agent'} = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008052906 Firefox/3.0';
$header{'Accept'} = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header{'Accept-Language'} = 'ja,en-us;q=0.7,en;q=0.3';
$header{'Accept-Encoding'} = 'gzip,deflate';
$header{'Referer'} = 'http://www34.atwiki.jp/_mng/backup2.php';
$header{'Content-Type'} = 'application/x-www-form-urlencoded';
$content = 'wikiid=***********&pass=*******&submit=%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89';
$s = Net::HTTP->new(Host => "$server") || die $@;
$s->max_line_length(0);
$s->keep_alive(300);
$s->write_request( POST => '/_mng/backup.php' , %header , $content );
($code, $mess, %h) = $s->read_response_headers;
unless($code eq "200"){
die "erorr!!";
}
open (FH,">back.zip") or die $!;
binmode FH;
while (1) {
my $buf;
my $n = $s->read_entity_body($buf, 1024);
die "read failed: $!" unless defined $n;
last unless $n;
print FH $buf;
}
close FH;
print "\n$code $mess\n";
foreach $key(keys %h){
print $key," ";
print $h{$key},"\n";
}
-------------- wiki_back.pl ----------------------------------
※注意
Windows環境下ではファイルをopenした後に必ずファイルをバイナリモードにして下さい。
バイナリモードの指定は
binmode FH;
と引数にファイルハンドルを指定します。これを行わないと0D(CR)の後に0A(LF)が追加されてしまいます。
UNIX環境下ではこの指定は不要です。
ちなみに鯖からのレスポンスヘッダ内でContent-dispositionというヘッダがあります。このスクリプト内ではback.zipという名前でファイルを作成していますが、普通ブラウザではこの項を見てファイル名を決定します。↓はhoge.zipの例
Content-disposition attachment; filename=hoge.zip
今回、対象とするサイトはこちらです。キャプチャはWiresharkなどでも良いですが、今回はTCPのフローまで見る必要はありません。HTTPのリクエストヘッダさえ分かれば大丈夫なので、Live HTTP Headersなどで見たほうが便利です。(このソフトを使えばHTTPリクエストをGUI上で自由に変更できます。どのヘッダが必要か不要かも分かるので便利です)で、キャプチャしたものが以下のものです↓
Content-Length以下にはwikiidとpassというパスワードを送っています。submitのURLエンコードは「ダウンロード」という文字列を表しています。
ちなみにwikiidの項とpassの項とCookieは適当です。
POST /_mng/backup.php HTTP/1.1
Host: www34.atwiki.jp
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008052906 Firefox/3.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www34.atwiki.jp/_mng/backup2.php
Cookie: PHPSESSID=5684723debae48752efea5555565acdd
Content-Type: application/x-www-form-urlencoded
Content-Length: 93
wikiid=***********&pass=*******&submit=%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89
次にLive HTTP Headersのリプレイ機能を使って必要なヘッダが何かを判断します。まずCookieが必須かどうかを調べる必要があります。なぜならCookieが必要だった場合はCookie取得の処理が追加されるからです。いらなそうなヘッダを削除→リプレイで目的の結果になるかを確認 を繰り返してください。で、調べた結果、不要だということが分かりました。つまりPerlスクリプトではCookieヘッダは発行しません。ちなみにこの鯖はContent-Typeを指定しないとトップに戻されるようです。
-------------- wiki_back.pl ----------------------------------
#!/usr/bin/perl
use Net::HTTP;
### Initial Setting ###########################
$server ="www34.atwiki.jp";
###############################################
$header{'Host'} = "$server";
$header{'User-Agent'} = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008052906 Firefox/3.0';
$header{'Accept'} = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header{'Accept-Language'} = 'ja,en-us;q=0.7,en;q=0.3';
$header{'Accept-Encoding'} = 'gzip,deflate';
$header{'Referer'} = 'http://www34.atwiki.jp/_mng/backup2.php';
$header{'Content-Type'} = 'application/x-www-form-urlencoded';
$content = 'wikiid=***********&pass=*******&submit=%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89';
$s = Net::HTTP->new(Host => "$server") || die $@;
$s->max_line_length(0);
$s->keep_alive(300);
$s->write_request( POST => '/_mng/backup.php' , %header , $content );
($code, $mess, %h) = $s->read_response_headers;
unless($code eq "200"){
die "erorr!!";
}
open (FH,">back.zip") or die $!;
binmode FH;
while (1) {
my $buf;
my $n = $s->read_entity_body($buf, 1024);
die "read failed: $!" unless defined $n;
last unless $n;
print FH $buf;
}
close FH;
print "\n$code $mess\n";
foreach $key(keys %h){
print $key," ";
print $h{$key},"\n";
}
-------------- wiki_back.pl ----------------------------------
※注意
Windows環境下ではファイルをopenした後に必ずファイルをバイナリモードにして下さい。
バイナリモードの指定は
binmode FH;
と引数にファイルハンドルを指定します。これを行わないと0D(CR)の後に0A(LF)が追加されてしまいます。
UNIX環境下ではこの指定は不要です。
ちなみに鯖からのレスポンスヘッダ内でContent-dispositionというヘッダがあります。このスクリプト内ではback.zipという名前でファイルを作成していますが、普通ブラウザではこの項を見てファイル名を決定します。↓はhoge.zipの例
Content-disposition attachment; filename=hoge.zip
2008年7月4日金曜日
vimだとCtrl+Hでバックスペースが入るお
:h i_^Hで確認してみよう
bashのキーバインドをviにしている人も試してみてください
あと
追記:なんか世間一般的にそうなってるみたいです。なにもvimに限った事ではないのかも
Ctrl+M・・・Enter
Ctrl+H・・・BackSpace
Ctrl+I・・・Tab
bashのキーバインドをviにしている人も試してみてください
あと
追記:なんか世間一般的にそうなってるみたいです。なにもvimに限った事ではないのかも
Ctrl+M・・・Enter
Ctrl+H・・・BackSpace
Ctrl+I・・・Tab
必要ないモジュールをアンロードしてみてはいかが?
必要ないモジュールはアンロードしておくのが吉ですよ
たとえばUSBのohci_hcdはなぜだかwakeupを繰り返しカーネルのログに吐き出し
やたらリソースを食っていました。
/etc/modprobe.d/blacklistに以下を追加しました。
blacklist trident
blacklist ac97_codec
blacklist joydev
blacklist gameport
blacklist ohci_hcd
blacklist usbcore
blacklist ide_cd
blacklist cdrom
blacklist pcspkr
blacklist psmouse
blacklist parport_pc
blacklist parport
blacklist snd_ali5451
blacklist snd_ac97_codec
blacklist snd_ac97_bus
blacklist snd_pcm
blacklist snd_timer
blacklist snd
blacklist soundcore
blacklist snd_page_alloc
※注意
参考サイトに書いてあったのですが書いただけではなく
update-initramfs -u
コマンドでロードイメージを更新する必要があるようです
モジュールのロード、アンロードについては前回書きました。
参考
Debianインストール覚え書き
たとえばUSBのohci_hcdはなぜだかwakeupを繰り返しカーネルのログに吐き出し
やたらリソースを食っていました。
/etc/modprobe.d/blacklistに以下を追加しました。
blacklist trident
blacklist ac97_codec
blacklist joydev
blacklist gameport
blacklist ohci_hcd
blacklist usbcore
blacklist ide_cd
blacklist cdrom
blacklist pcspkr
blacklist psmouse
blacklist parport_pc
blacklist parport
blacklist snd_ali5451
blacklist snd_ac97_codec
blacklist snd_ac97_bus
blacklist snd_pcm
blacklist snd_timer
blacklist snd
blacklist soundcore
blacklist snd_page_alloc
※注意
参考サイトに書いてあったのですが書いただけではなく
update-initramfs -u
コマンドでロードイメージを更新する必要があるようです
モジュールのロード、アンロードについては前回書きました。
参考
Debianインストール覚え書き
2008年7月3日木曜日
WindowsXPでファイル共有するとき詳細にアクセスコントロールするには
WindowsXP Professional限定ですけど
フォルダオプションから次のチェックを外すといけるはずです
参考
http://pcsupport.happy-ritaiya.net/2007/10/windowsxp_prolan.php
フォルダオプションから次のチェックを外すといけるはずです
参考
http://pcsupport.happy-ritaiya.net/2007/10/windowsxp_prolan.php
Firefox3にむけて入れる拡張おさらい
Last Change:2008/06/28 20:43:08.
前回も書いたけど付け足した拡張とかあるのでまたまとめ
(*はFirefox3対応済み)
Dictionary Search*
Cache Viewer*
Fast Video Download
Go Up*
Scrap Book*
Switch Proxy Tool
Web Developer* 日本語版
テキストリンク*
ニコニコ動画ダウンローダ
refspoof
User Agent Switcher*
Live HTTP Headers* 使い方
ViewSourceWith*
Fasterfox
QuickProxy*
Multiproxy Switch*
---暫定---
Fast Dial* 紹介
Video DownloadHelper*
Download Embedded 0.5
Embedded Objects 1.1
New Live Wall
前回も書いたけど付け足した拡張とかあるのでまたまとめ
(*はFirefox3対応済み)
Dictionary Search*
Cache Viewer*
Fast Video Download
Go Up*
Scrap Book*
Switch Proxy Tool
Web Developer* 日本語版
テキストリンク*
ニコニコ動画ダウンローダ
refspoof
User Agent Switcher*
Live HTTP Headers* 使い方
ViewSourceWith*
Fasterfox
QuickProxy*
Multiproxy Switch*
---暫定---
Fast Dial* 紹介
Video DownloadHelper*
Download Embedded 0.5
Embedded Objects 1.1
New Live Wall
登録:
投稿 (Atom)