Geek to Live: Cygwin の概要、パート III - スクリプト、パッケージなど


ジーナ・トラパーニ著

Windows を使用するコマンド ライン愛好家の皆さん、ようこそ!パート Iそしてパート IIこの Cygwin 入門では、インストール、基本的な Unix コマンド、およびコマンド ラインの優れたその他のレシピについて説明しました。最終回となるこの 3 回目では、Cygwin インストールへのパッケージの追加、一連のコマンドからのスクリプトの作成、および詳細を学ぶことができるいくつかの Cygwin および Unix リソースに取り組みます。

Cygwin へのパッケージの追加

で議論したように、パート I、setup.exe ファイルは次の場所にあります。Cygwin ホームページ最初のコマンド シェルをインストールするだけでなく、Cygwin セットアップにパッケージやプログラムを追加するためにも使用できます。

たとえば、シェル プロンプトで頭字語を定義する wtf という素晴らしい小さなコマンドについてどこかで聞いたとします。そこで、Cygwin を起動して「wtf」と入力すると、「bash: wtf: command not found」という応答が返されます。 wtf パッケージをインストールに追加します。

setup.exeをダウンロードそして起動します。 「パッケージの選択画面」が表示されたら、表示モードを「完全」または「未インストール」のパッケージのアルファベット順リストに切り替えます。 「wtf」リストが表示されたら、「新規?」セクションの「スキップ」項目をクリックします。列をクリックしてダウンロードに追加します。プログラムのいくつかのバージョン (0.0.4-6 や 0.0.4-3 など) を選択できる場合があります。安全のため、私は通常、最新バージョンを使用します。 「ビン?」のチェックボックス列が入力されます。それがあなたが望むものです。 「Src?」については心配しないでください。 (ソース コード) は、示されているようにチェックを外したままにすることができます。 (クリックすると拡大します。)

セットアップを完了し、Cygwin を再起動します。ここで、「wtf wtf」と入力すると、次の結果が得られます。

gina@scully ~ $ wtf wtf wtf: 誰が、または何を、文脈に応じて。通常は疑問符を意味します。 「TF」は実際には埋め込みであり、これを 3 文字の頭字語にし、「pray Tell」のような意味になります。非常に便利な Cygwin パッケージの名前も gina@scully ~ $

Cygwin WTF パッケージ開発者たちはとても面白い人たちです。 wtf afaik や wtf ymmv などの頭字語を検索するには、wtf を使用します。

ネットワーキングユーティリティ

このセクションでは、Unix の経験がある人を対象とした、非常に古い内容について説明します。しかし、Windows で育った私は、初めてコマンド ラインでリモート サーバーにログインしたときのことを覚えています。魔法だと思いました。 Unix の最大の強みの 1 つは、Unix に組み込まれている強力で安全なネットワーク ユーティリティです。 Cygwin を使用すると、SSH (セキュア シェル) サーバーを実行している別のマシンにリモートでログインし、ローカルのコマンド ラインから快適に制御できます。たとえば、192.168.2.10 の Mac の共有設定で「リモート ログイン」が有効になっている場合、Cygwin プロンプトから、次のように ssh を使用してリモート コントロールできます。

ジーナ@スカリー ~ $ ssh[メールで保護されています]パスワード: 最終ログイン: Thu Jun 15 2006 22:38:30 ダーウィンへようこそ!アメリア:~ ジーナ$

そこから、Cygwin から通常どおり Mac ターミナルでコマンドを実行できます。もう 1 つの便利なネットワーク ユーティリティは scp です。これは、次のようにファイルをあるマシンから別のマシンに安全にコピーします。

ジーナ@スカリー ~ $ scp[メールで保護されています]:~/todo.txt todo.txt パスワード: todo.txt 100% 28 0.0KB/s 00:00 gina@scully ~ $

このコマンドは、Mac (または IP アドレス 192.168.2.10 で実行されている SSH サーバー) のホーム ディレクトリにある todo.txt を取得し、それをローカル マシンにコピーしました。

Cygwin を使用すると、PC 上での Cygwin ベースの SSH サーバーの実行、ポート転送、ssh による安全なトンネリングなど、あらゆる種類の Unix ネットワーク マジックを実行できます。

一般的なタスクのスクリプトを作成する

Cygwin コマンド ライン タスクを作成する方法がわかったので、複数のコマンド操作を何度も実行したい場合があります。または、自動化する。この場合、スクリプトを作成する必要があります。

たとえば、todo.txt、grocerylist.com、gifideas.txt の 3 つのテキスト ファイルから買い物リストを携帯電話に電子メールで送信したいとします。 「listtophone」という名前の新しいテキスト ファイルを作成し、次の内容を入力します。

# 購入しなければならないものをすべて 1 つのテキスト ファイルに入れます。tobuy.txt grep @shopping todo.txt > tobuy.txt cat Giftideas.txt grocerylist.txt >> tobuy.txt # リストを電子メールで携帯電話に送信しますストアでの参照用メール -t[メールで保護されています]-s「今日買うもの」

コメント行 (# で始まる行) は、何が起こっているかについて少し説明しています。基本的に、todo.txt 内の @shopping コンテキスト項目と、gifideas.txt および grocerylist.txt 内のすべての項目を grep して、tobuy.txt にドロップします。次に、buy.txt を携帯電話にメールで送信します。それが完了したら、tobuy.txt を削除してクリーンアップします。必ず交換してください[メールで保護されています]携帯電話または PDA の電子メール アドレス。

「listtophone」ファイルを保存し、実行可能なスクリプトにします。これを行うには、chmod (アクセス許可の変更) コマンドを使用します。

ジーナ@スカリー ~ $ chmod 755 listtophone

そこから、店に出かける直前に、次のように、スクリプトが存在するディレクトリからスクリプトを実行します。

ジーナ@スカリー ~ $ ./listtophone

以前投稿した記事も参照してください。Wget をマスターする、Cygwin プロンプトで適切に動作する、スクリプト可能な wget レシピをいくつか紹介します。

Unix と Cygwin についてさらに詳しく

さらに詳しく知りたい方向けのリソース:

ジーナ・トラパニライフハッカー編集者は、Cygwin が大好きです。隔週の彼女の特集、生きるオタクは毎週水曜日と金曜日にライフハッカーに掲載されます。購読するGeek to Live フィードニュースリーダーで新しい記事を入手するには、