linux ワイルドカードとは?使い方についても説明!

linuxの業務内でワイルドカードを使用する機会がある方いらっしゃるのではないでしょうか。

本記事では、ワイルドカードの使い方について詳しく解説しています。

linux ワイルドカードの意味・使い方を知りたい方はぜひ、参考にしてみてください。

この記事でわかること
・ワイルドカードとは
・ワイルドカードと正規表現の違い
・ワイルドカードの使い方



ワイルドカードと正規表現

ワイルドカードと正規表現は少し似ている部分があるため使い方を間違えることもよくあります。

まず、ワイルドカードと正規表現の違いについて解説していきます。

ワイルドカードとは

ワイルドカードは、主にシェルや一部コマンド・アプリケーションで使われます。

代表的なワイルドカードは、*(アスタリスク)で任意の文字列のことを表します。

ワイルドカードは以下のようになります。

ワイルドカード説明
任意の0文字以上の文字列
任意の1文字
[ ]カッコ内のいずれかの文字

[123]…1か2か3のどれか
[0-9]…0から9の間のどれかの数字
[!abc]…aでもbでもcでもない任意の文字
{ , }カンマで区切られた文字列のいずれか

ワイルドカードと正規表現の違い

正規表現とは、様々なコマンド・アプリケーションで使われる汎用的な表現方法です。

正規表現は、ワイルドカードと違ってシェルでは正規表現を使うことができません。

正規表現とワイルドカードの違いは以下になります。

正規表現ワイルドカード意味
.**任意の0文字以上の文字列
.?任意の1文字
[ ][ ]カッコ内のいずれかの文字
[^ ][! ]カッコ内以外のいずれかの文字
{|}{ , }区切り文字で区切られた文字列のいずれか

linux ワイルドカードの使い方

linuxでのワイルドカードの使い方を実際のコマンドを用いて解説していきます。

linuxでワイルドカードを使用する方はぜひ、参考にしてみてください。

*…任意の0文字以上の文字列

任意の0文字以上の文字列を表示したい場合に*を使用します。

例えば、/tmp配下のtから始まるファイルをlsコマンドで表示したい場合には、以下のようなコマンドを使用します。

書式
ls /tmp/t*

?…任意の1文字

任意の1文字の文字を表示したい場合に?を使用します。

例えば、/tmp配下のtestファイルをlsコマンドで表示したい場合には、以下のようなコマンドを使用します。

書式
ls /tmp/?est

[ ]…カッコ内のいずれかの文字

カッコ内のいずれかの文字を表示したい場合に[ ]を使用します。

[ ]の使用方法は大きく4つあるため4つの分けて説明していきます。

①[123]…1か2か3のどれか

[ ]内に任意の文字を入れることで文字のどれかを表示することができます。

例えば、/tmp配下のtest1,test2,test3ファイルをlsコマンドで表示したい場合には以下のようなコマンドを使用します。

書式
ls /tmp/test[123]

②[0-9]…0から9の間のどれかの数字

カッコ内の連続している複数の文字を表示したい場合に[-]を使用します。

例えば、/tmp配下のtest0からtest9までの数字のファイルをlsコマンドで表示したい場合には以下のようなコマンドを使用します。

書式
ls /tmp/test[0-9]

③[!abc]…aでもbでもcでもない任意の文字

カッコ内で選択している文字以外を表示したい場合に[!]使用します。

例えば、/tmp配下のaest,best,cestファイル以外をlsコマンドで現したい場合は以下のようになります。

書式
ls /tmp/[!abc]est

{ , }カンマで区切られた文字列のいずれか

{}のカンマで区切られた文字列を表示したい場合に{ , }を使用します。

例えば、/tmp配下のtest及びbestファイルをlsコマンドで表示したい場合には以下のようなコマンドになります。

書式
ls /tmp/{test,best}

まとめ

いかがでしたか。

本記事では、linuxワイルドカードについて詳しく解説しました。

linuxワイルドカードについて詳しく知りたい方はぜひ、参考にしてみてください。

【初心者エンジニア必見!エンジニアが持っておきたい持ち物・ガジェット一覧】

エンジニアにおすすめの持ち物とガジェットを一覧でまとめています。

利用することで作業効率を上げることのできる物を厳選して紹介しているため、エンジニアの方やリモート勤務の方は特に参考にしてみてください。




ABOUT US
はなちゃん
24歳インフラエンジニア4年目のはなちゃんです。 未経験からインフラエンジニアになった経験を生かしてインフラエンジニアの基礎的部分、linux、awsを中心にブログを書いています。 ■保有資格:LPIC lenel3・ITパスポート ■業務経験:インフラ業務の設計~運用まで