このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linux基礎:コマンド練習12

コマンド練習12

 「コマンド練習12」では、5章の前半で登場したコマンドについて 練習問題を通して学びます。ここで扱うのは メタキャラクタ に関する内容であり、特に 波括弧展開によるファイル作成メタキャラクタを利用したファイルの表示 を取り上げます。

 Linux のシェルでは、{}*? などのメタキャラクタを利用することで、複数ファイルの一括操作や柔軟なファイル指定が可能です。これらの使い方を 表や図 を用いて整理し、実際に新規ファイルを作成して演習する流れになっています。最後に 「練習+模範解答例」 を掲載します。


メタキャラクタ解説

1.波括弧展開 {}

複数の文字列を展開してファイルやディレクトリを一度に作成。

使用例説明
touch file{1,2,3}.txtfile1.txt, file2.txt, file3.txt を作成
mkdir dir{A..C}dirA, dirB, dirC を作成

図:波括弧展開

2.ワイルドカード *?

ファイル名をパターン指定で操作。

使用例説明
ls *.txt拡張子が .txt のすべてのファイルを表示。* は0文字以上の任意の文字列
ls file?.txtfile1.txt, file2.txt など 1文字にマッチ。? は任意の一文字

図:ワイルドカード

練習問題 + 模範解答例

問題1

波括弧展開を使って、test1.txttest2.txttest3.txt を一度に作成してください。
模範解答例

[user@rocky9 ~]$ touch test{1..3}.txt
[user@rocky9 ~]$ ls test?.txt
test1.txt  test2.txt  test3.txt

問題2

reportA.txtreportB.txtreportC.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

 波括弧展開を使って、dir1dir2dir3 ディレクトリを作成し、それを一覧表示してください。
模範解答例

[user@rocky9 ~]$ mkdir dir{1..3}
[user@rocky9 ~]$ ls -d dir*
dir1  dir2  dir3

問題6

memo.txtmemo_dns.txt の内容をまとめて表示してください(ワイルドカードを使用)。
模範解答例

[user@rocky9 ~]$ cat memo*
This is a practice memo file
DNSメモ:
- /etc/resolve.conf を確認
- nameserver の到達性は ping で確認

まとめ

「コマンド練習12」では、5章の前半で登場したコマンドについて、特に メタキャラクタ の活用を学びました。

  • 波括弧展開 {} により複数ファイルやディレクトリを一度に作成
  • ワイルドカード *? により複数ファイルを柔軟に指定

 これにより、Linux シェルでのファイル操作を効率化し、日常的な作業を短縮できるスキルを習得できます。