4.13. ワイルドカード -*-


4.13. ワイルドカード -*-

【コマンド説明】
ファイルやディレクトリを複数選択する際、ワイルドカードという特殊な文字が利用できます。よく使うものとしては“*”と“?”があります。ワイルドカード“*”を用いると、その部分に関してはどのような文字列でも良い(文字列がなくても良い)と解釈されます。つまり、ワイルドカード“*”は0文字以上の任意の文字列に相当します。

【動画説明】
例えば“abc*xyz”とした場合には、名前がabcで始まりxyzで終わるファイルやディレクトリ全てという意味になります。また。複数のワイルドカードを同時に使用することもできます。(例:“abc*de*fg”)。

ワイルドカード“?”は任意の一文字と解釈されます。そのため、“a?b”とした場合には、“a1b”や“acb”は相当しますが、“abbb”は該当しません(あくまで任意の一文字であるため4文字となるこのケースでは該当しない)。試してみましょう。

$ mkdir abcde

$ touch avc

$ ls *

$ ls a?c

実際に使う場面としては、yumで関連性のあるパッケージを一括してインストールしたい場合、あるディレクトリのファイルやディレクトリを全て削除したい場合等があります。

$ yum -y install php*
(これを実行すると、phpの他、php-mysqlなどphp拡張モジュールが一括インストールされます)

$ rm -rf *
(これを実行すると、カレントディレクトリのファイルとフォルダが全て削除されますので、十分注意して下さい。)

【問題】
1. "?"を使って/直下の3文字のディレクトリの数を数えてみましょう
2. "*"を使って/直下の"m"から始まるディレクトリを表示してみましょう
3.  ルートディレクトリ(/)以下に、"*.txt"というファイルがいくつあるか導いてみましょう