Linux ファイルの削除

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

はじめに

この実験では、rm コマンドを使用して Linux 環境で効率的にファイルを管理する方法を学びます。ファイル管理は、Linux システムを扱う人にとって基本的なスキルです。rm(削除)コマンドは、ユーザーがシステムからファイルやディレクトリを削除できる強力なツールです。

単一のファイルを削除する方法、ワイルドカードを使用して複数のファイルを削除する方法、および再帰オプションを使用してディレクトリ全体を削除する方法を学びます。この実験の終わりまでに、様々なシナリオで rm コマンドを効果的かつ安全に使用する方法をしっかりと理解するようになります。

rm で単一のファイルを削除する

rm コマンド(remove の略)は、Linux でファイルやディレクトリを削除するために使用されます。このステップでは、システムから単一のファイルを削除する方法を学びます。

まず、old_predictions ディレクトリにどのようなファイルがあるかを確認しましょう。

ls ~/project/old_predictions

以下のような出力が表示されるはずです。

prediction-01.txt  prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

次に、rm コマンドを使用して prediction-01.txt ファイルを削除しましょう。

rm ~/project/old_predictions/prediction-01.txt

操作が成功すると、rm コマンドは何も出力しません。これは多くの Linux コマンドの一般的な動作で、「何も表示されなければ成功」ということです。つまり、エラーメッセージが表示されなければ、コマンドは正常に実行されたということです。

ファイルが削除されたことを確認するために、再度ディレクトリの内容を表示しましょう。

ls ~/project/old_predictions

出力には、prediction-01.txt がもう存在しないことが表示されるはずです。

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

rm コマンドはファイルを永久に削除します。Windows や macOS とは異なり、コマンドラインインターフェイスにはゴミ箱やごみ箱がありません。rm を使用してファイルを削除すると、簡単に復元することはできません。

ワイルドカードを使用して複数のファイルを削除する

多くの場合、一度に複数のファイルを削除する必要があります。Linux では、この作業を簡単にするためにワイルドカードが用意されています。ワイルドカードは、ファイル名内の 1 つまたは複数の文字を表すことができる特殊文字です。

一般的なワイルドカードを見てみましょう。

  • *(アスタリスク):任意の数の文字(0 文字を含む)に一致します。
  • ?(疑問符):正確に 1 文字に一致します。
  • [](角括弧):括弧内の任意の文字に一致します。

まず、old_predictions ディレクトリ内の現在のファイルを確認しましょう。

ls ~/project/old_predictions

以下のように表示されるはずです。

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

次に、prediction-02.txtprediction-03.txt、および prediction-04.txt のファイルを一度に削除しましょう。波括弧 {} を使用したパターンマッチングを使って、複数のオプションを指定することができます。

rm ~/project/old_predictions/prediction-{02..04}.txt

このコマンドでは、範囲表記 {02..04} を使用しており、これは 02, 03, 04 に展開されます。シェルはこのコマンドを実行する前に展開し、実質的に以下のコマンドを実行します。

rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt

もう 1 つの一般的な方法は、アスタリスクのワイルドカードを使用することです。たとえば、すべての予測ファイルを削除したい場合は、以下のようにできます。

## これは例です - 現時点ではこのコマンドを実行しないでください
## rm ~/project/old_predictions/prediction-*.txt

ディレクトリ内に残っているファイルを確認しましょう。

ls ~/project/old_predictions

これで、以下のように表示されるはずです。

prediction-05.txt

これは、3 つのファイルが正常に削除され、prediction-05.txt のみが残っていることを示しています。

rm -r でディレクトリを削除する

基本的な rm コマンドはファイルのみを削除し、ディレクトリは削除しません。ディレクトリとその中身(ファイルやサブディレクトリ)をすべて削除するには、-r(再帰的)オプションを使用する必要があります。

archive フォルダ内にどのようなディレクトリがあるかを調べてみましょう。

ls ~/project/archive

以下のように表示されるはずです。

2008  2009  2010

次に、2009 ディレクトリ内にどのようなファイルがあるかを確認しましょう。

ls ~/project/archive/2009

出力は以下のように表示されるはずです。

august.txt  july.txt  june.txt

2009 ディレクトリ全体とその中身をすべて削除するには、rm コマンドに -r オプションを使用します。

rm -r ~/project/archive/2009

このコマンドは、ディレクトリとその中身を再帰的に削除します。-r オプションは「再帰的」を意味し、rm にディレクトリとその中のすべてのものを削除するよう指示します。

ディレクトリが削除されたことを確認するために、再度 archive ディレクトリの内容を確認しましょう。

ls ~/project/archive

これで、以下のように表示されるはずです。

2008  2010

2009 ディレクトリとその中身は正常に削除されました。

重要な注意事項rm -r を使用する際には、特にワイルドカードと組み合わせたり、ルートユーザーとして使用する場合には、非常に注意してください。コマンドの入力ミスは重大なデータ損失につながる可能性があります。一部のシステム管理者は、各ファイルを削除する前に確認を求める -i オプション(対話型)を使用して、追加の安全対策としています。

## これは例です - 現時点ではこのコマンドを実行しないでください
## rm -ri ~/project/archive/2010

もう 1 つの便利なオプションは -v(詳細表示)で、削除される各ファイルを表示します。

## これは例です - 現時点ではこのコマンドを実行しないでください
## rm -rv ~/project/archive/2010

まとめ

この実験では、rm コマンドを使用して Linux 環境でファイルを管理する方法を学びました。以下にカバーされた主要な概念を示します。

  1. 基本的なファイル削除rm コマンドを使用して単一のファイルを削除する
  2. 複数のファイル削除:ワイルドカードと波括弧展開を使用して、一度に複数のファイルを削除する
  3. ディレクトリ削除-r オプションを使用して、ディレクトリとその中身を再帰的に削除する

rm コマンドは Linux のファイル管理における強力なツールですが、削除されたファイルは簡単に復元できないため、注意して使用する必要があります。特にワイルドカードや再帰オプションを使用する場合は、常にコマンドを二度確認してください。

Linux の使用中に役立つ追加のオプションを紹介します。

  • rm -i:対話モード。各削除操作の前に確認を求めます。
  • rm -f:強制削除。書き込み保護されたファイルでも確認なしに削除します。
  • rm -v:詳細モード。実行中の操作を説明します。

これらのファイル管理スキルは、初心者から上級者まで、Linux システムを扱うすべての人にとって基本的なものです。