« Home | DBMS_PROFILER: PL/SQL Performance Tuning » | Thanks for the question regarding "anydata type" » | Undocumented secrets for super-sizing your PGA » | Oracle SQL Injection Attacks » | How to unwrap Oracle PL/SQL » | Using an Oracle database link to connect to Excel » | ORASentry » | What is your experience with cursor_sharing? » | Building an Ajax Memory Tree » | Approach 4: Using Regular Expressions »

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とすれば
意味は通じますが、信号待ちで並んでいるような
少しアクティブな意味で誤解されてしまう可能性もあります。

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が優勢ですが、
どれも突出はしていないですね。




_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
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が多い)であまりお勧めできません。



ちなみにこのiedやrlwrapは何もsqlplusに限った機能ではなく
ftpやprelなどでも同じように活用できます。
とても便利ですね。

About me

  • I'm yaksa
  • From Tokyo, Japan
My profile
にほんブログ村 IT技術ブログへ

blogRanking