Linux の基本を始める

LinuxBeginner
オンラインで実践に進む

はじめに

ターミナルは、テキストを使って Linux と対話するための手段です。プロンプトでコマンドを入力して Enter キーを押すと、Linux は出力を表示するか、システム上の何かを変更します。最初はプロンプトが見慣れないかもしれませんが、操作はすべて同じ単純なパターンに従います。

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

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

ヒント: LabEx を初めて使う場合は、Linux Learning Pathから始めることをおすすめします。

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

点滅するカーソルはプロンプトの後ろに表示されます。プロンプトは、シェルがコマンドを受け付ける準備ができていることを示します。プロンプト自体を入力してはいけません。まず、この実験用に準備されたワークスペースへ移動します。

cd /home/labex/project/first-commands

ターミナルタブで点滅するカーソルの位置にコマンドを入力します

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

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

pwd

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

/home/labex/project/first-commands

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

echo "Hello, Linux"

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

Hello, Linux

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

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

掛け算には、もう 1 つ注意点があります。シェルは*をファイル名のワイルドカードとして扱うため、バックスラッシュを付けて、掛け算演算子をそのまま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を練習し、簡単なオプションを使い、出力をファイルに保存しました。これで、より広範なファイル操作を学ぶ前に、小さなターミナルチャレンジでこれらの基本を実践する準備ができました。