はじめに

ターミナルは、Linux と文字でやり取りするための手段です。プロンプトにコマンドを入力して Enter キーを押すと、Linux は結果を表示したり、システム上の何かを変更したりします。最初はプロンプトが見慣れないかもしれませんが、操作の基本的な流れは常に同じです。

この最初の実験では、テキストを表示するコマンド、日付を表示するコマンド、カレンダーを表示するコマンド、数値を計算するコマンド、テキストアートを作成するコマンドを、安全に実行します。また、いくつかの結果を /home/labex/project/first-commands の下に保存し、一時的なターミナル出力とファイルに保存された情報の違いも確認します。

最初のコマンドを実行する

ヒント: LabEx を初めて利用する場合は、まず Linux 学習パスから始めることをおすすめします。

このステップでは、ターミナルのプロンプトを見分け、コマンドを実行し、その出力を読み取る方法を学びます。

点滅するカーソルはプロンプトの後ろに表示されます。プロンプトは、シェルがコマンド入力を待っていることを示すものであり、プロンプト自体を入力する必要はありません。まず、この実験用に用意された作業場所へ移動します。

cd /home/labex/project/first-commands

Terminal タブの点滅カーソルの位置にコマンドを入力する

cd は「change directory(ディレクトリを変更する)」を意味します。ディレクトリとは、Linux でフォルダーを表す呼び方です。ディレクトリについては後の実験で詳しく扱いますが、ここでは、このコマンドによって保存したすべての結果を一つの決まった場所にまとめられます。

pwd を実行します。これは「print working directory(現在の作業ディレクトリを表示する)」という意味です。

pwd

出力には、先ほど移動したディレクトリが表示されます。

/home/labex/project/first-commands

次に echo を使って、シェルにテキストを表示させます。

echo "Hello, Linux"

次のように表示されます。

Hello, Linux

引用符によって、複数の単語が一つのテキスト値として扱われます。次は、この挨拶文をファイルに保存します。> 記号は出力リダイレクトと呼ばれます。シェルは右側に指定された名前のファイルを作成し、コマンドの通常の出力を画面ではなくそのファイルへ送ります。ファイルがすでに存在する場合、> は以前の内容を置き換えるため、大切なデータに使用する前には保存先を確認してください。

echo "Hello, Linux" > greeting.txt

このコマンドでは、出力が greeting.txt に送られるため、画面には何も表示されません。

cat を使って保存したファイルを読み取ります。

cat greeting.txt

再び Hello, Linux と表示されれば、テキストがターミナル画面に表示されただけでなく、greeting.txt にも保存されていることを確認できます。

日付とカレンダーを確認する

このステップでは、Linux に時刻情報を尋ね、コマンドの出力が環境によって変わることを学びます。

オプションを付けずに date を実行します。

date

Linux は、現在の曜日、日付、時刻、タイムゾーン、年を表示します。正確な値は毎秒変わるため、実際の出力は他の場所にある例とは異なります。

コマンドには、出力内容を変更するオプションを指定できる場合があります。+ で始まる date の書式を使うと、表示する項目を選べます。%F は ISO 形式の日付 YYYY-MM-DD を表します。

date +%F

今日の日付を ISO 形式で保存します。前のステップと同様に、> は出力をファイルへリダイレクトし、ファイルがすでに存在する場合は内容を置き換えます。

date +%F > today.txt

cal コマンドは、現在の月をカレンダーとして表示します。

cal

月や曜日の配置は、現在の日付とロケールによって異なります。この出力も保存してみましょう。

cal > calendar.txt

> 記号を使うと、出力は画面ではなくファイルに送られます。保存したカレンダーを表示して、正しく書き込まれたことを確認します。

cat calendar.txt

リダイレクトについては、後で詳しく学びます。今は、ターミナルの出力をその場で表示することも、後で使えるよう保存することもできると覚えておきましょう。

Expr で計算する

このステップでは、整数の計算に expr を使い、シェルコマンドではスペースが重要である理由を確認します。

シェルは、コマンドラインをスペースで区切られた単語に分解します。expr では、最初の数値、演算子、2 番目の数値を、それぞれ別の引数として指定する必要があります。2 つの数値を足してみましょう。

expr 5 + 3

結果は次のようになります。

8

減算と除算も試します。

expr 20 - 7
expr 24 / 6

乗算には、もう一つ注意点があります。シェルは * をファイル名のワイルドカードとして扱うため、バックスラッシュでエスケープし、乗算演算子そのものを expr に渡します。

expr 6 \* 7

乗算の結果をファイルに保存します。これは先ほど練習した出力リダイレクトと同じ仕組みを使うため、calculation.txt42 が書き込まれ、ターミナルには何も表示されません。

expr 6 \* 7 > calculation.txt

ファイルの内容を表示します。

cat calculation.txt

42 と表示されるはずです。この最初の練習では、コマンドの構造、つまりコマンド名、スペースで区切られた引数、必要に応じた出力先に集中できます。

テキストを ASCII アートに変換する

このステップでは、コマンドオプションを使って figlet のテキスト形式を変更します。

figlet は、通常のターミナル文字を使って大きな文字を作成します。短い単語で実行してみましょう。

figlet "LabEx"

出力は複数行にわたります。画像のピクセルではなくテキスト文字を使っているため、これは ASCII アートと呼ばれます。

Linux のオプションの多くは - で始まります。figlet では、-f でフォントを選択し、slant がフォント名です。試してみましょう。

figlet -f slant "Linux"

最初のデザインをファイルに保存します。

figlet "LabEx" > labex-art.txt

保存したアートの先頭部分を確認します。

head labex-art.txt

head は、デフォルトで先頭 10 行を表示します。ターミナルに表示されたものと同じ、複数行のデザインが表示されるはずです。

混雑したターミナルをリセットする

このステップでは、古い出力を画面から消し、画面の整理とファイルの削除が別の操作であることを確認します。

コマンドを何度も実行すると、ターミナルの表示が見づらくなることがあります。次を実行します。

clear

clear は、古いターミナル出力を画面の表示範囲外へ移動します。コマンド、ファイル、ディレクトリを削除するわけではありません。多くのターミナルでは、同じ画面整理を行うキーボードショートカットとして Ctrl+L も使用できます。

作成したファイルがまだ存在することを、作業場所の一覧表示で確認します。

ls

greeting.txttoday.txtcalendar.txtcalculations.txtlabex-art.txt が引き続き表示されるはずです。

画面を整理した後、最後の目印となるファイルを作成します。

echo "Terminal ready" > terminal-ready.txt

目印の内容を表示して確認します。

cat terminal-ready.txt

この最後のコマンドから、重要な点が分かります。画面を消去しても、現在見えている表示が変わるだけで、ファイルはディスク上に保存されたままです。

まとめ

ターミナル操作の基本的な流れ、つまりコマンドを入力し、Enter キーを押し、結果を読み取る方法を学びました。pwdechodatecalexprfigletclear を練習し、簡単なオプションを使い、出力をファイルに保存しました。これで、より幅広いファイル操作を学ぶ前に、小さなターミナルチャレンジで基本事項を実践する準備が整いました。