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

新Linuxコマンド演習26

新Linuxコマンド演習26 概要

新Linuxコマンド演習26」では、Linuxのコマンド操作で頻繁に使われる
パイプ( | )メタキャラクタ( * , ? , [] ) の基本を学びます。

パイプを使えばコマンド同士をつなげて出力を渡すことができ、
メタキャラクタを使えば複数のファイルを一度に指定して操作することができます。

パイプ(Pipe)とは

パイプは、あるコマンドの出力を別のコマンドの入力として渡す仕組みです。
複数のコマンドを組み合わせることで、柔軟で効率的な処理が可能になります。

コマンド書式

書式説明
コマンド1 | コマンド2コマンド1の出力をコマンド2の入力に渡す

使用例

[suzuki@AlmaLinux ~]$ cat /etc/passwd | less

このコマンドは、catでファイル内容を出力し、lessでページ単位に表示します。
長いファイルでもスクロールしながら確認できます。

lessコマンドの主な操作キー

キー操作説明
スペースキー次のページを表示
Enterキー1行ずつ進む
↑ / ↓1行上 / 下にスクロール
b前のページへ戻る
gファイルの先頭へ移動
Gファイルの末尾へ移動
/文字列検索(nで次、Shift+nで前)
q終了する

メタキャラクタ(Meta Characters)とは

メタキャラクタとは、特別な意味を持つ記号です。
ファイル名をパターンでまとめて指定することができ、操作の効率を上げます。

メタキャラクタ意味使用例
*0文字以上の任意の文字列に一致ls *.txt
?任意の1文字に一致ls ?.txt
[][]内の任意の1文字に一致ls [ab].txt

演習問題+模範解答例

演習01:パイプで出力をつなぐ

問題
catコマンドの出力をlessコマンドに渡して、ページ単位で表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ cat /etc/passwd | less

解説
| (パイプ)を使うことで、cat の出力を less に引き渡します。
長いテキストファイルをページごとに確認できる便利な方法です。

演習02:練習用のディレクトリとファイルを作成する

問題
 メタキャラクタの練習に使うためのディレクトリと空ファイルを、最小限のコマンドで作成してください。

模範解答例

[suzuki@AlmaLinux ~]$ mkdir samdir
[suzuki@AlmaLinux ~]$ cd samdir
[suzuki@AlmaLinux samdir]$ touch {1..4}.txt {11,22,33,44}.txt {a..d}.txt

解説

  • mkdir samdir:新しいディレクトリを作成します。
  • cd samdir:そのディレクトリに移動します。
  • touch {1..4}.txt {11,22,33,44}.txt {a..d}.txt
    波かっこ展開(Brace Expansion)を使って複数のファイル名を一度に生成します。
    ・{1..4} → 1.txt ~ 4.txt
    ・{11,22,33,44} → 11.txt, 22.txt, 33.txt, 44.txt
    ・{a..d} → a.txt ~ d.txt

確認コマンド

[suzuki@AlmaLinux samdir]$ ls
1.txt  2.txt  3.txt  4.txt  11.txt  22.txt  33.txt  44.txt
a.txt  b.txt  c.txt  d.txt

演習03:メタキャラクタ「 * 」を使う

問題
拡張子が .txt のすべてのファイルを表示してください。

模範解答例

[suzuki@AlmaLinux samdir]$ ls *.txt
1.txt  2.txt  3.txt  4.txt  11.txt  22.txt  33.txt  44.txt
a.txt  b.txt  c.txt  d.txt

解説
* は任意の長さの文字列に一致します。
このため、すべての .txt ファイルが表示されます。

演習04:メタキャラクタ「?」を使う

問題
ファイル名が1文字+.txtの形式になっているファイルのみ表示してください。

模範解答例

[suzuki@AlmaLinux samdir]$ ls ?.txt
1.txt  2.txt  3.txt  4.txt  a.txt  b.txt  c.txt  d.txt

解説
? は「任意の1文字」を意味します。
2文字のファイル(例:11.txt)は表示されません。

演習05:メタキャラクタ「[]」を使う

問題
a または b で始まるファイルを表示してください。

模範解答例

[suzuki@AlmaLinux samdir]$ ls [ab].txt
a.txt  b.txt

解説
[ab] は「aまたはbで始まる」ファイル名を指定します。

演習06:範囲指定でファイルを検索する

問題
1〜3で始まるファイル名を表示してください。

模範解答例

[suzuki@AlmaLinux samdir]$ ls [1-3].txt
1.txt  2.txt  3.txt

解説
[1-3]は「1〜3のいずれかの数字」に一致します。
範囲を使って連番ファイルをまとめて扱えます。

演習終了時の作業

問題
作成したディレクトリとファイルを削除してください。

模範解答例

[suzuki@AlmaLinux samdir]$ cd ..
[suzuki@AlmaLinux ~]$ rm -r samdir

解説
-r オプションを付けることで、ディレクトリ内のファイルをまとめて削除します。

まとめ

新Linuxコマンド演習26」では、

  • パイプ( | )でコマンドをつなげる方法
  • メタキャラクタ( * , ? , [] )でファイルをまとめて操作する方法
  • touchと波かっこ展開 {} で練習用ファイルを最小コマンドで作る方法

を学びました。

これらはLinux操作の基礎中の基礎であり、
今後学ぶ「grep」「sort」「find」などのコマンドでも頻繁に登場します。
ぜひ実際に端末で試し、感覚的に使いこなせるように練習してみましょう。