TidBITS の今週は実用編で行きたい。Kirk McElhearn の Mac ユーザーのための Unix コマンドライン入門の第一回と、Adam の Web ブラウザに入れる簡単な JavaScript を使ったブックマークでインターネット上での検索をスピードアップする方法である。ニュースの部では、EFF への基金集めに PayBITS が思いもかけない成功をもたらしてくれたこと、そして皆さんからのホリデーギフトに対する推薦の募集とについて我々からの報告がある。最後に、来週は休刊です:Happy Thanksgiving!
記事:
Copyright 2005 TidBITS: Reuse governed by Creative Commons license
<http://www.tidbits.com/terms/> Contact: editors@tidbits.com>
本号の TidBITS のスポンサーは:
読者のみなさん! あなたのカンパで TidBITS を応援してみませんか?
<http://www.tidbits.com/about/support/contributors.html>
今週は Larry Lyons氏, Dantz Development, そして
Daniel Richardson氏の暖かい支援に感謝!
<http://www.tidbits.com/about/support/contributors.html>
SMALL DOG ELECTRONICS: Factory Refurbished XServes!
XServe 1GHz 256/60GB/CD/ATI/Dual Gig Ether Unlim. OS X: $2399!
XServe 1GHz Dual 512/60 GB/CD/ATI/Dual Gig Ether/OSX: $3199!
23-inch HD Cinema: $2995 <http://smalldog.com/tb/> 802/496-7171
DEALMAC: Refurbished iPod 5 GB for $199 shipped.
<http://dealmac.com/articles/44013.html?ref=tb>
DEALMAC: Refurbished Fuji FinePix 2600 2.1M digicam for $168.
<http://dealmac.com/articles/43960.html?ref=tb>
Bare Bones Software BBEdit 7.0 -- New version adds CVS support,
multiple Web site support, powerful new Sort Lines and Process
Duplicate plug-ins, and much more. Buy, upgrade, or try the
demo at our Web site: <http://www.barebones.com/>
This year, GIVE SOMEONE THEIR OWN DOMAIN with easyDNS's DOMAIN
NAME GIFT CERTIFICATES. Choose from .com, .net, .org or .ca.
Each comes with email & Web forwarding and a setup guide!
easyDNS: the way things should work. <http://www.easyDNS.com/>
来週は休刊 -- こちら米国では Thanksgiving holidays です。家族や友人とくつろいだ時を過ごせるよう来週の 02-Dec-02 付けの TidBITS は休刊です。その間 TidBITS Talk の調整役は引続きやります。そしてこの余分の一週間を今年のプレゼント特集号の準備に当てるつもりです。従って、次号の TidBITS は 09-Dec-02 となります。Thanksgiving を祝われる方たちには、良き祝日を![ACE](カメ)
PayBITS EFF 寄付に大反響 -- 私は圧倒された。これまで PayBITS がどれ程のお金を集めたのかについては私の報告をすでに見られたと思うが、要は、道端に落ちていたら黙って通り過ぎるような額ではなかったが、さりとて新しい Mac が一台買えるようなものでもなかった。先週の DMCA の脅威についての記事の中で、私は EFF がその大切な活動を続けるのを(ところで、ここでは Mac によってなされる仕事が増えている)少しなりとも手助けするために、この記事に対する PayBITS への支払いすべてをこの価値ある組織に寄付をするつもりだと述べた。当時、私は EFF に $100 程度でも送れればそれなりの役にはたつかなと思っていた。しかし、私のあの記事が 150 人以上の人から $2,800 をこえる(PayPal の手数料が引かれる前)寄付を集めようなどとは夢にも思わなかった。この合計金額は、寛大なる二人の個人の方からの大きな寄付によってこれ程までになってはいるが、もしこのお二人の分を勘定に入れなかったとしても、$1,500 はこえるものとなっている。これらが何を意味するか考えてみると、DMCA に関わる問題を大変だと思う人、EFF を援助したいと思う人、そして PayBITS へのサポートを示すことで小さな額を集めて大きくする方法も悪くないなと思う人が大勢いるのだと言うことである。これらすべてに対して、心からのお礼を述べたい。まだ、支払いがパラパラ入ってくるので、後一週間ぐらい待って合計でどれぐらいになるかの見当をつけてから、それを EFF に送りたいと思う。[ACE](カメ)
<http://db.tidbits.com/getbits.acgi?tbart=06997>(日本語)邪悪な法律、DMCA
<http://db.tidbits.com/getbits.acgi?tbart=06991>(日本語)PayBITS を評価する
BBEdit 7.0.1 出される -- BBEdit 7.0 のリリースからまだいくらも経っていないのに、Bare Bones Software は BBEdit 7.0.1 への無償のアップグレードをリリースした。他の細かな修正とともに、このパッチでは、Mac OS X 下でのシステム全体に関わるキーストロークの問題に対処し、BBEdit の新しい CVS 対応に改善を加え、HTML 及び XHTML ファイルの処理に手を加え、そしていくつかの FTP 機能強化を提供している。完全なリリースノートを見たい人は Bare Bones Web サイトを参照されたい。BBEdit の改善の多くは(そして焦点も)Mac OS X のユーザーのためのものであるが、BBEdit 7 は Mac OS 9.2.2 の下でも動くので、旧来の Mac ユーザー達も、このテキスト自由自在の美器から全く取り残されてしまったわけではない。BBEdit 7.0.1 アップデートは 9.3 MB のダウンロードである。[GD](カメ)
<http://db.tidbits.com/getbits.acgi?tbart=06993>(日本語)Bare Bones が BBEdit 7.0 をリリース
<http://www.barebones.com/support/updates.html>
<http://www.barebones.com/support/bbedit/bbedit-notes.html>
Holiday 2002 ギフト、あなたのアイディアを -- 経済に対する消費者の信頼を表明する恒例のお祭りの時が再びめぐって来た。この世界経済を浮揚させるのは我々個人にかかっていると言うのであれば、最低限、我々の好みの Macintosh 関連の会社が、薔薇のようにいい香りで年納めを出来るよう協力しようではないか!これまでの TidBITS ギフト特集号と同じように、我々の忠誠な読者である皆さんからの一押しのお勧めに焦点を当てていきたい。そこで、あなたが今年友人や家族に贈ろうと思っているギフトは何か、或いはまた、あなたが自分で貰いたいと思っているものについて我々に教えて欲しい。これまでのように、意見収集は TidBITS Talk を使って行うので、あなたのお勧めを tidbits-talk@tidbits.com まで送って欲しい。TidBITS Talk では特定のカテゴリ毎にスレッドを設けてもう始めている。また、TidBITS Talk Web アーカイブの個々のメッセージには、最後の所に "Respond (via email)" のリンクをつけてあるので利用して欲しい。いつものことではあるが、メッセージ一つに入れるのは、一つの品物、またはアイディアだけにして欲しい。そして、勧める理由、関連する URL やその他の必要なコンタクト情報を含めるのをお忘れなく。勧めるのは、他人のものだけに限定して欲しい。もし可能であれば、これまでに登場していないものを推薦して欲しい。前もって、ご協力感謝します![ACE](カメ)
<http://db.tidbits.com/getbits.acgi?tlkthrd=active>
<http://db.tidbits.com/getbits.acgi?tbiss=510>
<http://db.tidbits.com/getbits.acgi?tbiss=560>
<http://db.tidbits.com/getbits.acgi?tbiss=609>(日本語)2001年末ギフト提案特集
文: Adam C. Engst <ace@tidbits.com>
訳: Mark Nagata <nagata@kurims.kyoto-u.ac.jp>
皆さんもきっと私のように、ウェブでやる一番の作業はと問われたら、それは検索だ、とお答えになるのではないだろうか。その検索は Google 検索かも知れないし、Dictionary.com で単語を引いているのかも知れないし、あるいは単に数週前に読んだ TidBITS の記事を探しているだけかも知れない。そういう時、皆さんは実際にどういう手順で検索を始めておられるだろうか? きっと、まずはウェブブラウザを起動、あるいはウェブブラウザを前面に持ってきて、次にブックマークを選択するか、ツールバーのボタンをクリックするか、あるいはそのサイトの名前をブラウザのアドレスバーにタイプするかして、そのサイトに接続するだろう。そして、そのページがロードするのを待ってから、そのページを見渡して検索フィールドを見つけ、そこへマウスを動かしてクリックし、それから検索する言葉をタイプして、Return キーを押すのだろう。やれやれ、なんて大変な作業なんだ。ちょっとした検索をするだけのことなのに! でも、ウェブサイトによっては、この労力の大部分をバイパスして省ける方法があるのだ。
(ちょっと蛇足を付け加えると、あなたは Windows ユーザーみたいに時間を無駄に費やしていないだろうか? ウェブサイトに接続しようとする時、例えば www.apple.com へ行こうとしている時は、単純に“apple”とだけ(引用符なしに)アドレスバーにタイプして Return キーを押せばよいことを、ご存じだろうか? Mac のウェブブラウザはどれも、自動的に“www.”と“.com”とを補完してくれる。(但し、最近のバージョンの Netscape と Mozilla では Netscape の設定で Internet Keywords オプションをオフにすることができるので、あなたは Netscape のおせっかいな Smart Browsing 機能が嫌でこれをオフにしているかも知れない。)とにかく、これは時間を節約できる素晴しい仕掛けだ。)
検索のための普通のやり方の無駄な点は、検索サイトのホームページを開いてそのページがロードするのを待ち、それから検索フィールドを見つけて入力しなければならない所だ。その代わりに、ブックマークにごく単純な JavaScript スクリプトを埋め込んでおき、クリックするだけで即座に検索ダイアログが現われてあなたがそこにタイプした内容を直接検索サイトのサーチエンジンに送り、あなたの目の前には検索結果のページだけが開く、というようにすることができる。
プログラミングが必要なの? とか、なんか複雑なことになりそう? とか心配しないで頂きたい。実は私自身も、JavaScript のことは全く何もわからない。もしもあなたがブックマークの編集ができるのなら、このスクリプトも使えるはずだ。それに、このスクリプトは私が書いたものでもない。何年も前に私がウェブで見つけたものだ。たしか、Google が検索を易しくするツールとして出していたものの一部だったかも知れない。私がしたことと言えば、スクリプトをどのように変えれば自分の目的に合うかを見つけ出したことだけで、そのことを今回、この記事で紹介してみたいと思う。
私を探して -- というわけで、まずは以下のスクリプトをご覧頂きたい。これは、TidBITS を直接検索するために私が使っているスクリプトだ。ご覧の通りスクリプトの内容はごく単純で、理解する必要があるのは2ヵ所だけだ。
javascript:void(q=prompt('Enter text to search for in TidBITS.',''));
if(q)void(location.href='http://db.tidbits.com/getbits.acgi?tbtxt='+escape(q))
まず第1に、“prompt”の後の括弧内にあるのが、このスクリプトのブックマークをクリックすると現われるダイアログに表示されるテキストだ。そのダイアログで何でも好きな文字列を入力すればよいのだが、もしもあなたのウェブブラウザが単語間のスペース文字を文字と認識してくれない場合は、スペース文字の代わりに“%20”を使わなければならない。(初め私は必ず %20 で置き換えなければならないと思っていたが、今ではその必要のないブラウザも多いようだ。)
次に、URL を見て頂きたい。等号“=”の後で突然 URL が途切れるようにして終わっていることにお気づきだろうか。これは、このスクリプトがあなたがダイアログに入力したテキストをこの等号の後に続けて追加し、それを URL とするからなのだ。というわけで、もしもあなたがこのスクリプトを変更して別のウェブサイトで使えるようにしたいと思ったのなら、検索文字列を最後に追加することのできる形の URL を見つける必要がある。いくつかのサイト、例えば Dictionary.com のような所では簡単で、単にそのサイトへ行って検索を実行してみれば、現在の検索文字列を含んだ判読可能な URL がアドレスフィールドに表示されるので、それをコピーしてくればよい。そうでない場合、例えば Google のような所では、表示された URL を少しいじってやる必要があって、不要な部分を削ったりいろいろとテストしたりして URL が動作するかどうか実験する必要がある。多くのウェブサイトの URL ではセッションやトラッキングの情報など、必ずしも必要とは言えないようなものが追加されているからだ。また、TidBITS のように、誰かに教えてもらわなければ検索 URL の正しいフォーマットが推察のしようもないような所もある。最後に、いくつかのサイト、例えば Amazon のような所では、特定の URL だけでは検索をスタートさせることのできないこともある。
皆さんの手数を省くため、Google と Dictionary.com 用に私が作ったスクリプトをここに書き添えておこう。
javascript:void(q=prompt('Enter text to search using Google.',''));
if(q)void(location.href='http://www.google.com/search?q='+escape(q))
javascript:void(q=prompt('Enter word to look up.',''));
if(q)void(location.href='http://dictionary.reference.com/search?q='+escape(q))
あなたのブラウザを機能拡張 -- これで3つのスクリプト、TidBITS、Google、それに Dictionary.com 用のものができた。また、適切なフォーマットの URL が入手できさえすればこれらのスクリプトを書き換えて別のサイトでも使えるようにできる、という基本的なことはお分かり頂けたと思う。それでは、こういうスクリプトをどうやってあなたのブラウザに組み込めばよいのだろうか?
実はそれは非常に簡単だ。実際の手順はブラウザによってそれぞれ違うのだが、とにかくまずは新規のブックマーク(あるいは「お気に入り」)を作ってそれを編集し、わかりやすい名前を付け、そして、普通のブックマークならば URL が入るべき所に、URL の代わりに先程のスクリプトを貼り付ければ良いのだ。ブラウザによってはその必要が無いものもあるが、ブックマークの URL フィールドに貼り付ける前に、スクリプト全体が1行になるよう改行文字を削除するなどして編集しておいた方が安全だろう。ブラウザによっては貼り付けられた URL の中に改行文字が含まれていると受け付けを拒否するようなものもある。
私はしょっちゅう検索をしているので、スクリプトのブックマークをウェブブラウザのツールバーに置いておくようにしている。そのためにはブックマーク(あるいは「お気に入り」)のウィンドウでそのブックマークを適切なフォルダに入れるだけでよいのが普通だ。これで、検索をしたいと思った時には、ブラウザを前面に持ってきてから適切なブックマークをクリックし、検索したい単語をタイプするだけで良い。検索フィールドを見つけるためだけにわざわざそのサイトのホームページを訪れたり、また検索フィールドは何処かとそのページの中を探し回ったりする必要もなくなる。
何故かはよくわからないが、私は検索のためにウェブブラウザを前面に持ってくる手間を煩わしいと思ったことはない。思うに、これは私の深層意識の中ではウェブで検索したいという考えだけが第一であって、どのサイトで検索するかということは二の次なのだ、ということを反映しているのではないだろうか。でも、もしもあなたが Internet Explorer を使っているのなら、スクリプトのブックマークを「お気に入り」ウィンドウからデスクトップにドラッグすればデスクトップにスタンドアロンのファイルが作られ、それを何処でも好きな場所(例えば Mac OS 9 ならばアップルメニュー、Mac OS X ならばドックなど)に置いておくことができる。(他のブラウザでも同じことができるかも知れない。但し Chimera、Mozilla、その他の Netscape ファミリーではうまく行かなかった。)また、ファイルを開くことのできるツール、例えば QuicKeys や DragThing などでスクリプトファイルを開くこともできるだろう。(URL を直接開くことのできるユーティリティもいろいろあるので、そういうユーティリティに直接スクリプトを貼り付ければよいとお思いかも知れないが、私の経験では、普通の URL の代わりに JavaScript が入っている場合、それをどう扱ってよいのかがわからないユーティリティも多いようだ。)
検索はあまねく世界に -- さまざまなウェブサイトでの検索をスピードアップするためのテクニックやユーティリティなどは、他にもきっとたくさんあることだろう。私も、これまで何年もの間にわたっていくつもの検索ユーティリティを試してきた。もちろん、Apple の Sherlock も含めてだ。けれども、どれも私にはもう一つピンと来なかった。どれもこれも、検索の作業を簡略化するというよりもむしろ余分な作業の一段階を付け加えているだけのように感じられてしまっていたのだ。けれども、もしもあなたがこれは他とは違う、と言えるテクニックをご存じなら、ぜひ TidBITS Talk tidbits-talk@tidbits.com に投稿して紹介して頂きたい。興味深い投稿がたくさん集まったら、またそれらを集めて記事にしてみたいと思っている。
PayBITS: この記事で検索方法が変わりました? Amazon の Honor System で著者の Adam に少額のお金を送って頂けませんか? アカウントは不要です!
<http://www.amazon.com/paypage/P36I264HFO9H4A>
Read more about PayBITS: <http://www.tidbits.com/paybits/>
訳: Kirk McElhearn <kirk@mcelhearn.com>
訳: 倉石毅雄 <takeo.kuraishi@attglobal.net>
訳: Mark Nagata <nagata@kurims.kyoto-u.ac.jp>
訳: 佐藤浩一 <koichis@anet.ne.jp>
Lesson 1: コマンドラインでの第一歩
Apple が Mac OS X のリリースを発表した当時、多くの Mac ユーザの懸念は、古くからある Unix をベースにした新しいオペレーティングシステムでは、Mac の伝説的な使い易さを損ねるのではないかという点だった。Mac ユーザは昔から point-and-click インターフェースの支持者であり、彼らの観点からは Unix はその正反対だろうと思っていた。だが、Mac OS X は Unix の基礎の上にグラフィックインターフェースを提供するので、その心配は杞憂だった。古くからの Mac ユーザは (少し調整すれば) 新しいインターフェースでも慣れ親しんだ環境に思え、Mac OS X が走るための Unix の基礎について考えることもないだろう。
しかし、全員が懸念を抱いていたわけではない。多くの Mac ユーザ、特に大きな会社や教育機関で働いていた人達は、Linux のパッケージなどの様々な種類の Unix のどれかを長年使用してきた。彼らにしてみれば、Mac を使いつづけながら、Unix (それも、FreeBSD 4.4 という古くて最も安定している Unix のバージョンの一つ) の能力をも駆使できるということは素晴らしいことだった。Unix の数え切れないコマンドラインのツールと、Mac OS X に標準装備で提供されている Apache Web サーバ、多くのネットワークユーティリティ、コンパイラなどのパワフルなプログラムを使用できる。その上、Apple の使いやすいグラフィックユーザインターフェースの恩恵も受けられる。
Unix は複雑だという評判がある。その難解なコマンドを学ぶのは大変で、“一般の我々”には手が出ない。それは事実で、Unix のコマンドのいくつかは外国語同然と言っても良い。だが、コマンドラインは同時に、簡単で便利で強力でもある。
この (TidBITS でこれから来年にかけて何度か発行するシリーズの第一弾の) 記事の目的は Mac OS X のコマンドラインを解釈する Terminal アプリケーションを使用し、いくつかの単純なコマンドを走らせて、どう作動するか実際に見える例を提供することだ。この簡単な入門に従えば、Unix はそんなに怖いものではないことを発見するだろう。
Terminal を起動 -- Terminal とは Apple が Mac OS X に含めた、タイプしたコマンドとオペレーティングシステムの橋渡しをするプログラムだ。Terminal 自体は“無知な”プログラムだ。情報をシェル (これらのコマンドを解釈する別プログラム) へと伝え、その結果を表示するだけだ。
まず、Applications フォルダの Utilities フォルダ (Unix 的には /Applications/Utilities) にある Terminal を開けることから始めよう。Terminal アイコンをダブルクリックする。Terminal ウィンドウが表示され、以下のようなテキストが現れる:
Last login: Mon Nov 25 16:03:03 on ttyp1 Welcome to Darwin! [Walden:~] kirk%
このテキストはいくつかの情報を伝えてくれる:
最初の行は、前回のログインの日時と使用したターミナルデバイス ("ttyp1") を表示している。
二行目は本日のメッセージ (Message of the Day) だ。Mac OS X の (バージョン 10.2 での) デフォルトメッセージは BSD Unix の Mac 版の名前 Darwin を反映して“Welcome to Darwin!”だ。(Unix の例に漏れず、このテキストは簡単に変えられる。その方法は後日の記事で説明する。)
三行目はプロンプトだ。まず、使用中のローカルホスト、つまりコンピュータを表示している。この例では、私の Mac の名前 Walden だ。ローカルホスト名の次のコロンの後ろには現ディレクトリ、もしくはフォルダ、が表示されている。新しい Terminal ウィンドウを開くと、現ディレクトリはデフォルトで ~ ショートカットで表わされる Home フォルダになる。プロンプトの一番最後は現在ログインしているユーザの短縮名、Kirk だ。(当たり前だが、あなたのローカルホストとユーザ名は私とは違うだろう。)
プロンプトはコマンドを入力できることを示す。もし Terminal がコマンドを処理中だったり、プロセスの結果を表示している最中であれば、プロンプトは現れない。その場合は、新しい Terminal ウィンドウを開いてコマンドをタイプできる。セッションと呼ばれる Terminal ウィンドウの数は無制限にいつでも開ける。
初めてのコマンドをタイプする -- 基本を理解したところで、最初のコマンドを入力する用意が出来た。まず、echo という、Terminal ウィンドウ中でコマンド名の後ろに入力した内容を表示する単純なコマンドから始めよう。
(注意:この記事では、ここ以降あなたがタイプするコマンドやテキストはプロンプト記号 % に続けて書いてある。ローカルホストやユーザ名は省いてある。プロンプトのテキストを入力する必要はない。% 記号の後にある内容を入力すれば良い。)
以下を入力してみよう:
% echo Hello!
そして Return か Enter を押す。Terminal は上記の行 (プロンプトと入力したテキスト) を入力と同時に表示する。echo コマンドは Terminal の標準出力へ引数部分を出力する。この場合には、Terminal ウィンドウ自体だ。改行を押せば、以下の行が表示される:
Hello!
Mac があなたにハローと言ってきた!さらに次に進んでみよう。誰にハローと言っているのか分からない。以下のコマンドを試してみよう:
% echo Hello $user!
私の Mac はこう言ってくる:
Hello kirk!
全てのコマンドは特定の文法を使用する。単純なコマンドでは以下だけだ:
command argument
引数はコマンドによって必要とする追加情報だ。他のコマンドは引数無しで作動する。上記にタイプしたテキスト行中では、コマンドは“echo”で、引数は Terminal に表示させるテキストだった。
簡単だったろう?Mac OS X でコマンドラインを初めて使用した。echo コマンドは確かに単純だが、基本的なコマンド文法の例と Terminal がどう働くかを示せた。 (上記のテキストを表示した後、Terminal が次の行に新しくプロンプトを表示したことに気がついただろうか。上で説明したとおり、前のコマンドが終了したことを示している。)
もっと試してみたければ、echo コマンドで他のテキストをもタイプしてみると良い。
ディレクトリの内容を読む -- さて、Terminal でその他にどんなことができるのか、いくつかの例を挙げてみよう。これから紹介するいくつかのコマンドで、次のようなことができる:
Terminal のプロンプトを見ればあなたが現在ホームディレクトリ (~) に居ることがわかるはずだ。そこで、このディレクトリ内にどんなものがあるのかを調べてみよう。Finder のウィンドウで見えていたものを思い出せば、ここにはいくつかのフォルダがあったはずだとわかるだろう。次のようにタイプしてみよう (最初の文字は L の小文字であって、数字の 1 ではない):
% ls
この ls コマンドはディレクトリの内容をリストする。Terminal は次のようなものを表示するだろう:
Desktop Library Music Public Documents Movies Pictures Sites
このリストは、現在のあなたのホームフォルダの中にあるものすべてのリストだ。(もちろん、あなたのホームフォルダの内容によって、表示内容は上記のものとは少し異なるかも知れない。)けれども、このリストは個々の項目がファイルであるかフォルダであるかの違いを示してくれない。この違いを調べるには、次のようにタイプすればよい:
% ls -F
すると、Terminal は次のようなリストを表示するだろう:
Desktop/ Library/ Music/ Public/ Documents/ Movies/ Pictures/ Sites/
ここでの -F は ls コマンドについてのオプションである。大文字と小文字が区別されることに注意して欲しい。-F と -f とは違うのだ。オプションによって、そのコマンドの動作が少しずつ違ったものになる。この -F オプションは Terminal に、ディレクトリである項目名の後にスラッシュ (/) を、実行可能項目(つまりアプリケーション)の後にはアステリスク (*) を、それぞれ表示するように指示する。上記の例ではすべての項目がディレクトリだと分かる。ファイルである項目についてはその名前の後に何も追加されない。
新規のディレクトリを作る -- 次に“Test”という名前の新規のディレクトリを作ってみよう。それには、次のようにタイプすればよい:
% mkdir Test
この mkdir コマンドは新規のディレクトリを作る。このディレクトリが出来ているかどうかを、また ls -F コマンドを使うことで確かめよう。今度は次のようになっているはずだ:
Desktop/ Library/ Music/ Public/ Test/ Documents/ Movies/ Pictures/ Sites/
あなたが今作ったばかりの Test/ が、ちゃんと見えている。
次に、このディレクトリの内部に移動してみよう。それには cd コマンドを使う:
% cd Test
この cd コマンドは現在のワーキングディレクトリを変更する。このコマンドを実行した後は、先程と違って今は Test ディレクトリに居ることがプロンプトに示されている:
[Walden:~/Test] kirk%
すでに説明したように、~ はあなたのホームディレクトリを意味するショートカットで、その後のスラッシュはその後に記されたディレクトリがホームディレクトリの内部にあることを意味している。
新規のファイルを作る -- この Test ディレクトリの中に、新規に空のファイルを作ってみよう。次のようにタイプする:
% touch testfile
この touch コマンドは普通ファイルのアクセスや修正日付をアップデートするのに用いられるものだが、新規のファイルを作るのにも使える。コマンドの引数である testfile がそのファイルに与えられる名前となる。
そのファイルが確かに出来ていることを調べよう。次のようにタイプする:
% ls -F
すると、次のように表示される:
testfile
先程説明したように、ls コマンドの -F オプションはディレクトリ名に / を付け、ファイル名には何も付けない。つまり、testfile という名前の、空のファイルが新たに Test ディレクトリの中に作られ、ファイル内容のデータが入ってくるのを待っている、というわけだ。
ファイルにテキストを書き込む -- ファイルが空のままでは役に立たないので、何かをそこに書き込んでみよう。Hello [username]! とでも書き込むのはどうだろうか? そのためには、先程学んだ echo コマンドが使える。次のようにタイプしよう:
% echo Hello $user! > testfile
このコマンドは Terminal に対して“Hello [username]!”というテキストを testfile という名のファイルの中に出力するように指令している。うまく行ったかどうか確かめてみよう。ファイルの内容を表示するためのコマンドはいろいろあるが、ここではそのうちの1つ、cat を使おう。次のようにタイプする:
% cat testfile
Terminal の表示はこうなる:
Hello [username]!
けれどもこれでは内容が Terminal ウィンドウの中に出てくるだけで、アプリケーションの中で普通に書類ウィンドウを開くのとはずいぶん感じが違う。そこで、グラフィカルなアプリケーションでこのファイルがどう見えるか、試してみよう。こうタイプする:
% open .
(open とタイプした後にスペース文字、続いてピリオド文字をタイプする。)
このコマンドは Finder が現在のディレクトリ(この . が現在のディレクトリをあらわしている)を新規ウィンドウに開くように、という指令だ。これで Finder に Test という名前の新しいウィンドウが開かれ、その中に testfile という名前のファイルが見えているはずだ。
この testfile のアイコンをダブルクリックすれば、TextEdit が起動されてウィンドウを開き、その中に“Hello [username]!”というテキストが表示される。
TextEdit を終了させればこのファイルも閉じられる。ドックの Terminal アイコンをクリックして、また Terminal に戻ろう。
ファイルとフォルダの消去 -- これでひとまず簡単な例題が終わったので、 次は後片づけの時間だ。使ったファイルやフォルダは取っておく必要はないの で、みんな消してしまおう。
注意! コマンドラインにはいつでも危険がつきものだ。Finder で作業する場合とは異なり、絶対にやり直せないことがいくつかある。これから使うコマンド、rm はとてもパワフルだ。ただゴミ箱に入れるのとは違い、完全に、そして永遠にファイルを消してしまう。rm で消去したファイルは復活できないので細心の注意を持って使用し、また常に -i オプションを使おう。こうすれば、これから説明するように Terminal は消去してよいかどうか確認を求めてくる。
プロンプトは次のようになっていて、先程作成した Test ディレクトリ内にまだいることを示しているはずだ:
[Walden:~/Test] kirk%
次のように入力してみよう:
% rm -i testfile
rm コマンドはファイルやディレクトリを消去する。この場合は testfile というファイルだ。-i オプションにより Terminal は rm をインタラクティブモードで動作させ、ファイルを消去してよいかどうか確認を求めてくる。Terminalは以下のように聞いてくる:
remove testfile?
消去して良いなら y を入力して Return か Enter を押せばファイルが消去される。もしファイルを取っておきたいなら、n か no と入力して Return を押す。
ファイルが本当に無くなっているかどうか確認してみよう:
% ls
ls を入力した後すぐにプロンプトが表示されると思う。Terminal はディレクトリが空だとは教えてくれない。そのかわり、ディレクトリの現在の中身を表示する。つまり何も表示しないということだ。
次は Home フォルダへ上がろう。以下のように入力:
% cd ..
これは、以前ディレクトリを変更するために使った cd コマンドと同じものだ。ここでは、Terminal に階層構造の一つ上に移動するよう指示している (.. は親ディレクトリを示すショートカットだ)。この場合、あなたの Home ディレクトリに移動することになる。
もう一度 ls を入力してこのディレクトリ内に何があるか見てみよう:
% ls
次のように表示されるはずだ:
Desktop Library Music Public Test Documents Movies Pictures Sites
-d オプションはディレクトリを消去するために用いる。Terminal では次のように表示されるだろう:
% rm -d -i Test
-d オプションはディレクトリを消去するために用いる。Terminal では次のように表示されるだろう:
remove Test?
y を入力し、Return か Enter を押そう。(もし先に説明したように testfileを消していなかった場合、rm はディレクトリを消去しないだろう。空でないディレクトリはデフォルトで消さないようになっているからだ。)
ディレクトリが消されたかどうか、最後の確認をしよう。
% ls Desktop Library Music Public Documents Movies Pictures Sites
総括 -- もしここで述べた簡単な例題を試してきたなら、Unix コマンドラインを使って Terminal ウインドウでコマンドを問題なく入力できたということになる。ディレクトリ (フォルダ) を作成し、ファイルを作って文章を書き込み、そのファイルとディレクトリを消去した。これらすべてが、簡単ないくつかのコマンドによりできた。以下が使用してきたコマンドの簡単な説明である:
echo: 引数を標準出力 (最初の例題では Terminal ウインドウ、2 番目の例では空のファイル) に出力する。
ls: ディレクトリ (またはフォルダ) の中身をリスト表示する。
mkdir: 新しいディレクトリを作成する。
cd: 別のディレクトリに移動する。
touch: 新しく空のファイルを作成する (他の用途もあり)。
cat: ファイルの中身を見る (他の用途もあり)。
open: ファイルやフォルダを Finder で開く。
rm: ファイルやディレクトリを消去する。使用上の注意を良く読んで!
特に特別なことをしたわけではないが、Terminal を使うのは想像していたほど難しいものではないことが分かって頂けたと思う。必要なのは、さまざまなコマンドとその引数やオプションを覚えるちょっとした時間だ。しかし、ゆっくりでも学びながら進めば、いくつものコマンドを記憶しようと努力しなくても、コマンドラインに満足するだけでなく時間を節約したりさらに強力な使い方がすぐにできるようになるだろう。
次回の「Mac ユーザのための Unix コマンドライン手引き、その 2」では、コンピュータのファイルシステムで動き回ることを学ぶことにする。ここで使ったいくつかのコマンド (cd、ls,、mkdir やその他) を基礎にし、新しく便利なコマンドを多数紹介する。
[Kirk McElhearn はフランス・アルプス地方の村に在住するフリーランスの作家兼翻訳家である。]
<http://www.mcelhearn.com/unix.html>
PayBITS: この記事で Terminal を試してみようという気になりましたか? もしそうなら、Kirk に PayPal で数ドル送るのはいかがでしょう?
<https://www.paypal.com/xclick/business=kirk%40mcelhearn.com>
PayBITS の説明 <http://www.tidbits.com/tb-issues/lang/jp/paybits-jp.html>
非営利、非商用の出版物およびウェブサイトは、フルクレジットを明記すれば記事を転載またはウェブページにリンクすることが できます。それ以外の場合はお問い合わせ下さい。記事が正確であることの保証はありませ ん。書名、製品名および会社名は、それぞれ該当する権利者の登録商標または権利です。TidBITS ISSN 1090-7017
, , 日本語版最終更新:2005年 12月 26日 月曜日, S. HOSOKAWA