\r\n\r\n

Linux端末でファイルやディレクトリを削除する方法

linux、macos、その他のUnix系OSでは、rm、rmdirコマンドでファイルやディレクトリを削除することができます。WindowsやDOSのdelやdeltreeコマンドに似ています。これらのコマンドは非常に強力で、多くのオプションがあります...

Linux、macOS、その他のUnix系OSでは、rmとrmdirコマンドでファイルやディレクトリを削除することができます。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

ワイルドカード文字を使用して、削除するファイルのグループを選択することができます。* は複数文字、?は1文字であることを示す。このコマンドは、現在の作業ディレクトリにあるすべてのpng画像ファイルを削除します。

rm *.png

このコマンドは、1文字の拡張子を持つすべてのファイルを削除します。たとえば、ファイル .1 とファイル .2 を削除し、ファイル .12 を削除しません。

rm *.?

ファイルが書き込み禁止になっている場合は、ファイルを削除する前にプロンプトが表示されますので、yまたはnに答えて、"Enter "キーを押してください。

rm をワイルドカードで使用するリスクを減らすために、-i (interactive)オプションを使用します。

rm -i *.dat

f (force)オプションは、interactiveの逆で、ファイルが書き込み禁止になっていても、確認のプロンプトを出さないというものです。

rm -f filename

rmを使ったディレクトリの削除方法

空のディレクトリを削除するには、-d (ディレクトリ) オプションを使用します。ワイルドカード(*と?)が使用できます。を、ファイル名と同じようにディレクトリ名で指定します。

rm -d directory

複数のディレクトリ名を指定すると、指定した空のディレクトリをすべて削除します。

rm -d directory1 directory2 /path/to/directory3

空でないディレクトリを削除するには、-r (recursive) オプションを使用します。はっきり言って、これはディレクトリとそれに含まれるすべてのファイルとサブディレクトリを削除します。

rm -r directory1 directory2 directory3

ディレクトリやファイルが書き込み禁止になっている場合は、削除を確認するメッセージが表示されます。空でないディレクトリを削除し、これらのプロンプトを抑制するには、-r (recursive) オプションと -f (forced) オプションの両方を使用します。

rm -rf directory

ここで注意が必要なのはrm-rfコマンドのエラーは、データの損失やシステム障害を引き起こす可能性があります。これは危険なことであり、注意することが最善の策です。rm-rfコマンドで削除されるディレクトリ構造とファイルを理解するために、treeコマンドを使用します。

Ubuntuまたはその他のDebianベースのディストリビューションを使用している場合は、apt getを使用してシステムにこのパッケージをインストールしてください。その他のLinuxディストリビューションでは、代わりにそのLinuxディストリビューションのパッケージ管理ツールを使用してください。

sudo apt-get install tree

treeコマンドを実行すると、実行したディレクトリのディレクトリ構造とその中にあるファイルをわかりやすく図式化したものが表示されます。

tree

また、tree コマンドにパスを指定することで、ファイルシステム上の別のディレクトリからツリーを開始することもできます。

tree path/to/directory

rmコマンドには、ファイルシステム、-no preserve root、-preserve rootオプションもありますが、これらは上級ユーザのみに推奨されます。エラーが発生した場合、すべてのシステムファイルが誤って削除される可能性があります。詳しくは、そのコマンドのマニュアルページをご覧ください。

rmdirでディレクトリを削除する方法

rmとrmdirの違いは、rmdirは空のディレクトリのみを削除できることです。ファイルを削除することはありません。

最も単純なケースは、空のディレクトリを削除することです。rmと同様、rmdirには複数のディレクトリ名を渡すことができ、またディレクトリへのパスも渡すことができます。

rmdirに名前を渡して、カレントディレクトリ内の個々のディレクトリを削除する。

rmdir directory

rmdirに名前のリストを渡して、複数のディレクトリを削除する。

rmdir directory1 directory2 directory3

カレントディレクトリにないディレクトリを削除する場合は、そのディレクトリへのフルパスを指定する。

rmdir /path/to/directory

空でないフォルダを削除しようとすると、rmdirはエラーメッセージを出します。以下の例では、rmdirはclientsディレクトリの削除には成功しましたが、projectsディレクトリはファイルを含んでいるため、削除を拒否されました。

rmdirが "Directory not empty "というエラーを出すと、コマンドラインから渡されたディレクトリの処理を停止します。もし、4つのディレクトリを削除するように要求し、最初のディレクトリにファイルがある場合、rmdirはエラーメッセージを出し、それ以上の動作は行いません。また、--ignore fail on non empty オプションを使用すると、これらのエラーを無視して他のディレクトリを処理するように強制することができます。

次の例では、work/reportsとwork/quotesの2つのフォルダがrmdirに渡されています。work/reportsフォルダはファイルがあるので、rmdirでは削除できません。ignore fail on non empty オプションは、rmdir にエラーを無視させ、次に処理すべきフォルダ(work/quotes)に移動させます。

このコマンドを使用します。

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

p(パレンス)オプションで、ディレクトリとその親ディレクトリも削除することができます。このトリックは、rmdirがターゲットディレクトリで開始し、親ディレクトリに戻るので、うまくいきます。rmdirが削除できるようにディレクトリを空にし、プロセスはrmdirに提供されたパスまで繰り返し戻るようにします。

次の例では、rmdir に渡されるコマンドは次のとおりです。

rmdir -p work/invoices

要求があれば、**と作業ディレクトリの両方を削除します。


Bashでも他のシェルでも、Linuxには、ターミナルのコマンドラインから直接ディレクトリやファイルを削除するための柔軟で強力なコマンドが用意されています。端末を中心としたワークフローが好きな方もいらっしゃると思います。また、他の人は仕方がないことかもしれません。GUIがインストールされていないサーバーで作業していたり、Raspberry Piなどのヘッドレスシステムでリモートセッションを行っている場合もあります。これらのコマンドは、そのようなグループに最適です。

しかし、どちらのタイプのワークフローを好むにせよ、これらのコマンドはシェルスクリプトに含めるのに最適なものです。スクリプトがcronジョブによって起動される場合、不要なログファイルを消去するなどの日常的な管理作業を自動化するのに役立ちます。この使用例を調査する場合は、これらのコマンドの威力を思い出し、すべてを注意深くテストし、常に最新のバックアップをとっておいてください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ