デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE 道場トップ
第88回LV4⏱ 15〜30分

くりかえし:for

🎯 きょうのミッション

forで複数のファイルを順番に処理します。

👉 for で *.txt 全部のファイル名を順に表示するのが今回のゴールです。

📖 for =「順番にひとつずつ」

同じ作業を、複数のファイルに対して順番に繰り返すためのコマンドです。

Terminal3行版
for f in *.txt
do
  echo "$f を処理中"
done
  • for f in *.txt:「f を1個ずつ *.txt から取り出す」
  • do:「これから繰り返す内容」
  • echo "$f を処理中":その回の作業($f は今の1個)
  • done:「for の終わり」

📦 1行版とよく見る使い方

Terminal1行版
for f in *.txt; do echo "$f"; done

この1行を実行すると、現在のディレクトリの全 .txt ファイル名が、1行ずつ画面に出ます。

🧠 できるようになること

  • for f in *.txt; do ... done の形をそらで打てる
  • for の役割を、結果の例から確かめられる
  • 練習用ディレクトリの中で安全に試せる

🧰 用意するもの

  • このページの「🖥 れんしゅうターミナル」(練習用ディレクトリ linux-tanken 入り)
  • キーボードで英数字と記号を入力できること

🖼 ターミナルの見本

このコマンドを実行すると、こんな結果になります(環境によって少し違うことがあります)。

📺 実行例
$ for f in *.txt; do echo "$f"; done
memo.txt
names.txt
list.txt

⌨️ 今日のコマンド

Terminalれんしゅうターミナル
for f in *.txt; do echo "$f"; done

🚀 やってみよう

  1. cd ~/linux-tanken で練習場所に入ります。
  2. for f in *.txt; do echo "$f"; done と入力してEnterキーを押します。
  3. $f の中身が1個ずつ変わりながら、do〜done の中が繰り返し実行されます。

💡 探検ポイント

for f in *.txtのfは1回ごとに変わる「今の1個」。手作業を一瞬で終わらせる魔法。

🎮 チャレンジ

  • *.txt を *.csv に変えて、対象になるファイルのちがいを見よう。
  • for i in 1 2 3; do echo $i 回目; done のように、ファイル名以外のくりかえしも試そう。
  • echo の文面を「〜を処理中」から自分の好きなセリフに変えてみよう。

📝 ふりかえり

  • for f in *.txt の f は何?
  • 同じことを手作業でやるとしたら、何分かかる?
  • forを使いたい場面を1つ思いつく?

❓ うまくいかないとき

  • command not found → コマンド名のスペル確認。Tab補完で打ち間違いを防げる
  • No such file or directory → ls でファイル名・パスを見直す
  • 画面が固まった → Ctrl + C でコマンドを止める
  • 画面が乱れた → clear または Ctrl + L で整理する

👨‍👩‍👧 おうちの人・先生へ

この回はLinux初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。