リモートコンピュータからファイルを削除する

リモートコンピュータからファイルを削除する

以下は、リモートシステムから複数のファイルを削除する簡単なCLIです。

 ssh 182.2.34.1 "rm -f /etc/yum.repos.d/repo.1 master.er top.fg  REPO.l"

しかし、repo.1ファイルだけが削除されました。

私の文法に何の問題がありますか?

答え1

master.er、top.fg、およびREPO.1は現在のディレクトリ(おそらくホームディレクトリ)から削除されます。ディレクトリのフルパスを提供する必要があります。

答え2

このコマンドはrm -f /etc/yum.repos.d/repo.1 master.er top.fg REPO.lこれらのファイルを正しく削除します。リモートシステムのホームディレクトリである可能性がある現在のディレクトリの最初のファイルを除くすべてのファイルが削除されます。

4つのファイルをすべて削除するには、次のものを/etc/yum.repos.d使用できます。

ssh 182.2.34.1 "cd /etc/yum.repos.d && rm -f repo.1 master.er top.fg REPO.l"

まず、現在のディレクトリが変更され、成功するとファイルが削除されます。


また、理想的には root で作業するのではなく、権限のないユーザーで作業する必要があります。これは、あなたのsshコマンドが次のように見えることを意味するかもしれません。

ssh 182.2.34.1 "cd /etc/yum.repos.d && sudo rm -f repo.1 master.er top.fg REPO.l"

そして、リモートシステムへのアクセス権を持つ非rootユーザーとしてこれを行いますsudo(rootへのSSHアクセスを許可する理由はほとんどありません)。

これの利点は、rootとしてジョブを実行する意図を明示的に指定でき、rootとして実行されたコマンドが記録されることです。システムを損傷した可能性があるタスクから回復する必要がある場合は、ロギングが重要です。

関連情報