過去問ドリル

LinuCレベル1 ファイル・ディレクトリの操作と管理 問31

ファイル・ディレクトリの操作と管理/基本的なファイル管理の実行

カレントディレクトリに file1.txt、file2.txt、file10.txt、fileA.txt の4つのファイルだけがある。bashで ls file[0-9].txt を実行したときに表示されるファイルとして正しいものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)

正解:D

解説

ワイルドカードの [0-9] は、角かっこ内に並べた範囲に含まれる任意の1文字にマッチします。そのため file[0-9].txt は「file」と「.txt」の間に数字がちょうど1文字だけ入る名前に一致し、file1.txt と file2.txt が該当します。file10.txt は間に2文字あるため一致しません。任意の文字列にマッチさせたい場合は * を、任意の1文字なら ? を使います。

選択肢ごとの解説

  • A誤り。[0-9] は1文字だけにマッチするため、数字が2文字入る file10.txt は一致しません。
  • B誤り。[0-9] は数字の範囲だけを表すので、英字の A を含む fileA.txt は一致しません。
  • C誤り。[0-9] は2文字の数字には一致しないので、file10.txt は表示されません。1文字の数字を含む2つのファイルが表示されます。
  • D正しい。file と .txt の間に数字がちょうど1文字あるファイル名だけが一致します。
LinuCレベル1の問題を演習モードで解く