53
ターミナルでファイルとディレクトリを削除する方法

macOS Big Surターミナルアイコン

画像: Apple

日々のタスクを素早く処理したい場合、コマンドラインは強力であると同時に危険な存在にもなり得ます。この記事で紹介するコマンドを例に挙げましょう。rmコマンドはファイルを削除(または消去)できます。rmdirコマンドはディレクトリ(フォルダとも呼ばれます)に対しても同じ操作を実行できます。ただし、注意が必要です。Finderからファイルをゴミ箱に移動する場合とは異なり、これらのコマンドを使用した場合、ファイルを元に戻すことはできません

それでも、macOS Sonoma以前のバージョンでターミナルのパワーを活用したいなら、このコマンドは見逃せない。本当に削除したいファイルだけを削除できるように、安全策を追加する方法をご紹介します。

なぜわざわざコマンドラインでファイルを削除するのでしょうか?

Finderでファイルを削除するのはそれほど難しくありませんし、気が変わったらいつでもゴミ箱からファイルを取り出すことができます。では、なぜわざわざコマンドラインを使う必要があるのでしょうか?その理由をいくつか挙げてみましょう。

  • ワイルドカードを使用すると、複数のファイルをすばやく効率的に削除できます。
  • 解決困難なエラーが発生した場合は、ゴミ箱からファイルを削除できます。
  • Finderで非表示になっているファイルを削除できます。これらのファイルには、特定のアプリケーションやmacOSの一部の設定が含まれている場合があり、ファイル名の前にドット(.)が付いているため、Finderには表示されません。
  • Mac の故障により Finder にアクセスできなくなった場合は、コマンド ラインを使用して問題を解決できる可能性があります。

ファイルを削除する方法

コマンドでファイルを削除するのは危険なほど簡単ですrm。例を挙げましょう。ターミナル(/Applications/Utilitiesフォルダ内)を起動したら、 とcd ~/Desktop入力してデスクトップディレクトリに移動します。デスクトップ上のファイルを削除するには、 と入力し、を削除したいファイル名にrm filename置き換えます。(ファイル名にスペースが含まれている場合は、ファイル名を引用符で囲む必要があります: )。もしここにMyFile.rtfというファイルがあり、二度と見る必要がない場合は、次のコマンドを実行できます。filename"For Example.txt"

rm MyFile.rtf

Returnキーを押すと、ファイルは消えてしまいます!Macはファイルを削除するかどうか確認しません。ファイルは消え去り、トーストのように、履歴として残ります。元に戻すことはできません

複数のファイルを1つのコマンドで削除することもできます。デスクトップに3つのファイルがあり、それらをすべて一度に削除したい場合は、次のようにします(ファイル名にスペースが含まれている場合は、ファイル名を引用符("For Example.txt".)で囲む必要があります)。

rm MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

ここでも、Return キーを押すと、面倒な作業が実行されます。

セーフティネット

繰り返しますが、このコマンドはファイルを削除します。完全に消去します。元に戻すことはできません。ゴミ箱アイコンをクリックしても、誤って削除したファイルを復元することはできません。

しかし、安全策として(interactive)フラグがあります-i。もし慎重になりたい場合は、上記のコマンドを以下のようにこのフラグ付きで実行することもできます。

rm -i MyFile.rtf

または、複数のファイルを削除する場合:

rm -i MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

rmいずれの場合も、フラグは一時停止ボタンとして機能するため、Returnキーを押しても実際にはコマンドは実行されません-i。これらのコマンドを実行すると、ターミナルに以下の画面が表示されます。

macOS Big Surのファイル削除の確認

IDG

続行するにはyes、 または と入力する必要がありますy。複数のファイルがある場合は、ファイルごとに1つのクエリが表示されます。確かに、 と入力する癖がついてしまいがちですyが、この質問は、本当にそのファイルを削除してよいのか、立ち止まって慎重に考えるように促すためのものです。

空のディレクトリ(フォルダ)を削除する方法

ディレクトリやフォルダの削除は少し異なります。rmディレクトリに対してコマンドを実行しようとすると、次のメッセージが表示されます。

macOS Big Surターミナルのrmディレクトリエラー

rm コマンドを使用してディレクトリを削除することはできません。

IDG

ディレクトリを削除するための特別なコマンドがあります: rmdir。Archives という名前のディレクトリを削除するには、次のコマンドを実行します (ディレクトリ名にスペースが含まれている場合は、名前を引用符で囲む必要があります: "For Example"。):

rmdir Archives

-iコマンドではフラグを使用できないrmdirため、コマンドは少しリスクが高くなります。

このコマンドは空のディレクトリのみを削除することに注意してください。ディレクトリその中にあるファイルを削除したい場合は、以下をお読みください。

ディレクトリ内のすべてを削除する方法

このrmコマンドには強力なオプション-R( または-r)があり、これは再帰オプションとも呼ばれます。rm -Rフォルダに対してコマンドを実行すると、ターミナルはフォルダ、フォルダ内のファイル、サブフォルダ、そしてサブフォルダ内のファイルやフォルダをすべて削除します。このコマンドは のように入力しrm -R directoryname、 は削除したいディレクトリ名に置き換えますdirectoryname。(ディレクトリ名にスペースが含まれている場合は、名前を引用符で囲む必要があります:"For Example"。)

例えば、サブディレクトリやファイルを含むアーカイブでいっぱいのディレクトリがあるとします。Finderコマンドラインから各項目を個別に削除すると、かなり時間がかかります。そこで、次のコマンドを実行してください。

rm -R Archives

この削除は最終的なものであることを忘れないでください。ただし、-i保護のためにフラグを使用することは可能です。

rm -iR Archives

各項目の削除を確認するメッセージが表示されます。これは面倒かもしれませんが、すべてのファイルを削除しても構わないと確信している場合を除き、安全を期すためにも、確認しない方が良いでしょう。

Finderでゴミ箱を空にできない場合は、ターミナルをご利用ください

このrm -Rコマンドはどんな時に役に立つのでしょうか?例えば、Macのゴミ箱を空にできない時などです。ファイルがロックされているか、1つ以上のファイルを削除する権限がない可能性があります。このような不具合は厄介ですが、コマンドラインを使えば簡単に解決できます。

ターミナルで次のように入力します。

rm -R

次にスペースを入力します。

Finderでゴミ箱を開き、ゴミ箱に入っている項目をターミナルウィンドウにドラッグします。/Users/.Trash/file.txtのようなパスを持つファイルが1つ以上表示されます。

ファイルの数が多い場合、結果のリスト(ターミナルウィンドウ内で折り返されて1行に表示)が非常に長くなることがあります。すべての項目を削除しても問題ない場合は、Returnキーを押してください。ターミナルがゴミ箱を空にします。コマンドラインの勝利です!

macOS Big Surターミナルのドラッグ&ドロップでゴミ箱

IDG

さらに詳しく知りたいですか?コマンドラインでファイルシステムを操作する方法、マニュアルページから学ぶ方法、ファイルのコピーと移動に関する記事をご覧ください。

著者: カーク・マケルハーン、Macworld寄稿者

カーク・マケルハーン(@mcelhearn)は、自身のブログ「Kirkville」でMacや音楽などについて執筆しています。また、ユーザーがiTunes、iOSデバイス、音楽などについて議論できる「Kirk's iTunes Forum」も運営しています。