Linuxでファイルやディレクトリを安全に削除する方法|GUI・rm・shredコマンド徹底解説
Linuxでは、root権限があればシステム上のあらゆるファイルやディレクトリを自由に削除できます。しかし、その自由度の高さゆえに、rmコマンドのような強力なツールの扱いには注意が必要です。うっかり重要なシステムファイルを消してしまえば、システムが起動しなくなることもあり得ます。だからこそ、ファイルやディレクトリを削除する際には、いくつかの予防策を講じておくことが大切です。
ファイルやディレクトリの削除方法は主に2つあります。ひとつはディストリビューション付属のファイルマネージャーを使う方法、もうひとつはターミナルからコマンドを実行する方法です。適切な権限さえあれば、どちらの方法でも削除できます。この記事では、初心者の方にもわかるように、それぞれの手順を詳しく解説します。
ファイルマネージャーでファイルやフォルダを削除する
Linux初心者の方は、ターミナルでの操作に不安を感じるかもしれません。rmコマンドは一度実行すると基本的に元に戻せないため、慎重になりたいところです。リスクを避けたいなら、ディストリビューションに同梱されているファイルマネージャーを使えば、直感的な操作でファイルやフォルダを削除できます。
ファイルマネージャーのデザインや操作性はディストリビューションによって異なりますが、基本的な流れはほぼ共通しています。ここではUbuntuのファイルマネージャーを例に説明しますが、他のディストリビューションでも同様の手順で行えるはずです。
- まず、お使いのディストリビューションでファイルマネージャーを開きます。フォルダ型のアイコンで表示されていることが多く、Ubuntuでは「Files(ファイル)」という名前のアプリです。
- 削除したいファイルやサブフォルダがあるディレクトリへ移動し、対象を選択します。選択した状態で右クリックし、「ゴミ箱へ移動」「削除」などの項目を選びましょう(表記はディストリビューションや言語設定により異なります)。キーボードのDeleteキーを押しても同じ操作が可能です。
- 多くのディストリビューションにはゴミ箱機能があり、削除前にファイルを一時保管して復元できる仕組みになっています。ゴミ箱はデスクトップ上、ファイルマネージャー内、またはアプリメニューからアクセスできます。削除を完了するには、ゴミ箱を開いて「空にする」などの項目を選択します。
- 個別に完全削除したい場合は、対象を選んで右クリックし、「ゴミ箱から削除」を選択します。
rmコマンドでファイルやディレクトリを削除する
ファイルマネージャーでの削除は手軽ですが、いくつか制約があります。たとえば、所有者以外のファイルを削除するにはroot権限でファイルマネージャーを起動する必要がありますし、GUIを持たないヘッドレス環境(ターミナルのみのサーバーなど)ではそもそも使えません。
そこで活躍するのがrmコマンドです。1971年から存在する由緒あるUnixコマンドで、今なおLinux上で最も速くファイルやディレクトリを削除できる手段です。ただし、特にsudoやrootユーザーで実行する場合は強力すぎるほどなので、取り扱いには十分注意してください。
- 単一のファイルを削除するには、新しいターミナルウィンドウ(またはSSH接続)を開き、rm ファイル名と入力します。別のディレクトリにいる場合は、先にcdで移動するか、フルパス(例:rm /path/to/file)を指定しましょう。
- 複数のファイルを一度に削除するには、rm file1 file2のようにスペース区切りで指定します。3つ以上のファイルも同様に追加できます。
- 空のディレクトリを削除するにはrm -d ディレクトリ名を使用します。中にファイルやサブフォルダがある場合は、rm -r ディレクトリ名で再帰的に削除できます。
- 複数のディレクトリをまとめて削除することも可能です。rm -r directory1 directory2のように続けて指定します。
- 部分的な名前が一致するファイルやディレクトリをまとめて削除したい場合は、ワイルドカード(アスタリスク *)が便利です。rm fil*やrm -r dir*のように、自分のファイル名やディレクトリパスに置き換えて使いましょう。
- 保護されたファイルやディレクトリを強制的に削除するにはrm -rf パスを使います。このコマンドは極めて危険なので、実行前に指定したパスが正しいことを必ず確認してください。
- rm -rfの使用が不安な場合は、削除前に確認を求める-iオプションを使いましょう。ファイルならrm -i パス、ディレクトリならrm -ir パスです。各項目ごとにYキーを押してEnterキーで確定します。
rmコマンドのその他のオプションや引数について詳しく知りたい場合は、ターミナルでman rmと入力すれば、公式マニュアル全文を参照できます。
shredコマンドでファイルを完全消去する
rmやunlinkといったコマンドは手軽にファイルを削除できますが、削除後もデータの痕跡がディスク上に残ることがあります。専用の復元ツールを使えば、HDDやポータブルストレージから削除済みファイルを復元できてしまう可能性もあります。機密性の高いファイルであれば、これは避けたいシナリオでしょう。
この問題を回避するには、削除前にshredコマンドでファイルを上書きします。shredはファイル内の全データを繰り返し上書きしてから削除するため、痕跡が残らず復元も困難になります。重要書類などを確実に消去したい場合に最適なコマンドです。
- ターミナルウィンドウを開くか、SSHでリモート接続し、shred ファイル名と入力します。パスを指定したくない場合は、先にcdで対象のファイルやサブディレクトリがある場所へ移動しておきましょう。
- shredには、安全に削除するための追加オプションが用意されています。shred -fは書き込み保護されたファイルも強制的に処理し、shred -uは上書き完了後にファイルを完全に削除します(ファイルマネージャーやlsコマンドからも見えなくなります)。
- 標準の3回よりも多く上書きしたい場合は、shred -n 0の「0」を任意の数値に変更して指定します。また、shred -zを使うと、最後にゼロで上書きするランが追加され、shredの痕跡を隠せます。
- shredは通常、端末に何も出力しません。実行中の詳細を確認したい場合は、shred -vを使用しましょう。
rmの場合と同様に、man shredと入力すれば、コマンド使用前に詳細なマニュアルを確認できます。
Linuxで大切なファイルを守るために
不要なディレクトリやファイルを削除すれば、重要な書類やかけがえのない写真など、本当に必要なデータのためのストレージ容量を確保できます。Linux Mintをはじめとする主要なディストリビューションであれば、上記の手順はほぼすべての環境でそのまま使えます。
データ消失が心配な方は、事前の対策も検討しましょう。Linuxは比較的安全性の高いOSですが、ローカルネットワーク内で広がるマルウェアからファイルを守るために、Linux対応のアンチウイルスを導入するのも有効です。さらに、ローカルストレージやクラウドストレージへの自動バックアップを設定しておけば、万が一誤って削除しても安心です。
-
Linuxでファイルを完全に削除する方法|復元不能にする5つのテクニック
Linuxオペレーティングシステムでは、削除したファイルはまずゴミ箱へ移動します。ゴミ箱を空にすると、ファイルはシステムから削除されたように見えます。しかし、データ復元ソフトの需要が高まる昨今、ゴミ箱から削除したファイルでも、ある程度まで復元できてしまうのが実情です。つまり、ゴミ箱から取り除かれたファイルは完全に消去されたわけではなく、単に見えなくなっただけなのです。ファイルはハードディスクのどこかに残り続け、不要な領域を占有します。新しいファイルが作成され、同じセクターに上書き保存されて初めて、物理的には完全に消去されることになります。貴重なディスク容量を回収し、ファイル破損を防ぐためにも、
-
Windowsで削除できないファイルを消す方法――諦める前に試したい6つの対処法
ファイルやフォルダーを削除しようとしても、Deleteキーを何度押しても、ごみ箱にドラッグしても、どうしても消えてくれない——そんな経験はないでしょうか。 原因はさまざまですが、結果は同じで、とてもストレスが溜まるものです。そこで今回は、そうした厄介なファイルをようやく削除できる5つの方法(+おまけの技)を紹介します。 なお、Windowsのシステムファイルは通常、誤った削除から保護されています。OSに不具合が生じる恐れがあるため、システムファイルを消そうとしていないか必ず確認してください。また、万が一に備えて作業前にフルバックアップを取っておくのも賢明です。 1. アプリをすべて閉じる