Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。

(今すぐ↑をクリックしてください。)
ファイル検索をする時に役立つのがシェルのメタキャラクタです。
メタキャラクタとは、ファイル名のパターンを表す特殊な記号のことを指します。
メタキャラを使うと、パターンに一致する複数のファイルを一括して扱うことができます。
例えば、カレントディレクトリに↓のファイルが存在するとします。
-----------------------------------------------------
$ ls
a.txt aaa b.txt bbb c.txt ccc
-----------------------------------------------------
メタキャラクタを使って「*.txt」とした場合、
↑の例で対象になるは、「a.txt、b.txt、c.txt」になります。
また、「a*」とした場合、「a.txt、aaa」が対象になります。
-----------------------------------------------------
$ ls *.txt
a.txt b.txt c.txt
-----------------------------------------------------
-----------------------------------------------------
$ ls a*
a.txt aaa
-----------------------------------------------------
メタキャラクタを、メタキャラクタではなく、通常の文字として使用したい場合は、
「\」を使って特殊な意味を打ち消します。
これをエスケープシーケンスといいます。
例えば、「\*」はアスタリスク「*」を文字として扱います。
-----------------------------------------------------
$ ls * ←カレントディレクトリ内のすべてのファイルが表示される
a.txt aaa b.txt bbb c.txt ccc
$ touch ¥* ←「¥」を付けて*というファイル名のファイルを作成
$ ls ¥* ←「¥」を付けて*ファイルを表示する
*
-----------------------------------------------------
環境によっては「¥」記号が\(バックスラッシュ)で表示される場合があります。
その場合は、↓のページを確認してください。
http://www.linuxmaster.jp/linux_blog/2010/03/linux-1.html
-----------------------------------------------------------------------------
メタ 説明
キャラクタ
-----------------------------------------------------------------------------
* 0文字以上の文字または文字列にマッチします。
例えば、「a*」は、a、aa、abc、aaaaのいずれにもマッチします。
特に0文字にもマッチすることに注意が必要です。
-----------------------------------------------------------------------------
? 任意の1文字にマッチします。
例えば「a?」はaa、a2などにマッチして、aやabcにはマッチしません。
-----------------------------------------------------------------------------
[] []内に列挙されている文字のいずれかに1文字マッチします。
例えば、「a[bcd]」は、ab、ac、adのいずれかにマッチします。
abcにはマッチしません。
また連続した文字列には「-」が使えます。「a-z」はアルファベットの
小文字にマッチし、「0-9」は数字全てにマッチします。
つまり、[0-9]は[0123456789]と指定したのと同じになります。
範囲指定の先頭に「!」をつけると、マッチしない範囲を
指定できます。a[!bcd]は、aa、a1とはまっちしますが、
ab、ac、adとはマッチしません。
[!a-z]はアルファベットの小文字以外の任意の文字にマッチします。
-----------------------------------------------------------------------------
{} {}内の文字を使って文字列を生成します。
「text{1,2}」は、text1、text2を生成します。
-----------------------------------------------------------------------------
■CentOS7.1サーバー構築マニュアルを無料プレゼント
「CentOS7.1」のサーバー構築手順、「VMware Player」の
ダウンロードとインストール手順をまとめたマニュアルを
無料でプレゼントしています。
詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。

