Red Hat Enterprise Linux でのテキストファイル編集

Red Hat Enterprise LinuxBeginner
オンラインで実践に進む

はじめに

この実験(Lab)では、Linux でテキストファイルを管理し、シェル環境をカスタマイズするための基本的なスキルを習得します。標準出力と標準エラー出力をファイルにリダイレクトする方法、異なるストリームを組み合わせる方法、そしてタスクを自動化するための強力なコマンドパイプラインを構築する方法を学びます。

さらに、広く使用されている強力なテキストエディタである Vim を使用してテキストファイルを編集する基本を学びます。最後に、コマンドラインエクスペリエンスをパーソナライズし、生産性を向上させるために、シェル変数とエイリアスを構成し、利用する方法を学びます。

標準出力をファイルにリダイレクトする

このステップでは、コマンドの標準出力をファイルにリダイレクトする方法を学びます。これは Linux システム管理における基本的なスキルであり、後で分析、ロギング、またはさらなる処理のためにコマンドの結果をキャプチャすることを可能にします。

シェルは、入出力の管理に特別なファイル記述子を使用します。最も一般的なものは次のとおりです。

  • 0: 標準入力(stdin) - 通常はキーボードから。
  • 1: 標準出力(stdout) - 通常は端末画面へ。
  • 2: 標準エラー(stderr) - 通常はエラーメッセージ用の端末画面へ。

このセクションでは、stdout のリダイレクトに焦点を当てます。

> を使用してファイルを上書きする

> 演算子は、コマンドの標準出力を指定されたファイルにリダイレクトします。ファイルが存在しない場合は、作成されます。ファイルが既に存在する場合は、その内容が上書きされます。

現在の日時を使用して簡単なテキストファイルを作成することから始めましょう。

  1. まず、ホームディレクトリの project フォルダにいることを確認します。

    cd ~/project
    [labex@host project]$
  2. 次に、date コマンドを使用し、その出力を current_datetime.txt という新しいファイルにリダイレクトします。

    date > current_datetime.txt

    このコマンドは date を実行しますが、日付を端末に出力する代わりに、それを current_datetime.txt に保存します。

  3. cat コマンドを使用して、ファイルの内容を確認します。

    cat current_datetime.txt
    Mon Day XX HH:MM:SS AM/PM TimeZone YYYY

    出力には、上記の例と同様に、現在の日時が表示されます。

  4. 次に、echo の出力を同じファイルにリダイレクトしてみましょう。これにより、以前の内容が上書きされます。

    echo "This is a new line of text." > current_datetime.txt
  5. もう一度ファイルの内容を確認します。

    cat current_datetime.txt
    This is a new line of text.

    ご覧のように、元の日時が新しいテキスト行に置き換えられました。

>> を使用してファイルに追加する

>> 演算子は、コマンドの標準出力を指定されたファイルにリダイレクトし、新しい内容をファイルの末尾に追加します。ファイルが存在しない場合は、作成されます。

current_datetime.txt ファイルにさらに内容を追加してみましょう。

  1. current_datetime.txt に別のテキスト行を追加します。

    echo "This line is appended." >> current_datetime.txt
  2. ファイルの内容を表示します。

    cat current_datetime.txt
    This is a new line of text.
    This line is appended.

    新しい行が既存の内容の後に追加されたことに注意してください。

  3. もう一度現在の日時を追加してみましょう。

    date >> current_datetime.txt
  4. もう一度ファイルの内容を確認します。

    cat current_datetime.txt
    This is a new line of text.
    This line is appended.
    Mon Day XX HH:MM:SS AM/PM TimeZone YYYY

    日時がファイルの末尾に表示されるようになりました。

他のコマンドの出力をリダイレクトする

ほとんどすべてのコマンドの出力をリダイレクトできます。lswc の出力をリダイレクトしてみましょう。

  1. ls -l(詳細リスト形式)の出力を file_list.txt というファイルにリダイレクトします。

    ls -l > file_list.txt
  2. file_list.txt の内容を調べます。

    cat file_list.txt
    total 4
    -rw-r--r-- 1 labex labex 80 Jun  4 07:04 current_datetime.txt
    -rw-r--r-- 1 labex labex  0 Jun  4 07:04 file_list.txt

    このファイルには、現在のディレクトリ内のファイルの詳しいリストが含まれるようになりました。正確なファイルサイズとタイムスタンプは、コマンドを実行した時間によって異なります。

  3. 次に、wc -l を使用して file_list.txt の行数をカウントし、そのカウントを別のファイル line_count.txt にリダイレクトします。

    wc -l file_list.txt > line_count.txt
  4. line_count.txt の内容を表示します。

    cat line_count.txt
    3 file_list.txt

    出力は、file_list.txt が 3 行(total 行と 2 つのファイルエントリを含む)であることを示しています。

これで、標準出力をリダイレクトする最初の部分が終了しました。> を使用してファイルを作成および上書きし、>> を使用してファイルに追加する方法を学びました。

標準エラーのリダイレクトとストリームの結合

このステップでは、標準エラー(stderr)をリダイレクトする方法と、stdoutstderr を単一のストリームに結合する方法を学びます。これは、コマンドによって生成されたエラーメッセージを管理するために不可欠であり、必要に応じてログに記録したり、破棄したりできます。

stderr はファイル記述子 2 であることを思い出してください。エラーメッセージをリダイレクトするには 2> を使用します。

標準エラーをファイルにリダイレクトする

場合によっては、標準出力とは別にキャプチャしたいエラーメッセージがコマンドから生成されることがあります。

  1. ~/project ディレクトリにいることを確認します。

    cd ~/project
    [labex@host project]$
  2. 存在しないディレクトリの内容をリスト表示してみましょう。これにより、エラーメッセージが生成されます。

    ls non_existent_directory
    ls: cannot access 'non_existent_directory': No such file or directory

    エラーメッセージが端末に直接出力されているのがわかります。

  3. 次に、このエラーメッセージを errors.log というファイルにリダイレクトします。

    ls non_existent_directory 2> errors.log

    今回は、エラーメッセージが端末に表示されません。

  4. errors.log の内容を確認します。

    cat errors.log
    ls: cannot access 'non_existent_directory': No such file or directory

    エラーメッセージがファイルに保存されました。

標準エラーを破棄する

多くの場合、不要なノイズの多いエラーメッセージを生成するコマンドを実行したい場合があります。そのような場合は、stderr/dev/null にリダイレクトできます。/dev/null は、そこに書き込まれたすべてのデータを破棄する特別なデバイスファイルです。

  1. 存在しないディレクトリで ls コマンドをもう一度試しますが、今回はエラーを破棄します。

    ls non_existent_directory 2> /dev/null

    端末には何も出力されず、エラーメッセージもファイルに保存されません。

標準出力と標準エラーを結合する

stdoutstderr の両方を同じファイルにキャプチャしたい場合があります。これはいくつかの方法で行うことができます。

方法 1: > file 2>&1

この方法は、stdout をファイルにリダイレクトし、次に stderrstdout と同じ場所にリダイレクトします。順序 2>&1 が重要です。これは、「ファイル記述子 2 (stderr) をファイル記述子 1 (stdout) と同じ場所にリダイレクトする」ことを意味します。

  1. 標準出力と標準エラーの両方を生成するコマンドを作成しましょう。find を使用して、アクセス許可のあるディレクトリとアクセス許可のないディレクトリでファイルを検索します。

    find ~/project /root -name "current_datetime.txt" > combined_output.log 2>&1

    ここで、find ~/project -name "current_datetime.txt"stdout を生成し(見つかった場合)、find /root -name "current_datetime.txt" は、アクセス許可の問題により、おそらく stderr を生成します。

  2. combined_output.log ファイルを調べます。

    cat combined_output.log
    /home/labex/project/current_datetime.txt
    find: ‘/root’: Permission denied

    成功した出力(ファイルのパス)とエラーメッセージの両方が同じファイルにキャプチャされていることがわかります。

方法 2: &> file (Bash 固有)

Bash は、stdoutstderr をファイルに結合するための短縮形 &> を提供しています。これは > file 2>&1 と同等です。

  1. &> 短縮形を使用して、同じ find コマンドを試してみましょう。

    find ~/project /root -name "file_list.txt" &> combined_output_shorthand.log
  2. combined_output_shorthand.log の内容を確認します。

    cat combined_output_shorthand.log
    /home/labex/project/file_list.txt
    find: ‘/root’: Permission denied

    結果は前の方法と同じであり、&> の便利さを示しています。

結合されたストリームを追加する

stdout と同様に、>> file 2>&1 または &>> file を使用して、結合された stdoutstderr をファイルに追加できます。

  1. さらに出力とエラーを combined_output.log に追加します。

    find ~/project /root -name "line_count.txt" >> combined_output.log 2>&1
  2. 更新された combined_output.log を表示します。

    cat combined_output.log
    /home/labex/project/current_datetime.txt
    find: ‘/root’: Permission denied
    /home/labex/project/line_count.txt
    find: ‘/root’: Permission denied

    新しい出力とエラーが既存の内容に追加されます。

これで、標準エラーをリダイレクトする方法と、標準出力と標準エラーを単一のファイルに結合する方法を正常に学習しました。この知識は、堅牢なスクリプト作成とシステム管理タスクに不可欠です。

コマンドパイプラインの構築と理解

このステップでは、コマンドパイプラインについて学びます。これは Linux シェルにおける強力な機能であり、複数のコマンドを連鎖させることができます。あるコマンドの出力が次のコマンドの入力となり、複雑なデータ処理と操作が可能になります。

パイプ演算子 | (縦棒) は、パイプラインでコマンドを接続するために使用されます。これは、左側のコマンドの標準出力(stdout)を、右側のコマンドの標準入力(stdin)にリダイレクトします。

基本的なパイプライン

パイプラインの仕組みを理解するために、簡単な例から始めましょう。

  1. ~/project ディレクトリにいることを確認します。

    cd ~/project
    [labex@host project]$
  2. まず、現在のディレクトリ内のファイルをリスト表示してみましょう。

    ls
    combined_output.log
    combined_output_shorthand.log
    current_datetime.txt
    errors.log
    file_list.txt
    line_count.txt
  3. 次に、ls の出力を wc -l コマンドにパイプし、受け取った行数をカウントします。

    ls | wc -l
    6

    ls コマンドはファイルをリスト表示し、その出力(各ファイル名が新しい行に表示される)が wc -l に入力として供給され、wc -l はこれらの行をカウントし、現在の場所にあるファイル/ディレクトリの数を効果的に示します。

  4. 別の一般的なユースケースを試してみましょう。ls -lless にパイプして、ページ単位の出力を表示します。これは、コマンドが単一の画面に収まらないほど多くの出力を生成する場合に役立ちます。

    ls -l /usr/bin | less
    total 200000
    -rwxr-xr-x 1 root root 12345 Jan XX HH:MM [filename]
    ... (press 'q' to quit less) ...

    ls -l /usr/bin コマンドは、/usr/bin 内のすべてのファイルを詳細情報とともにリスト表示します。この出力は less に送信され、ページごとにスクロールできます。q を押して less を終了します。

grep を使用した出力のフィルタリング

grep コマンドは、特定のパターンに一致する行をフィルタリングするためにパイプラインでよく使用されます。

  1. ps aux を使用してシステムで実行されているすべてのプロセスをリスト表示し、次に bash に関連するプロセスをフィルタリングします。

    ps aux | grep bash
    labex     1234  0.0  0.1  12345  6789 ?        Ss   HH:MM   0:00 /usr/bin/bash
    labex     5678  0.0  0.0   9876  5432 pts/0    S+   HH:MM   0:00 grep bash

    ps aux コマンドは、実行中のすべてのプロセスをリスト表示します。その出力は grep bash にパイプされ、grep bash は「bash」という単語を含む行のみを表示します。現在の bash シェルと grep コマンド自体の 2 行が表示される場合があります。

  2. grep コマンドを出力から除外するには、grep -v(反転マッチ)を使用するか、パターンを洗練させることができます。grep -v grep を試してみましょう。

    ps aux | grep bash | grep -v grep
    labex     1234  0.0  0.1  12345  6789 ?        Ss   HH:MM   0:00 /usr/bin/bash

    これで、実際の bash プロセスのみが表示されます。

sortuniq の使用

sort はテキストの行をソートするために使用され、uniq は繰り返される行を報告または省略するために使用されます。これらは一緒に使用されることがよくあります。

  1. ソートされていない、繰り返される単語を含むファイルを作成しましょう。

    echo -e "apple\nbanana\napple\norange\nbanana" > fruits.txt
  2. fruits.txt の内容を表示します。

    cat fruits.txt
    apple
    banana
    apple
    orange
    banana
  3. 次に、fruits.txt の行をソートしましょう。

    cat fruits.txt | sort
    apple
    apple
    banana
    banana
    orange
  4. ソートされた一意の単語のみを取得するには、sort の出力を uniq にパイプします。

    cat fruits.txt | sort | uniq
    apple
    banana
    orange

    このパイプラインは、最初に線をソートし、次に uniq が隣接する重複行を削除します。

tee コマンド

tee コマンドは、パイプラインで特別な役割を果たします。標準入力を読み取り、標準出力に書き込み、同時に 1 つ以上のファイルに書き込みます。これは、パイプ内の「T」ジャンクションのようなもので、データが 2 つの方向に流れることを可能にします。

  1. ファイルをリスト表示し、出力を ls_output.txt に保存すると同時に、画面にも表示します。

    ls -l | tee ls_output.txt
    total 24
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM combined_output.log
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM combined_output_shorthand.log
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM current_datetime.txt
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM errors.log
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM file_list.txt
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM fruits.txt
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM line_count.txt
    -rw-r--r-- 1 labex labex 0 Jan XX HH:MM ls_output.txt

    端末に ls -l の出力が表示され、ls_output.txt というファイルが同じ内容で作成されます。

  2. ls_output.txt の内容を確認します。

    cat ls_output.txt
    total 24
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM combined_output.log
    ... (same as above) ...
  3. tee -a を使用して、出力をファイルに追加することもできます。

    echo "--- End of list ---" | tee -a ls_output.txt
    --- End of list ---

    行「--- End of list ---」が端末に出力され、ls_output.txt に追加されます。

  4. 更新された ls_output.txt を確認します。

    cat ls_output.txt
    total 24
    ... (previous ls -l output) ...
    --- End of list ---

パイプラインは非常に汎用性が高く、多くの強力なシェルスクリプトとワンライナーコマンドのバックボーンを形成しています。単純なコマンドを組み合わせることで、複雑なデータ変換を効率的に実行できます。

Vim の基本操作によるテキストファイルの編集

このステップでは、Linux 環境で広く使用されている強力なテキストエディタである Vim の基本的な操作を学びます。Vim はさまざまなモードで動作し、初心者には少し難しいかもしれませんが、基本をマスターすることで生産性が大幅に向上します。

Vim はモードエディタであり、さまざまなタスクに対して異なるモードがあります。

  • ノーマルモード(コマンドモード): これは Vim を開いたときのデフォルトモードです。このモードでは、キーストロークはコマンドとして解釈されます(例:カーソルの移動、テキストの削除、テキストのコピー)。
  • インサートモード: このモードでは、入力した内容はすべてファイルに挿入されます。ノーマルモードからインサートモードに入るには、i(カーソル位置に挿入)、a(カーソル後に追記)、o(下に新しい行を開く)などを押します。ノーマルモードに戻るには、Esc を押します。
  • ビジュアルモード: このモードでは、コピー、カット、削除などの操作のためにテキストのブロックを選択できます。ノーマルモードからビジュアルモードに入るには、v(文字単位)、Shift+V(行単位)、または Ctrl+V(ブロック単位)を押します。ノーマルモードに戻るには、Esc を押します。
  • コマンドラインモード(Ex モード): このモードは、コロン(:)で始まるコマンド(例:保存(:w)、終了(:q)、検索(/))を実行するために使用されます。ノーマルモードからこのモードに入るには、: を押します。

開く操作と基本的なナビゲーション

  1. ~/project ディレクトリにいることを確認します。

    cd ~/project
    [labex@host project]$
  2. vim を使用して、my_document.txt という新しいファイルを開きます。

    vim my_document.txt

    ターミナルに Vim インターフェースが表示されます。現在、ノーマルモードです。

  3. ノーマルモードでは、矢印キーまたは h(左)、j(下)、k(上)、l(右)を使用してナビゲートできます。ファイルは空なので、まだあまりナビゲートできるものはありません。

インサートモード:テキストの追加

  1. 入力を開始するには、インサートモードに入る必要があります。i(挿入)を押します。
    ターミナルの左下に -- INSERT -- と表示され、インサートモードになっていることがわかります。

  2. 次の行を入力します。

    This is the first line.
    This is the second line.
    This is the third line.
  3. インサートモードを終了してノーマルモードに戻るには、Esc キーを押します。
    -- INSERT -- インジケーターが消えるはずです。

保存と終了

  1. ノーマルモードでファイルを保存するには、:w と入力して Enter を押します。

    :w

    下部に my_document.txt [New] 3L, 60B written と表示され、保存が確認されます。

  2. Vim を終了するには、:q と入力して Enter を押します。

    :q

    シェルプロンプトに戻ります。

  3. cat を使用して、my_document.txt の内容を確認します。

    cat my_document.txt
    This is the first line.
    This is the second line.
    This is the third line.

既存ファイルの編集

  1. my_document.txt をもう一度開きます。

    vim my_document.txt
  2. ノーマルモードで、カーソルを 2 行目の先頭に移動します(j または矢印キーを使用)。

  3. Shift+V を押して、ビジュアルラインモードに入ります。2 行全体がハイライト表示されます。

  4. y を押して、選択した行を「ヤンク」(コピー)します。

  5. カーソルを 3 行目の末尾に移動します(j または矢印キーを使用)。

  6. p を押して、ヤンクした行を現在の行の下に「プット」(ペースト)します。
    2 行目が 4 行目として再び表示されます。

  7. 次に、行を削除しましょう。カーソルを 4 行目(先ほどペーストした行)に移動します。

  8. dd(2 回 d)を押して、行全体を削除します。

  9. 最後の変更を元に戻すには、u を押します。削除された行が再び表示されます。

  10. 1 つのコマンドで保存して終了するには、:wq と入力して Enter を押します。

    :wq
  11. もう一度 my_document.txt の内容を確認します。

    cat my_document.txt
    This is the first line.
    This is the second line.
    This is the third line.
    This is the second line.

    ファイルには、2 行目が重複して 4 行あるはずです。

変更の破棄

変更を加えて、保存したくないと判断することがあります。

  1. my_document.txt をもう一度開きます。

    vim my_document.txt
  2. i を押してインサートモードに入ります。

  3. 最後に新しい行を追加します。

    This line should not be saved.
  4. Esc を押してノーマルモードに戻ります。

  5. :q を使用して終了を試みます。

    :q

    Vim は警告します:E37: No write since last change (add ! to override)。これは、未保存の変更があることを意味します。

  6. 保存せずに終了するには、:q! と入力して Enter を押します。

    :q!

    シェルプロンプトに戻り、変更は破棄されます。

  7. my_document.txt の内容を確認します。

    cat my_document.txt
    This is the first line.
    This is the second line.
    This is the third line.
    This is the second line.

    追加した最後の行は存在しないはずです。

これで、Vim の非常に基本的な操作(ファイルの開き方、テキストの挿入、ナビゲーション、保存、終了、変更の破棄)をカバーしました。これらは、Vim を始めるための基本的なスキルです。

シェル変数とエイリアスの設定と使用

このステップでは、シェル変数とエイリアスの設定と使用方法を学びます。これらは、シェル環境をカスタマイズし、データを保存し、頻繁に使用するコマンドのショートカットを作成できる強力な機能であり、コマンドラインの効率を大幅に向上させます。

シェル変数

シェル変数は、データを格納する名前付きエンティティです。数値、テキスト、またはシェルまたはシェル内で実行されるプログラムで使用できるその他のデータを格納できます。

  1. ~/project ディレクトリにいることを確認します。

    cd ~/project
    [labex@host project]$
  2. ローカル変数の設定: MY_MESSAGE という単純な変数を作成しましょう。

    MY_MESSAGE="Hello, LabEx!"

    = 記号の周りにスペースがないことに注意してください。

  3. 変数へのアクセス: 変数の値にアクセスするには、その名前の前に $ 記号を付けます。

    echo $MY_MESSAGE
    Hello, LabEx!
  4. 中括弧を使用した変数の展開: 特に他の文字が続く場合など、変数名を明確に区切る必要がある場合があります。これには、中括弧 {} を使用します。

    echo "The message is: ${MY_MESSAGE}."
    The message is: Hello, LabEx!.

    中括弧を省略すると、シェルは MY_MESSAGE. を存在しない変数名として解釈する可能性があります。

  5. 設定されているすべての変数のリスト表示: set コマンドを使用して、現在設定されているすべてのシェル変数と関数をリスト表示できます。この出力は非常に長くなる可能性があるため、less にパイプすることがよくあります。

    set | less
    BASH=/usr/bin/bash
    BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
    ... (press 'q' to quit less) ...

    q を押して less を終了します。

  6. 変数の未設定: 変数を削除するには、unset コマンドを使用します。

    unset MY_MESSAGE
  7. 変数が設定されなくなったことを確認します。

    echo $MY_MESSAGE

    空行が表示され、変数が未設定であることが示されます。

環境変数

環境変数は、子プロセスによって継承される特別なタイプのシェル変数です。これは、現在のシェルから起動されたすべてのプログラムまたはスクリプトがこれらの変数にアクセスできることを意味します。これらは通常、アプリケーションの環境を設定するために使用されます。

  1. 環境変数の設定: export コマンドを使用して、変数を環境変数にします。

    export EDITOR=vim

    これにより、多くのプログラムが好みのテキストエディタを決定するために使用する EDITOR 環境変数が設定されます。

  2. 環境変数のリスト表示: env コマンドを使用して、環境変数のみをリスト表示します。

    env | grep EDITOR
    EDITOR=vim
  3. 変数のエクスポート解除: export -n を使用して、変数を未設定にすることなくエクスポート解除できます。これにより、ローカル変数に戻ります。

    export -n EDITOR
  4. 環境変数ではなくなったことを確認します。

    env | grep EDITOR

    出力が表示されないはずです。ただし、ローカル変数としてはまだ存在します。

    echo $EDITOR
    vim
  5. 完全に削除するには、unset を使用します。

    unset EDITOR

シェルエイリアス

エイリアスは、コマンドのショートカットです。これらを使用すると、より長いコマンドまたは一連のコマンドに展開される新しいコマンドを定義できます。これは、多くのオプションを持つ頻繁に使用するコマンドに非常に役立ちます。

  1. エイリアスの作成: ls -l のエイリアスを作成して、短くしましょう。

    alias ll='ls -l'

    単一引用符でコマンドを囲み、単一の文字列として扱われるようにします。

  2. エイリアスの使用: これで、ls -l の代わりに ll と入力するだけです。

    ll
    total 24
    -rw-r--r-- 1 labex labex 123 Jan XX HH:MM combined_output.log
    ... (output of ls -l) ...
  3. エイリアスのリスト表示: 引数なしで alias コマンドを使用すると、定義されているすべてのエイリアスが表示されます。

    alias
    alias ll='ls -l'

    シェルの設定によっては、他のデフォルトのエイリアスが表示される場合があります。

  4. より複雑なエイリアスの作成: 引数を持つコマンドまたは複数のコマンドのエイリアスを作成することもできます。

    alias myip='ip a | grep "inet " | grep -v "127.0.0.1" | awk "{print \$2}" | cut -d/ -f1'

    ここで、myip はプライマリ IP アドレスを表示します。\$2 に注意して、$ 記号をエスケープし、エイリアスが定義されたときに awk に渡され、シェルによって解釈されないようにします。

  5. myip エイリアスをテストします。

    myip
    172.17.0.2

    (IP アドレスは異なる場合があります)

  6. エイリアスの未設定: エイリアスを削除するには、unalias コマンドを使用します。

    unalias ll
  7. エイリアスが削除されたことを確認します。

    alias
    alias myip='ip a | grep "inet " | grep -v "127.0.0.1" | awk "{print \$2}" | cut -d/ -f1'

    ll がリストに表示されなくなっているはずです。

シェル変数とエイリアスは一時的であり、ターミナルセッションを閉じると失われます。これらを永続的にするには、シェルの設定ファイル(例:~/.bashrc または ~/.profile)に追加する必要があります。これについては、より高度なトピックで説明します。

まとめ

この実験では、テキストファイルとシェル環境を管理するために不可欠な基本的な Linux コマンドラインスキルを学びました。まず、出力のリダイレクトを習得し、具体的には > を使用してファイルを上書きし、>> を使用してコンテンツを追加することで、ログ記録やさらなる処理のためにコマンドの結果をキャプチャできるようにしました。また、標準エラー (2>) のリダイレクトと、標準出力とエラーの組み合わせ (&>) を調べて、すべてのコマンド出力を効果的に管理する方法も学びました。

さらに、| 演算子を使用してコマンドパイプラインを構築し、理解する能力を習得し、コマンドを連鎖させてデータを順次処理できるようになりました。Vim を使用した基本的なテキスト編集について紹介され、ファイルの挿入、保存、終了のための基本的なコマンドを学びました。最後に、データを保存するためのシェル変数の設定と使用方法、および頻繁に使用するコマンドを簡素化するためのエイリアスの作成方法を学び、コマンドラインの効率とカスタマイズを向上させました。