[[PageOutline]] [[TitleIndex(TipAndDoc/console ,format=group)]] = misc = * [http://it.kndb.jp/entry/show/id/2484 scriptやscreentで取ったLinuxログファイルの文字化けを直す方法 - Knowledge Database IT] * colコマンドでバッククォートとラインフィードを取り除く {{{ # col -bx < {変換前ファイル名} > {変換後ファイル名} }}} * http://cubic9.com/Devel/ShellScript/%C0%A9%B8%E6%CA%B8%BB%FA%A4%E4%A5%A8%A5%B9%A5%B1%A1%BC%A5%D7%A5%B7%A1%BC%A5%B1%A5%F3%A5%B9%A4%CE%BD%FC%B5%EE/ Devel/ShellScript/制御文字やエスケープシーケンスの除去 - cubic9.com * http://cubic9.com/Devel/ShellScript/%C0%A9%B8%E6%CA%B8%BB%FA%A4%E4%A5%A8%A5%B9%A5%B1%A1%BC%A5%D7%A5%B7%A1%BC%A5%B1%A5%F3%A5%B9%A4%CE%BD%FC%B5%EE/attach/rm_ctrl_chr.sh * [http://serverfault.com/questions/63705/how-to-pipe-stderr-without-piping-stdout unix - How to pipe stderr without piping stdout - Server Fault] > To do that, use one extra file descriptor to switch stderr and stdout: > {{{ > find /var/log 3>&1 1>&2 2>&3 | tee foo.file > }}} * stdoutをファイルにリダイレクトしつつ、stderrをpipe処理したいときは以下のようにする (bash) * ls -la /var/tmp /var/tmp/hoge 2> stdout 3>&1 1>&2 2>&3 | wc; echo -----; cat stdout {{{ 1 7 45 ----- /var/tmp: total 16 drwxrwxrwt 2 root root 4096 Apr 20 04:42 . drwxr-xr-x 28 root root 4096 May 17 2010 .. }}} * [http://nippondanji.blogspot.com/2011/11/less.html 漢(オトコ)のコンピュータ道: lessでソースコードに色をつける] > 結論から言うと、今日紹介する方法はGNU Source-highlightを使う。 > {{{ > shell> export LESS='-R' > shell> export LESSOPEN='| /usr/share/source-highlight/src-hilite-lesspipe.sh %s' > }}} * [http://doda.b.osdn.me/2013/01/02/%E4%BB%A3%E6%9B%BF%E7%94%BB%E9%9D%A2%E3%83%90%E3%83%83%E3%83%95%E3%82%A1-1/ 代替画面バッファ (Alternate Screen Buffer) 1 | doda's blog] > ==== PuTTY > 設定ダイアログの「端末」-「高度な設定」にある、“Alternate 端末画面への切り替えを無効にする”にチェックを入れます。 * [http://qiita.com/kawaz/items/96af6fa59fdf999b94bd Linux - 既存プロセスの標準出力と標準エラーを奪う - Qiita] * [http://yudoufu.hatenablog.jp/entry/2014/02/06/001440 コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ] * gdbが必要 * https://www.ranvis.com/doc/putty/man/Chapter4.html#config-features-mouse > 4.6.2 Xterm スタイルのマウス通知を無効にする / Disabling xterm-style mouse reporting * マウス通知が有効になっていると、vimでマウスを使用するようになりコピペがかえって面倒になる * ref: [http://unix.stackexchange.com/questions/44513/disabling-mouse-support-in-vim-in-a-gnome-terminal-environment disabling mouse support in `vim` in a `gnome-terminal` environment - Unix & Linux Stack Exchange] * [http://q.hatena.ne.jp/1168874438 sjisで吐かれるログファイルをutf8なコンソールでtail -fする方… - 人力検索はてな] > {{{ > $ tail -f logfile | while read LINE ; do echo $LINE | iconv -f SJIS -t UTF-8 ; done > }}} > {{{ > $ tail -f logfile | nkf -u -S -w > }}} = screen = * [http://www.dekaino.net/screen/ Let's use SCREEN!] * [http://d.hatena.ne.jp/yanma_4/20080330/1206803656 screenで覚えたことメモ - 半無限長キープ] * [http://haginov.blog35.fc2.com/blog-entry-59.html ほえほえ screen] * [http://d.hatena.ne.jp/naoya/20051223/1135351050 GNU screen いろいろまとめ。 - naoyaのはてなダイアリー] * [http://uwi.but.jp/blog/archives/2008/02/screen-cannot-o.html screen: Cannot open your terminal '/dev/pts/0' - please check. - それ] * [http://www.limy.org/program/screen.html screenコマンド一覧] * [http://www.rubyist.net/~rubikitch/computer/screen/ GNU screenを使い倒せ!] * [http://mollifier.hatenablog.com/entry/20080921/1221923733 screenのウィンドウ分割を使いやすくする設定 - mollifier delta blog] * sample of .screenrc -> source:/lab.git/TipAndDoc/.screenrc * http://svn.ac-room.org/flast/browser/rc/.screenrc * written by @Flast_RO * [http://d.hatena.ne.jp/masahi6/20080521/1211361878 Putty設定メモ - masahilog] > 端末 => 高度な設定 => Alternate端末画面への切り替えを無効にするにチェック * [http://d.hatena.ne.jp/Victoreem/20100418/1271597203 puttyとscreenとvimと・・・ (#`Д´)ゴ---!! - Victoreemの日記] == favorite shortcut == * エスケープキーを Ctrl+X(C-x)とする * ウィンドウ変更 * C-x Space / C-x Backspace または C-x n / C-x p(前後) * C-x 0 / C-x 1 ... (番号指定) * Copy mode * C-x Esc (もう一度Escで終了) * ウィンドウ名の変更 * C-x Shift+A (thanks to twitter:ayokura/status/126956273659944960) == screen with script command == * screen と script を同時に「.bash_profile」内に書くことは出来ない * scriptを先に書いた場合、scriptからexitした後でscreenが起動する {{{ /usr/bin/script ~/.script/`date +%y-%m-%d_%H%M%S`.log /usr/bin/screen -d -RR -U }}} * Script started, file is XXXX -> $ exit -> Script done -> new screen... -> [screen is terminating] * screenを先に書いた場合、screenがterminateした後でscriptが起動する {{{ /usr/bin/screen -d -RR -U /usr/bin/script ~/.script/`date +%y-%m-%d_%H%M%S`.log }}} * [screen is terminating] -> Script started, file is XXXX -> $ exit -> Script done == logging to file on screen == * .screenrc に以下のように書く {{{ logfile /home/mitty/.screen/logfile%Y%m%d%c.%n deflog on }}} * logfile ~/.screen~~ の様に相対パスでは不可?(調査中 * パーセントパラメタの詳細が知りたい * 「logfile20090917 2:07.0」の様なファイルが出来る。 * => attachment:screen.c#L2396 {{{ %d -> 2桁 日(01~31) %D -> 3桁 曜日(Sun~Sat) %m -> 2桁 月(01~12) %M -> 3桁 月(Jan~Dec) %y -> 2桁 年 %Y -> 4桁 年 %a -> am / pm %A -> AM / PM %s -> 2桁 秒(00~59) %c -> sprintf(p, zeroflg ? "%02d:%02d" : "%2d:%02d", tm->tm_hour, tm->tm_min); %C -> sprintf(p, zeroflg ? "%02d:%02d" : "%2d:%02d", (tm->tm_hour + 11) % 12 + 1, tm->tm_min); %H -> HostName %n -> win->w_number }}} = daemonize = * [http://d.hatena.ne.jp/is0me/20100106/1262754530 プロセスのバックグラウンド化(nohupとdisown) - Notes.] * [http://ecpplus.net/weblog/nohup-%e3%81%a8-disown/ nohup と disown « 変なヤバいもんログ] * twitter:mittyorz/status/6727002820186112 1. zshでは「$ command &!」が使える 1. bashでは不可 = tmux = * [http://d.hatena.ne.jp/q4a/20101029/1288359658 tmuxでscreenのlogに相当する機能を実現する - 接続法第三式] > シェルの側が tmux を識別してログを取る命令を送り,日付が変わったところで cron が回ってログの保存先を変える. > * ~/.zshrc > {{{ > if [ "${TMUX}" != "" ] ; then > tmux pipe-pane 'cat >> ~/.tmux/`date +%Y-%m-%d`_#S:#I.#P.log' > fi > }}}