|
|
LinuxOSの使いこなし術
|
LinuxOSを使いこなすクライアントOSとの違い絶対パスと相対パス"パスが通っている"とは?"/"と"."と".."の意味"."(ドット)ファイルについてワイルドカードと正規表現コマンドの強制終了コマンド操作の補完機能コマンド操作の履歴機能リダイレクトとパイプ属性とパーミッション〜その1属性とパーミッション〜その2アカウント情報ファイルの操作ランレベルについてシステムが起動しないときはハードディスクの増設アプリケーションの導入法 |
ワイルドカードの利用例えば コマンド 操作で、 vsFTPd のユーザーリストファイルの全てを、別のディレクトリにバックアップしたいと思う場合、 "/etc/" 以下の、 "vsftpd.user_list" "vsftpd.chroot_list" "vsftpd.ftpusers" の三つのファイルをコピーすることになります。 もちろん、
と操作しても構いませんが、この三つのファイルは同じディレクトリにあり、ファイル名の先頭が "vsftpd." まで同じですから、他に同じ条件のファイルがなければ、 「任意の長さの任意の文字列を表す ワイルドカード 記号"*"」 を使って、
と実行することができます。 ワイルドカードにはその他にも、 「任意の一文字を表す記号"?"」 が良く使われます。 例えば、たくさんのデジカメのスナップ写真を、まとめて一つのディレクトリに保存しているような場合、そのファイル名を日付と通し番号で、 "20050727001.jpg" のように統一したものにしておけば、 "2005042?001.jpg" と指定することで 「2005年4月20日〜29日に撮影した写真で、その日の最初に撮影した写真すべて。」 と表現することができます。 ワイルドカードは、 LinuxOS の CUI 操作だけではなく、 WindowsOS のコマンド プロンプト や MacOSX の ターミナル など、ほとんどのCUI操作で利用できます。 |
||||||||
|
|
利用できるワイルドカードの種類や意味は、CUIの種類によって少しずつ違いますが、 "*" と "?" については大抵のCUIで標準で利用できるはずです。 ワイルドカードはコマンド操作だけではなく、 サーバー アプリケーション の設定ファイルの中でもしばしば利用されますが、種類によっては"*"、"?"以外の記号や表記パターンが使用できることがあります。
正規表現について例えば、 「先頭が"."で始まり、アルファベットの小文字一文字をはさんで末尾が2桁の数字で終わる文字列。」 のような文字列パターンを ワイルドカード だけで表現することはできません。 こういうケースでは更に高度な文字列表現パターンである 正規表現 という手法を用います。 例えば上の例では正規表現では、 "^\.[a-z][0-9][0-9]" となります。 もともと正規表現は、 UNIX 系 OS で スクリプト を記述するときに用いられてきた手法ですが、想定されるほとんどすべての文字列パターンを表現することが可能であるため、他のOSや サーバー アプリケーション の設定ファイルだけではなく、一般に クライアント 用途で用いられる テキスト エディタやワードプロセッサ、表計算、データベースなどでも利用できるものが多数存在します。 ただ、OSやアプリケーションの種類によって、書式は少しずつ異なるのが普通です。 例えば grep コマンドと、 Perl では、機能文字として "\" の扱いが微妙に異なりますし、 httpd の設定ファイルの中の記述では、本来正規表現として用いるべき表現の一部をワイルドカードと同じ扱いで記述することもできる、といった具合です。 |
||||||||
|
特に初心者向けの解説書では、「どうせ正規表現なんか使いっこないでしょ?。」とばかりに、全く違う環境で使用する正規表現を平気で掲載しているものが「非常に多い」です。
「教科書に書いてあることだから...」と無条件に信用してしまうと、間違いなく「ハマ」りますので注意してください。 |
従って、使用するうえでの間違いを避けるために、ここでは正規表現の具体的な書式については掲載しません。 正規表現を使用する環境やアプリケーションをきちんと指定したうえで、必要に応じて調べ、利用してください。 インターネット上の一般的な情報サイトや、初心者向けの解説書などでは、これらの書式について正確ではない場合がありますので、利用するアプリケーションなどの ディストリビューター の公式 コンテンツ などの利用をお勧めします。 正規表現は、使用する機能文字を一つ間違えただけで全く逆の意味になることがありますから、「大体こんな感じでいいかな。」は間違いの元です。 取り扱いにはくれぐれもご用心ください。
|
|
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |