このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:コマンド練習12

コマンド練習12
「コマンド練習12」では、5章の前半で登場したコマンドについて 練習問題を通して学びます。ここで扱うのは メタキャラクタ に関する内容であり、特に 波括弧展開によるファイル作成 と メタキャラクタを利用したファイルの表示 を取り上げます。
Linux のシェルでは、{} や *、? などのメタキャラクタを利用することで、複数ファイルの一括操作や柔軟なファイル指定が可能です。これらの使い方を 表や図 を用いて整理し、実際に新規ファイルを作成して演習する流れになっています。最後に 「練習+模範解答例」 を掲載します。

メタキャラクタ解説
1.波括弧展開 {}
複数の文字列を展開してファイルやディレクトリを一度に作成。
| 使用例 | 説明 |
|---|---|
| touch file{1,2,3}.txt | file1.txt, file2.txt, file3.txt を作成 |
| mkdir dir{A..C} | dirA, dirB, dirC を作成 |
図:波括弧展開

2.ワイルドカード * と ?
ファイル名をパターン指定で操作。
| 使用例 | 説明 |
|---|---|
| ls *.txt | 拡張子が .txt のすべてのファイルを表示。* は0文字以上の任意の文字列 |
| ls file?.txt | file1.txt, file2.txt など 1文字にマッチ。? は任意の一文字 |
図:ワイルドカード

練習問題 + 模範解答例
問題1
波括弧展開を使って、test1.txt、test2.txt、test3.txt を一度に作成してください。
模範解答例
[user@rocky9 ~]$ touch test{1..3}.txt
[user@rocky9 ~]$ ls test?.txt
test1.txt test2.txt test3.txt問題2
reportA.txt、reportB.txt、reportC.txt を一度に作成してください。
模範解答例
[user@rocky9 ~]$ touch report{A..C}.txt
[user@rocky9 ~]$ ls report?.txt
reportA.txt reportB.txt reportC.txt問題3
拡張子が .txt のファイルをすべて表示してください。
模範解答例
[user@rocky9 ~]$ ls *.txt
confidential.txt file2.txt note.txt reportA.txt test3.txt
date.txt file3.txt numbers.txt reportB.txt today.txt
design.txt log1.txt practice_nano.txt reportC.txt words.txt
file1.txt log2.txt practice_vi.txt sorted.txt
file1_copy.txt memo.txt process.txt test1.txt
file1_link.txt memo_dns.txt report.txt test2.txt問題4
ファイル名が report + 任意の文字列 + .txt 形式のファイルを表示してください。
模範解答例
[user@rocky9 ~]$ ls report*.txt
report.txt reportA.txt reportB.txt reportC.txt問題5
波括弧展開を使って、dir1、dir2、dir3 ディレクトリを作成し、それを一覧表示してください。
模範解答例
[user@rocky9 ~]$ mkdir dir{1..3}
[user@rocky9 ~]$ ls -d dir*
dir1 dir2 dir3問題6
memo.txt と memo_dns.txt の内容をまとめて表示してください(ワイルドカードを使用)。
模範解答例
[user@rocky9 ~]$ cat memo*
This is a practice memo file
DNSメモ:
- /etc/resolve.conf を確認
- nameserver の到達性は ping で確認まとめ
「コマンド練習12」では、5章の前半で登場したコマンドについて、特に メタキャラクタ の活用を学びました。
- 波括弧展開
{}により複数ファイルやディレクトリを一度に作成 - ワイルドカード
*や?により複数ファイルを柔軟に指定
これにより、Linux シェルでのファイル操作を効率化し、日常的な作業を短縮できるスキルを習得できます。
