第21回|ファイルの中をのぞく | 文字を書いて、表示してみよう|やさしい UNIX & Linux

* 当サイトでは、コンテンツの一部に広告を掲載しています。

System Note $ cat /proc/ai-disclosure

本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。

第21回|ファイルの中をのぞく | 文字を書いて、表示してみよう|やさしい UNIX & Linux

やさしい UNIX & Linux | 第21回

目次

ファイルの「中身」に触れる

第 20 回では、touchmkdircpmvrm を使ってファイルの作成・コピー・移動・削除を確認しました。扱ったファイルはすべて中身のない空の状態でした。

この回では、ファイルの「中身」に触れます。echo で文字を書き込み、cat で内容を表示し、less で長いファイルをスクロールして読む方法を確認していきます。「ファイルに文字を入れる・取り出す」という操作が、Linux での作業の核心につながります。

Linux のファイルは文字でできている

Linux では、設定ファイル・ログ・スクリプトのほとんどがプレーンテキスト(ただの文字データ)です。グラフィカルなエディタがなくても、コマンドラインだけで読み書きできる設計になっています。この回で学ぶ操作は、そのすべての出発点です。

echo|文字を画面に出す

echo は、指定した文字列を画面(標準出力)に表示するコマンドです。まずはファイルを使わずに動きを確認します。

echo Hello

Enter を押すと、Hello と表示されます。echo は打った文字をそのまま返すだけで、この時点ではファイルへの書き込みは行われていません。文字列にスペースを含む場合はクォートで囲みます。

echo "Hello, Linux"

echo でファイルに書き込む|リダイレクト >

echo の出力をファイルに書き込むには、>(リダイレクト)を使います。> は「出力先を画面からファイルに切り替える」記号です。

echo "Hello, Linux" > sample.txt

Enter を押しても何も表示されません。それが成功のサインです。sample.txt がなければ新規作成され、すでに存在する場合は内容が上書きされます。> は上書きのリダイレクトです。

cat|ファイルの内容を表示する

catConcatenate(連結・結合)の略で、ファイルの内容を画面に表示します。書き込んだ内容を確認するときに使います。

cat sample.txt

先ほど書き込んだ Hello, Linux が表示されます。中身が空のファイルに対して実行すると、何も表示されません。これも正常な動作です。-n オプションを付けると行番号も表示できます。

# 行番号付きで表示
cat -n sample.txt

複数ファイルを続けて書くと、それらを連結して表示します。cat file1.txt file2.txt のように使えます。

less|長いファイルをスクロールして読む

cat はファイルの全内容を一度に表示します。ファイルが長い場合は画面が流れてしまい、先頭の内容が見えなくなります。そのときに使うのが less です。

less /etc/os-release

実行すると画面が切り替わり、ファイルの内容が 1 画面分だけ表示されます。操作方法は次のとおりです。

  • 下にスクロール:j キーまたは下矢印キー
  • 上にスクロール:k キーまたは上矢印キー
  • 1 ページ下へ:スペースキー
  • 終了:q キー

q を押すと通常のプロンプトに戻ります。/検索語 と入力すると、ファイル内のキーワードを検索することもできます。ログファイルや設定ファイルを読むときに頻繁に使うコマンドです。

一連の操作を流れで確認する

この回で学んだコマンドを使った一連の操作例です。

cd ~                              # ホームディレクトリに移動
echo "Hello, Linux" > note.txt    # note.txt に文字を書き込む
cat note.txt                      # 内容を確認
echo "Second line" > note.txt     # 上書き(前の内容は消える)
cat note.txt                      # 上書き後の内容を確認
less /etc/os-release              # 長いファイルをスクロール表示(q で終了)

3 行目で Hello, Linux が表示されます。5 行目では Second line だけになり、1 行目が上書きで消えていることが確認できます。> が上書きである点は、次の回でさらに詳しく扱います。

まとめ|ファイルの読み書き基本 3 コマンド

第 21 回で確認したポイントをまとめます。

  • echo:文字列を画面に表示する。echo "文字列" > ファイル名 でファイルに書き込む(上書き)
  • cat(Concatenate):ファイルの内容を表示する。cat -n で行番号付き。複数ファイルを連結表示することもできる
  • less:長いファイルを 1 画面ずつスクロールして読む。q で終了、/ で検索
  • リダイレクト >:コマンドの出力先をファイルに切り替える。ファイルが存在する場合は上書きされる

Linux では「ファイルに書く」と「ファイルを読む」が別々のコマンドで行われます。一つの道具に一つの役割を持たせるという UNIX の設計思想が、ここにも表れています。

次回予告

第 21 回では、echo で文字を書き込み、cat で内容を表示し、less で長いファイルを読む方法を確認しました。

第 22 回では、>(上書き)と >>(追記)の違いを詳しく見ていきます。ファイルに内容を積み重ねる「追記」の操作は、ログの記録やメモの蓄積に使われる基本技術です。「ファイルは育てられる」という感覚をつかんでいきます。

さらに学びたいあなたへ

用途ごとに選ぶ Linux のおすすめ本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次