Tool

vi

:w ファイルの1〜2行目を別ファイルに保存したい場合
:1,2w newfile.txt
-r指定したファイルを修復する
:r FILENAMEカーソル位置にファイル FILENAME を挿入
:e FILENAMEファイル FILENAME を新たに読み込む
:e# もう一方のファイルを編集
vi aa.txt bb.txt:n(:next) , :N(:previous) で編集切替え
Iカーソル行の行頭に入力
Aカーソル行の行末に入力
rカーソル位置の1文字を変更
Rカーソル位置以降を上書き
cwカーソル位置から単語の末尾までを変更
y$カーソル位置から行末までをコピー
yyカーソル行全体をバッファへコピー
     123
     456
        abc
        def
     1行目から2行目までをコピーし、5行目に追加したい場合
       1行目行頭にカーソル
       ma (1行目行頭をマーク)
       jj (2行目にカーソル)
       y'a (1行目から2行目までをコピー)
       jj (4行目にカーソル)
       p (次行ペースト)
       下記のようになる
    123
    456
       abc
       def
    123
    456
5yy5行コピー
pカーソル位置の後ろにペースト
任意の範囲のテキストをバッファに保存
     ma         <=== 範囲の最初にマーク付け
     y`a        <=== 範囲の最後に移動後、バッファにコピー
     p          <=== コピー先にてコピー
Jカーソル行の改行文字を削除し次の行と連結
.最後のコマンドを繰り返す
u最後のコマンドを取り消す(アンドゥ)
/文字列文字列検索(順方向)
?文字列文字列検索(逆方向)
n検索の繰り返し
N前回と逆方向に検索
~カーソル位置の文字の大文字 <==> 小文字を変換
0 ゼロカーソルを行頭に移動
$カーソルを行末に移動
Ctrl+fカーソルを1画面下に移動
Ctrl+bカーソルを1画面上に移動
Ctrl+dカーソルを画面半分下に移動
Ctrl+uカーソルを画面半分上に移動
z リターンカーソルが画面の最上段に来るようにスクロール
z.カーソルが画面の中央に来るようにスクロール
1Gカーソルをテキストの先頭に移動
Gカーソルをテキストの末尾に移動
.exrc
    ~/.exrc に以下を追加
         set number
         set tabstop=4
         set showmode
reference http://cgi.mediamix.ne.jp/%7Et5523/user-cgi/yukiwiki/yukiwiki.cgi?mycmd=read&mypage=vi
http://www.net-newbie.com/linux/commands/vi.html
http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html#toc1

Screen

参照 URL http://risky-safety.org/~zinnia/screen/
http://linux.s33.xrea.com/walwiki/wiki.cgi?LinuxTips#i8
http://www.dekaino.net/screen/
tips
ウィンドウの生成
  • kterm 上で、$ screen
  • 以前に生成されたウィンドウのプロンプトから、$ screen vi prog.c
ウィンドウに名前を付ける
  • screen -t mutt
キーバインド
C-a c新しいウィンドウを生成する
C-a kウィンドウの破棄
C-a A現在 active なウィンドウのタイトルを変更する
C-a aコマンド C-a を送る(シェルの行頭にカーソル移動)
C-a wウィンドウのリストの表示
*:現在 active なウィンドウ、-:直前に active だったウィンドウ、!:ベルが送信されたウィンドウ
C-a N現在のウィンドウの番号(タイトル)を表示する
C-a p前のウィンドウに移動
C-a n次のウィンドウに移動
C-a 数字指定したウィンドウに移動
C-a C-a直前に active だったウィンドウに移動
C-a i現在のウィンドウに関する情報
C-a mメッセージ行に表示された直前のメッセージを繰り返す
C-a ?キー割り当てを表示
C-a [コピー準備
カーソルを始点に移動しリターン → カーソルを終点に移動しリターン(vi のキーバインドで移動)
C-a ]ペースト

blackbox

インストール 〜 環境設定
参考 URLhttp://www.wind.sannet.ne.jp/koko/linux/blac kbox.html
http://blackboxwm.sourceforge.net/
    $ sudo apt-get install blackbox
    $ sudo cd /etc/alternatives
    $ sudo ln -sf /usr/bin/blackbox x-window-manager
    $ cd ~/
    $ touch .blackboxrc
    $ mkdir .blackbox
    $ cd .blackbox
    $ mkdir styles
    $ cp /usr/share/blackbox/styles/Flux ~/.blackbox/styles
    $ vi ~/.blackboxrc
        session.styleFile: ~/.blackbox/styles/Flux
    $ vi ~/.blackbox/styles/port
        rootCommand: bsetbg -c ~/.blackbox/backgrounds/bg.jpg
オプションの -f は画像をフルスクリーンに,-t だと画像をタイル状に, -c だと中央に配置

mutt

インストール
# apt-get install mutt ssmtp
設定
  1. cp -p /etc/muttrc ~/.muttrc
  2. mkdir ~/Mail
  3. cd Mail
  4. touch .signature .aliases
  5. /etc/ssmtp/ssmtp.conf を設定

w3m

マウス関連
使用 OFF
  • 表示中、ドラッグコピーが可能
オプション
http ヘッダ(Web サーバの環境)を取得
  • w3m -dump_head http://yahoo.co.jp
PDF ファイルをテキスト変換して表示する
http://plamo.minidns.net/cgi-bin/pdftohtml.cgi?目的のPDFのURL

sudo

tips visudo コマンドにて、ユーザー権限を編集する ==> /etc/sudoers が編集される
# visudo (return)
user(ユーザー名) ALL=NOPASSWD:ALL

cron

参照 URLhttp://www.zdnet.co.jp/help/tips/linux/l0029.html
http://www.szk-st.net/~takashi/linux/tips/ntp--ntpdate.html
http://www.big.or.jp/~mio/ca/ca_old/tp/tpref/tp_ref_ntpdate_1.htm
http://www.srs.ne.jp/~north/netdaemon/ntp.html
http://nobug.tukusi.ne.jp/netbsd-guide/trans/chap-misc.html
../../../www.google.co.jp/search?q=cache:0r-21gYqZdQJ:www.geocities.co.jp/SiliconValley-PaloAlto/3626/tips.htm+d
tips /etc/crontab は、直接編集しない。
# crontab -e ==> 分 時 日 月 曜日 コマンド
(その権限で実行したいユーザで crontab -e とすると環境変数 EDITOR にセットされたエディタが立ち上がる)
0 7 * * 1-5 /usr/local/perl/test.pl
月曜日から金曜日の AM7:00 に/usr/local/perl 内にある test.pl を実行する
ntpdate を cron で管理
例1
$ sudo /usr/bin/crontab -e
*/10 * * * * /usr/sbin/ntpdate clock.nc.fukuoka-u.ac.jp 1> /dev/null 2> /dev/null
*/10 * * * * /usr/sbin/ntpdate ntp1.jst.mfeed.ad.jp 1> /dev/null 2> /dev/null
*/10 * * * * /usr/sbin/ntpdate ntp2.jst.mfeed.ad.jp 1> /dev/null 2> /dev/null
*/10 * * * * /usr/sbin/ntpdate ntp3.jst.mfeed.ad.jp 1> /dev/null 2> /dev/null
10分毎に時計合わせ。オプションは付けない。(-s は、syslog へ出力)
例2
0 4 * * * /usr/sbin/ntpdate 133.100.11.8 >>/var/log/clockadj.log 2>&1; /usr/sbin/ntpdate 133.100.11.8 >>/var/log/clockadj.log 2>&1
毎朝4時に ntpdateが 2回連続実行されその時の補正状況が /var/log/clockadj.log ファイルに記録されていく。
後から log を見れば PC 内蔵時計のズレが分かる。
例3
45 */1 * * * /usr/sbin/ntpdate -s ntp1.jst.mfeed.ad.jp > /dev/null 2>&1 ;/sbin/hwclock --systohc
ハードウェアクロックも修正

NFS

installnfs-common , portmapNFSを行う(サーバー,クライアント)のに必要
nfs-kernel-serverNFSサーバーとして動作するのに必要
サーバ側の設定
/etc/exports
右記の書式のいずれか
/home/sam 192.168.0.0/255.255.255.0(rw,no_root_squash)
/home/sam 192.168.0.0/24(rw,no_root_squash)
/home/sam *.manyjoys.jp(rw,no_root_squash)
上記ファイル編集後、 $ sudo exportfs -a
$ sudo exportfs
アクセス制限
/etc/hosts.allow NFS を利用するクライアントの IP アドレスを明示する(ホスト名でない)
(ALL: 192.168.0. で設定してあれば不要)
     portmap:  192.168.0.
     mountd:   192.168.0.
上記ファイル編集後、
portmapper の起動
$ sudo /etc/init.d/portmap start (参考 status) (参考 rpcinfo -p)
$ sudo /etc/init.d/nfs-commom start
$ sudo /etc/init.d/nfs-kernel-server start
クライアント側の設定
$ sudo /etc/init.d/portmap start
$ sudo mount -t nfs sanuki(サーバマシン名):/home/sam /work

CVS

commandinfo cvsマニュアル
keyword$Id: tool.html,v 1.18 2003/10/19 13:35:03 sam Exp $キーワードに付加
image
                  ~/CVS_DB ←−−−−−−−−−−−→ リモート PC (LAN 内)
                    ↑ |                                    |
                    | |                                    |
         commit     | |     checkout                       |
      バージョン管理| | ファイル取り込み                   |
                    | |                                    |
                    | ↓                                    ↓
          ~/WORK/WEB/index.html ,etc −−−−−−−→ http://www.asahi-net.or.jp/~rg4i-kt/
               編集・作成・追加            FTP                  プロバイダのサーバ
                                      ファイル転送
サーバとクライアントの機能が同じマシンの場合
インストール
# tar xvzf cvs-1.11.5.tar.gz
$ cd cvs-1.11.5
$ configure; make; su; make install
環境設定
.bashrc に以下を追加
CVSROOT=$HOME/CVS_DB
CVSEDITOR='/usr/bin/vi'
export CVSROOT CVSEDITOR
あるいは、
$ cd
$ mkdir CVS_DB
$ export CVSROOT=~/CVS_DB
$ cvs init
ホームディレクトリにリポジトリを作成
$ cd
$ mkdir CVS_DB
$ cvs init
使用例;(html ファイルを cvs 管理してみる)
■ html ファイルが、~/WEB ディレクトリにあるとして
$ cd WEB
$ ls
index.html profile.html face.jpg
■ リポジトリに、プロジェクトを作成(コンテンツを登録)
$ cvs import -m 'これからは cvs で管理します。' web sam start
■ あらかじめ作業(ファイル編集)ディレクトリを作成しておく
$ mkdir work
$ cd ~/work
■ リポジトリからコンテンツを取り出し
$ cvs checkout web
■ 1ファイル取り出しも可能
$ cvs checkout web/index.html
★ CVS で Web ページを管理する場合は、その CVS リポジトリから Web サーバのディレクトリに cvs checkout し、cron を用いて定期的に cvs update (同期をとる)をしている。
■ CVS ディレクトリ(管理ファイル群)が作成される
$ cd web
$ ls
CVS/ index.html profile.html face.jpg
■ ファイル内容を編集
$ vi index.html
■ コメント付きでリポジトリにファイル編集を反映
$ cvs commit -m 'コンテンツの追加;profile' index.html
■ ファイル hoge.html を追加
$ cvs add hoge.html
■ ファイル名の指定にはワイルドカードを使うことも可能
$ cvs add ./*
■ コメント付きでリポジトリにファイル追加を反映
$ cvs commit -m 'add a new file hoge.html' hoge.html
■ バイナリを追加する場合は -kb オプション
$ cvs add -kb image01.jpg
$ cvs commit -m 'add a new file image01.jpg' image01.jpg
■ add する時に、-kb 引数をつけ忘れた場合、あとから変更する
$ cvs admin -kb image01.jpg
■ ファイル hoge.html を削除
$ cvs remove -f hoge.html
■ コメント付きでリポジトリにファイル削除を反映
$ cvs commit -m 'remove hoge.html' hoge.html
■ ファイル名変更
$ mv hello-01.html hello-02.html
$ cvs remove hello-01.html
$ cvs add hello-02.html
$ cvs commit -m 'renamed hello-01.html hello-02.html' hello-02.html
■ ディレクトリ追加;(commit は必要なし)
$ mkdir dir $ cvs add dir $ ls dir/ CVS/
■ 他のマシンが、update する場合は、-d オプション
$ cvs update -d
■ ディレクトリ削除
$ cd dir/
■ 事前にそのディレクトリにあるファイルを全て削除する
$ rm moge.html arege.html hoge.html
$ cvs remove arege.html hoge.html moge.html
$ cvs commit -m 'remove all files' arege.html hoge.html moge.html
$ ls
CVS/ $ cd dir/
■ 必ず、親ディレクトリに移動する
$ cd ../
■ オプション -P で空のディレクトリを作業領域から削除する
$ cvs update -P
$ ls
CVS/ index.html profile.html face.jpg image01.jpg hello-02.html
■ オプション -d でディレクトリを復活
$ cvs update -d
$ ls
CVS/ dir/ index.html profile.html face.jpg image01.jpg hello-02.html
■ ディレクトリ名変更
$ mkdir dir-02
$ cvs add dir2/
$ mv dir/* dir2/
これは正常メッセージ
"mv ; ディレクトリ 'dir2/CVS' を上書きできません"
$ cd dir
$ cvs remove hoge.html moge.html arege.html
$ cd ../dir2
$ cvs add hoge.html moge.html arege.html
$ cd ../
$ cvs commit -m 'remove dir to dir2'
$ cvs update -P
$ ls
CVS/ dir2/ index.html profile.html face.jpg image01.jpg hello-02.html
■ ファイルのリビジョン番号を確認
$ cvs status ファイル名
■ ファイルの変更差分を前後数行で表示
$ cvs diff -c ファイル名
pserver
参考 URL
http://www.radiofly.to/nishi/cvs/cvs-cs-01.html
http://www.wizard-limit.net/tools/cvs.html
http://komura.net/cvs.htm#SEC32
http://www.hayagui.com/cvsserver.html
http://www.lacrosse.jp/web/try/install_01.php
サーバー側の設定
  1. マシン名 nec(192.168.0.110) を PSERVER とする
  2. /home/sam/CVS_DB の下に CVSROOT を置く
  3. マシン名 nec にて、下記ファイルを編集
    # vi /etc/services
    cvspserver 2401/tcp を追加
    # vi /etc/inetd.conf
    cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/sam/CVS_DB pserver を追加
  4. 上記設定を有効にする(root 権限にて)
    # ps ax
    /usr/sbin/inetd のプロセス番号を確認
    # kill -HUP [inetd のプロセス番号]
  5. cvs を使用するユーザパスワードを登録
    # cp -p /etc/master.passwd ~/CVS_DB/CVSROOT/passwd
    passwd ファイルは、CVS管理可に置かない;(cvs add しない)
  6. cvs に対してはサイト LAN 内からのみアクセスを許可
    # vi /etc/hosts.allow
    ALL : 127.0.0.1 192.168.0. を追加
  7. LAN 内から、 CVS_DB にアクセスするための環境変数
    CVSROOT=:pserver:ユーザ@nec(マシン名):/home/cvs
クライアント側の設定
  1. 他のマシンからサーバの web を取り出す
    $ cvs -d :pserver:sam@192.168.0.110:/home/sam/CVS_DB login
    (Logging in to root@192.168.0.110)
    CVS password:********
    $ cvs -d :pserver:sam@192.168.0.110:/home/sam/CVS_DB checkout web
  2. 又は、毎回 -d xxxx オプションを指定するかわりに環境変数で CVSROOT を指定する
    $ vi ~/.bashrc
    CVSROOT=:pserver:sam@192.168.0.110:/home/sam/CVS_DB
    export CVSROOT を追加 上記設定後は、
    $ cvs login でアクセス可能
  3. チェックアウト完了
  4. $ touch ~/.cvspass
  5. どのサーバに login しているかは ~/.cvspass ファイルを参照
  6. サーバへの接続を終了するには
    $ cvs logout
    これにより ~/.cvspass に書かれたサーバへの接続を終了
jargonmerge合併
commit委託・委任・保存
concurrent並行の
revision修正・改訂
experimental実験的[上]の
alter手直しする
abort中止する
examine検査・調査する
previous以前の
referencehttp://www.linux.or.jp/column/20000308.html
http://radiofly.to/nishi/cvs/
http://cvs.m17n.org/cvs/
http://www.sodan.org/%7Epenny/vc/cvs-ja.html
http://www.naney.org/comp/cvs/faq/index.html
http://www.naney.org/comp/cvs/link/index.html
http://www.koizuka.jp/wincvs.html
http://www.matsusaka-u.ac.jp/%7Eokumura/networking/cvs.html
http://katsu.watanabe.name/cvs/ohpcontents.html
http://lilo.linux.or.jp/lilo-doc/docs2/use_cvs/index.html
http://www.asahi-net.or.jp/~wv7y-kmr/memo/cvsserver.html
http://www.niji-net.com/mydoc/cvs.txt
http://www.google.com/search?q=cvs+-%83R%83%93%83r%83j&num=100&meta=hl%3Dja%26lr%3Dlang_ja&safe=off&btnG=Google%8C%9F%8D%F5

PostgreSQL

概要
PostgreSQL は、Infomix の Mr.データベースとよばれる Stonebraker 教授が大学に
いたころに指揮を取って開発したもの

$Id: tool.html,v 1.18 2003/10/19 13:35:03 sam Exp $