Linuxターミナルでファイルとディレクトリを削除する方法
rm
および rmdir
Linuxでは、MacOSの、および他のUnixライクなオペレーティング・システム上で削除ファイルやディレクトリをコマンド。これらは、WindowsおよびDOSのdel
および deltree
コマンドに似ています。これらのコマンドは非常に強力で、かなりの数のオプションがあります。
を使用rm
しrmdir
て削除されたファイルとディレクトリは、ごみ箱に移動されないことに注意してください。それらはすぐにコンピュータから削除されます。これらのコマンドを使用して誤ってファイルを削除した場合、ファイルを復元できる唯一の方法はバックアップからです。
rmでファイルを削除する方法
最も単純なケースは、現在のディレクトリ内の1つのファイルを削除することです。入力rm
コマンド、スペース、その後、削除したいファイルの名前を。
rm file_1.txt
ファイルが現在の作業ディレクトリにない場合は、ファイルの場所へのパスを指定します。
rm ./path/to/the/file/file_1.txt
に複数のファイル名を渡すことができますrm
。これを行うと、指定したすべてのファイルが削除されます。
rm file_2.txt file_3.txt
ワイルドカードを使用して、削除するファイルのグループを選択できます。*
複数の文字を表し、?
単一の文字を表します。このコマンドは、現在の作業ディレクトリにあるすべてのpng画像ファイルを削除します。
rm * .png
このコマンドは、1文字の拡張子を持つすべてのファイルを削除します。たとえば、これによりFile.1とFile.2は削除されますが、File.12は削除されません。
rm *。?
ファイルが書き込み保護されている場合は、ファイルを削除する前にプロンプトが表示されます。y
またはn
で応答し、「Enter」を押す必要があります。
rm
ワイルドカードで使用するリスクを減らすには、-i
(対話型)オプションを使用します。これには、各ファイルの削除を確認する必要があります。
rm -i * .dat
-f
(強制)オプションは、対話型の反対です。ファイルが書き込み保護されている場合でも、確認のプロンプトは表示されません。
rm-fファイル名
rmでディレクトリを削除する方法
空のディレクトリを削除するには、-d
(ディレクトリ)オプションを使用します。ファイル名の場合と同じように、ディレクトリ名にワイルドカード(*
および?
)を使用できます。
rm-dディレクトリ
複数のディレクトリ名を指定すると、指定した空のディレクトリがすべて削除されます。
rm -d directory1 directory2 / path / to / directory3
空でないディレクトリを削除するには、-r
(再帰的)オプションを使用します。明確にするために、これにより、ディレクトリと、その中に含まれるすべてのファイルとサブディレクトリが削除されます。
rm -r directory1 directory2 directory3
ディレクトリまたはファイルが書き込み保護されている場合は、削除の確認を求めるメッセージが表示されます。空でないディレクトリを削除し、これらのプロンプトを抑制するには、-r
(再帰的-f
)オプションと(強制的)オプションを一緒に使用します。
rm-rfディレクトリ
ここでは注意が必要です。rm -rf
コマンドを間違えると、データの損失やシステムの誤動作を引き起こす可能性があります。それは危険であり、注意が最善の策です。rm -rf
コマンドによって削除されるディレクトリ構造とファイルを理解するには、コマンドを使用しtree
ます。
apt-get
Ubuntuまたは別のDebianベースのディストリビューションを使用している場合は、このパッケージをシステムにインストールするために使用 します。他のLinuxディストリビューションでは、代わりにLinuxディストリビューションのパッケージ管理ツールを使用してください。
sudo apt-get install tree
tree
コマンドを実行すると、実行元のディレクトリの下にあるディレクトリ構造とファイルのわかりやすい図が作成されます。
木
tree
コマンドへのパスを指定して、ファイルシステム内の別のディレクトリからツリーを開始することもできます。
ツリーパス/宛先/ディレクトリ
このrm
コマンドには--one-file-system, --no-preserve-root, --preserve-root
オプションもありますが、これらは上級ユーザーにのみ推奨されます。何か問題が発生した場合、誤ってすべてのシステムファイルを削除してしまう可能性があります。詳細については、コマンドのマニュアルページを参照してください。
rmdirでディレクトリを削除する方法
rmdir
ディレクトリを削除するために使用できる、と呼ばれる別のコマンドがあります。違いrm
とはrmdir
つまりrmdir
空になっているだけで、削除のディレクトリができます。ファイルが削除されることはありません。
最も単純なケースは、1つの空のディレクトリを削除することです。と同様にrm
、複数のディレクトリ名をrmdir
、またはディレクトリへのパスに渡すことができます。
名前をrmdir
:に渡して、現在のディレクトリ内の1つのディレクトリを削除します。
rmdirディレクトリ
名前のリストを次の場所に渡して、複数のディレクトリを削除します rmdir
。
rmdir directory1 directory2 directory3
そのディレクトリへのフルパスを指定して、現在のディレクトリにないディレクトリを削除します。
rmdir / path / to / directory
空でないフォルダを削除しようとするrmdir
と、エラーメッセージが表示されます。次の例でrmdir
は、clients
ディレクトリを正常かつサイレントに削除しprojects
ますが、ファイルが含まれているため、ディレクトリの削除を拒否します。projects
それがあったとその中のファイルは変更されませんようディレクトリは正確に残っています。
ときにrmdir
「ディレクトリ空ではありません」というエラーを与え、それはコマンドラインでそれに渡されたディレクトリの処理を停止します。4つのディレクトリを削除するように要求し、最初のディレクトリにファイルが含まれているrmdir
場合は、エラーメッセージが表示され、それ以上何もしません。--ignore-fail-on-non-empty
他のディレクトリが処理されるように、オプションを使用してこれらのエラーを無視するように強制できます。
次の例では、2つのフォルダがに渡されています。rmdir
これらはwork/reports
とwork/quotes
です。この--ignore-fail-on-non-empty
オプションはコマンドに含まれています。work/reports
フォルダには、その中のファイルを持っているので、rmdir
それを削除することはできません。この--ignore-fail-on-non-empty
オプションrmdir
は、エラーを無視して、処理する必要のある次のフォルダーであるに移動することを強制しますwork/quotes
。これは空のフォルダであり、rmdir
削除します。
これが使用されたコマンドでした。
rmdir--ignore-fail-on-non-empty work / reports / work / quotes
あなたは使用することができます -p
ディレクトリを削除するには、あまりにもその親ディレクトリを削除するには(親)オプションを選択します。このトリックが機能rmdir
するのは、ターゲットディレクトリから開始してから、親に戻るためです。そのディレクトリは空になっているはずなので、によって削除できます。rmdir
このプロセスは、に提供されたパスのステップアップを繰り返しrmdir
ます。
次の例では、渡されるコマンドは次のとおりrmdir
です。
rmdir -p work / invoices
要求に応じて、invoices
とwork
ディレクトリの両方が削除されます。
Bashを使用している場合でも、他のシェルを使用している場合でも、Linuxには、ターミナルのコマンドラインから直接ディレクトリやファイルを削除するための柔軟で強力なコマンドが用意されています。一部の人々は、ターミナルを中心に展開するワークフローを好む。他の人はその問題で選択の余地がないかもしれません。GUIがインストールされていないサーバー、またはRaspberryPiなどのヘッドレスシステムへのリモートセッションで動作している可能性があります。これらのコマンドは、そのグループの人々に最適です。
ただし、どのタイプのワークフローを使用する場合でも、これらのコマンドはシェルスクリプトに含めるのに非常に適しています。スクリプトがcron
ジョブによってトリガーされた場合、不要なログファイルの削除などの日常的なハウスキーピングタスクを自動化するのに役立ちます。そのユースケースを調査する場合は、これらのコマンドの能力を覚えて、すべてを注意深くテストし、常に最新のバックアップを維持してください。