A command line history for Linux users
今日はDizwell Informaticsより、Linuxユーザがsqlplusでコマンド履歴機能を 使用する方法をご紹介します。 (解説欄ではHP-UXでの同等機能も紹介しています) Dizwell InformaticsはHoward J. Rogersさんが個人で運営している Oracleの情報サイトです。 Howard J. Rogersさんは、イギリス出身のDB SYSTEMの教育者です。 経歴が少し面白く、会計士からComputerとDBのトレーナーを経て オーストラリアに移住し、4年ほどOracleの教育部門に所属した後、 最終的には独立しています。 O'Reilyから本も出しています。 手順は引用先に分かりやすく説明されています。 (英語がわからずともコピペでできると思います) 引用内容はrlwrapのインストール方法の説明部分です。 ■ Dizwell Informatics http://www.dizwell.com/prod/ ■ 引用ページ http://www.dizwell.com/prod/node/56 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 記事本文 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◆ A command line history for Linux users What you must get your hands on is a tiny program called rlwrap. It’s only 24K in size, and you can download an officially-released RPM of the 0.18 version of it here. That's been used without a problem in Red Hat Enterprise Server 3 and 4 installations (and clones of those distros, such as White Box and Centos). If you download that RPM to a directory called /downloads, you'd then install it as root like so: su - root cd /downloads rpm -ivh rlwrap-0.18-1.i386.rpm However, when I tried this in Fedora Core 4, the last command here failed, moaning about an unsatisfied dependency on the package readline-4.1. In fact, Fedora Core 4 ships with readline-5.0, so this is clearly just a case of the rpm getting out of date and running into dependency problems as a result. To solve that, I had to download the source tarball from the utility's home site, and un-tar it. That created a new sub-directory called rlwrap-0.24, and I then did the following: cd /downloads/rlwrap-0.24 su - root ./configure make install _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 英語の語順に近い解釈 ※自然な語順で解釈する癖をつけるために 敢えて不自然な日本語になっています。 ()書きは後続修飾節の修飾対象です。 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◆ A command line history for Linux users What you must get your hands on is a tiny program あなたが手に入れるべきものは小さなプログラムです。 called rlwrap. rlwrapと呼ばれている(プログラム) It’s only 24K in size, それはたった24kbです。 and you can download そしてあなたはダウンロードできます。 an officially-released RPM of the 0.18 version of it here. 公式にリリースされたRPM、0.18バージョンのそれをここで(ダウンロードできます) That's been used without a problem それは問題なく使用されています。 in Red Hat Enterprise Server 3 and 4 installations RHEL3or4で(使用されています) (and clones of those distros, かつクローンとなるこれらのディストリビューションで(使用されています) such as White Box and Centos). ,White BoxやCentosのような If you download that RPM もしあなたがそのRPMをダウンロードするなら to a directory called /downloads, /deownloadsというディレクトリに(ダウンロードするなら) you'd then install it as root like so: あなたはそれをインストールします、rootユーザとして、このように: su - root cd /downloads rpm -ivh rlwrap-0.18-1.i386.rpm However, when I tried this in Fedora Core 4, しかしながら、私がこれを試したとき、Fedora Core 4で the last command here failed, その最後のコマンドは失敗しました。 moaning about an unsatisfied dependency 依存関係が満たれされていないことで文句を言っています。 on the package readline-4.1. readline-4.1パッケージにおける(依存関係) In fact, Fedora Core 4 ships with readline-5.0, 実際、Fedora Core 4はreadline-5.0と共に配布しています。 so this is clearly just a case of the rpm getting out of date だからこれは明らかにただのケースです。古いrpmを入手する(ケース) and running into dependency problems as a result. そして依存関係問題に直面する(ケース)、結果として To solve that, I had to download それを解決するために、私はダウンロードしなければなりませんでした。 the source tarball from the utility's home site, ソースファイルのtarballを、そのユーティリティのホームページから and un-tar it. そしてそれをun-tarしました。 That created a new sub-directory それは新しいサブディレクトリを作成しました。 called rlwrap-0.24, rlwrap-0.24という(ディレクトリ) and I then did the following: そして私は以下のことをしました。 cd /downloads/rlwrap-0.24 su - root ./configure make install _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 英語解説 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ get your hands on (something) ※(something)を手に入れるという意味です。 (I get my hands on a chair) on の後に人が入る場合は捕まえるという意味になります。 getの代わりにputやlayを使う場合もあります。 an officially-released RPM of the 0.18 version of it here. ※この文をクリックするとファイルがダウンロードできるように なっています。 RPM ※元々はRedhat Linuxで使用されていたソフトウェアのパッケージを 管理するためのシステムです。 ただし今回はパッケージ管理システムそのものではなく、RPMに対応した rlwrapのパッケージを指していますね。 <以降余談です> 元々はRed Hat Package Managerの略称で、現在ではRedhatに限らず 様々なLinuxディストリビューションで取り扱われているため RPM Package Managerの略称とされています。 その経緯を知らないとRPMはRPM Package Managerの略と言われても 結局RPMの意味がわからず混乱してしまいますね。 フリーソフトウェアプロジェクトであるGNUも正式名称は GNU's Not UNIXで、結局意味がわかりません。 思いっきり話がそれてしまいますが、 実はVISAもVisa International Service Associationの略だそうです。 滞在許可証のvisaとは関係なく、visaカードの創立者がなんとなく どこの国でも響きが良さそうなのでvisaという名前に決めたそうで、 後からacronym(頭文字を並べた言葉)になったそうです。 そのように後からacronymが作られたものをbackronymと呼びます。 また、今回のように略語の意味の中に略語が含まれているものは recursive(再帰的) backronymと呼びます。 Red Hat Enterprise Server 3 and 4 installations ※Red hatはlinuxの代表的な商用のディストリビューションです。 Red Hat Enterprise Linuxと呼ばれRHELと略します。 (ディストリビューションについては後述します) installations ※今回はインストールされたその物を指していますが、 インストール作業を指す場合もあります。 distros ※ディストリビューションのことです。 ディストリビューションとは単純に説明するとLinuxカーネルをベースとして 作成されたLinux製品を指します。 Linuxディストリビューションの例として、 redhat,suse,debian,vine,turbolinux,slackwareなどが挙げられます。 White Box and Centos ※red hat enterprise linuxのクローンとして開発された ディストリビューションです。 クローンの特徴としては、元々有償で提供されるred hat のソースをコピーして、商標を削除し、無償で使用可能にしていることです。 また、red hat製品は有償のサポートサービスを提供しますが、 一般的にはクローンはサポートサービスはありません。 you'd then install it as root like so: ※rootユーザはunixにおける最高権限を持つユーザです。 今回はrlwrapのインストールをrootユーザで実行しています。 su - root cd /downloads rpm -ivh rlwrap-0.18-1.i386.rpm ※suコマンドでrootにswitch userし、rlwrapの存在する /downloadにディレクトリ移動して、rpmコマンドにて パッケージをインストールしています。 Fedora Core 4, ※red hatは当初無償版の提供も行っていたが、有償版に注力する為に 無償版の提供を廃止しました。ただし、今まで開発してきた 無償版のred hat linuxを無くしてしまうのではなく、 ボランティアベースのFedora Projectにspin off(派生)させて、 後継の開発が実施されることになりました。 ちなみにfedoraとはred hatのトレードマークで使われているような てっぺんがへこんでいるつばの広い帽子の名称です。 最新リリースは5ですが、今月中に6の最終版がリリースされる予定です。 moaning ※文句や不平、不満そのものや、それを言うことです。 dependency ※パッケージをインストールする場合、そのパッケージが別の製品に 依存していることがあります。その依存関係を満たしていない場合、 インストール時に今回のようにエラーが発生することがあります。 on the package readline-4.1. ※rlwrapはreadlineというコマンドライン編集用のライブラリの wrapperである為、今回のように依存関係がチェックされています。 wrapperとは元のプログラムに対してなんらかの目的を持って 一枚うわっかぶせたプログラムを指します。 今回はreadlineライブラリのコマンドライン編集機能を 実装していないプログラムでもあたかも実装しているかのように 動作させる為にうわっかぶさってますね。 running into ※run into 人:ならばったり会うという意味です。 run into 物:(主に問題に)直面する、でくわすなどの意味です。 もしくはコストや量に達するという意味です。 source ※プログラムのソースファイルを指しています。 tarball ※tarコマンドで固めたアーカイブファイルを指してtarballと言います。 and un-tar it. ※tarコマンドで固められたアーカイブファイルはtarコマンドによって 再び解凍されます。そのことをun-tarと言っています。 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ★ 英語ぷちクイズ ★ ※答えと思うリンクをぷちっとクリックしてください。 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ☆「(恋愛関係などで)彼女から身を引くよ」英語でなんて言いますか? ◆bow out ┗ http://clickenquete.com/a/a.php?M0002066Q0017258A1f015 ◆go out ┗ http://clickenquete.com/a/a.php?M0002066Q0017258A24f07 ◆pull out ┗ http://clickenquete.com/a/a.php?M0002066Q0017258A363a1 ◆draw out ┗ http://clickenquete.com/a/a.php?M0002066Q0017258A42155 ○結果を見る ┗ http://clickenquete.com/a/r.php?Q0017258C565c 締切:2006年10月17日18時00分 協力:クリックアンケート http://clickenquete.com/ こたえは次回に発表します。 ■ 前回のこたえ ☆「縦列駐車」英語でなんて言いますか? how do you say -- jyu-retsu-chuusya -- in english? ◆column parking ◆queued parking ◆lined parking ◆parallel parking ○結果を見る ┗ http://clickenquete.com/a/r.php?Q0017095Ce7cd 答えはparallel parkingです。 今回はlined parkingの回答が比較的多かったのですが、 熟語としてはparallel parking以外の言葉は存在しません。 敢えてlinedを使うなら cars were lined up along the streetとすれば 意味は通じますが、信号待ちで並んでいるような 少しアクティブな意味で誤解されてしまう可能性もあります。 最近英語力コンサルタントのロイさんから Goopus Method(グーパス メソッド)という素晴らしい 外国語学習法を教えていただきました。 詳しくはコチラ <http://englishpower.seesaa.net/article/4115984.html> 簡単に言うと自分の作文した英語フレーズを googleのフレーズ検索で検索して、ヒットが多ければ 自然な英語だと判断するものです。 parallel parkingは52万件ヒットしますが、 lined parkingは1000件未満です。 また、lined parkingでヒットしている物でも、 white lined parking area やyellow line parking areaなど 線で囲われた駐車区域として使われていますね。 googleの検索欄で単純に""で囲えばフレーズ検索が可能です。 "cars were lined up along the street" 4件 "cars were parked across the street" 45件 "cars were parked along the street" 56件 "cars were parked on the street" 152件 アスタリスクでワイルドカード検索も可能です。 "cars were parked * on the street" 45件 この結果から見ると比較的onが優勢ですが、 どれも突出はしていないですね。 ロイさんの発行しているメルマガはこちら! 周りに10倍差をつけるカッコいい英語表現 http://www.mag2.com/m/0000166858.html _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Oracle解説 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ この記事で紹介されているのはLinux向けのコマンド履歴機能ですが、 HP-UXであれば、iedというコマンドが同等の機能を有しており、 これはデフォルトでインストールされています。 必要な設定はEDITOR環境変数にviと設定するだけです。 例えば以下のように使用します。 export EDITOR=vi (cshなら、setenv EDITOR vi) ied sqlplus / as sysdba SQL> select * from dual; DU -- X SQL> ここでエスケープキーを押した後、kを押す度に過去のコマンド履歴が 表示されます。いわゆるbshやkshのコマンドライン編集機能と同一ですね。 (hで左、l(エル)で右、jで下、xで削除、iで挿入、cwでワード置換、等々) ※詳細はman viで windowsでは何も設定しないでもコマンドプロンプトからsqlplusを実行すれば upカーソルキーで類似のことができますね。 aliasを設定して無条件に実行してもいいですね alias sqlplus="ied sqlplus" alias sqlp="ied sqlplus" alias sqlp="ied sqlplus sys/change_on_install@orcl as sysdba" などなど。。。 (cshなら~/.cshrc、その他なら~/.profileなどに記述します) HP-UXやLinux以外(solaris,aix...)で、iedやrlwrap相当の機能を ご存知の方がいらしたらシェアしていただきたいです。 open sourceでgqlplusというsqlplusにコマンド履歴機能等を 追加したツールもOracleで公開されていますが、 これはちょっとbuggy(bugが多い)であまりお勧めできません。 <http://gqlplus.sourceforge.net/> ちなみにこのiedやrlwrapは何もsqlplusに限った機能ではなく ftpやprelなどでも同じように活用できます。 とても便利ですね。 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 編集後記 _________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 今号からご購読いただいた皆様はじめまして。 本日も最後まで読んでいただきありがとうございます。 最近mixiでrubyの生みの親である「まつもと ゆきひろ」さん やDebian Projectのメンバーの「鵜飼 文敏」さんなどの ページを拝察することができてちょっと嬉しかったです。 まだmixiに登録されていない方で興味のある方は mixi希望と書いて返信くださればご案内も可能です。 ただし私は全然活動できていませんが。。。 本日はunix系の内容だったのでちょっとした作業のご紹介です。 #backspaceキーが有効でない端末だった時の対処 stty erase <hit back space key> #コマンドラインで日本語を使用したい時。 <bsh,ksh,posix...> export LANG=ja_JP.SJIS stty -istrip sh <csh> setenv LANG ja_JP.SJIS stty -istrip #ファイルを16進表示したい時。 od -x <file name> or xd <file name> #ターミナルを閉じても終了しない様にシェルを実行 nohup <shell name> & nohup (<shell name>;<shell name or at now <enter key> <shell name> & <enter key> <Ctrl + D key> それではまた。 ___________________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ おわりに ___________________________________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 記述誤りなどのご指摘、 記事に関する疑問点・質問・感想・ご意見・ご感想など yakusa_oracle@yahoo.co.jpまでお願い致します。 簡単な自己紹介はこちら http://pr2.cgiboy.com/S/3191274 バックナンバー兼ブログはこちら http://imoment.web.fc2.com/ 登録・解除はこちらから http://www.mag2.com/m/0000200441.htm