Fedora 27の複数の場所にある複数のファイルとディレクトリを削除する方法

Fedora 27の複数の場所にある複数のファイルとディレクトリを削除する方法

私はFedora 27を使用しています。いくつかのWindowsアプリケーションをエミュレートするためにワインをインストールしました。残念ながら期待どおりに動作しなかったので、今度はFedoraからワインのすべての痕跡を取り除きたいと思います。 yum Remove Wineなどの基本コマンドを実行します。しかし問題は、Fedoraにはまだワインファイルやディレクトリが多すぎるという点だ。ワイン検索を実行した後、複数の場所にある長いファイルのリストが提供されました。与えられた結果を印刷画面に添付した。手動で1つずつ消去するだけでなく、これらのファイルをすべて削除する方法はありますか?ここに画像の説明を入力してください。

答え1

locate wineこのコマンドは、出力をwithなどの削除操作の引数として使用すると危険ですrm。このコマンドは、locateパスに部分文字列 "wine"を含むすべてのファイルを一覧表示します。これは実際に探しているファイルでもそうでないかもしれません。次のパーティーのためにアーカイブする「old-wines.txt」のリストを削除できます。ただし、「wn-config.ini」が削除するパッケージの一部である場合は削除しないでください。

RPMパッケージ "wine"に属するインストール済みファイルの一覧を表示するにはrpm -ql wine。ただし、RPM サブシステムはパッケージファイルと構成を区別します。後者を一覧表示するにはを使用しますrpm -q --configfiles。設定ファイルとパッケージファイルを削除するには、「erase」サブコマンドを使用しますrpm -e

答え2

スクリーンショットを見ると、単純なrm /root/.local/share/mime/packages/x-wine-extension*ルートはうまくいくようですが、表示されているよりも多くのファイルがあるとします。 (ワインをインストールしたら)うまくいくsudo dnf remove wineと思います。 ~/.wine フォルダーは削除されないため、手動で削除する必要があります。

答え3

削除するファイルの数またはファイルがすべて同じディレクトリに存在するのか、さまざまなパスに分散しているのかはわかりません。しかし、ファイル数が多すぎると、ls&rmなどのコマンドがリスト全体を繰り返すことができない可能性があることを指摘したいと思います。この場合、findを使用して関心のあるファイルのリストを作成し、-execスイッチを使用して各ファイルに対して個別に操作を実行できます。セキュリティ対策として -exec スイッチを使用してコマンドを再実行する前に、必ず find を使用してファイルのリストを表示して、アクションを実行するファイルが何であるかを確認することをお勧めします。

たとえば、目標が /root/.local/share/mime/packages... から x-wine-extension-*.xml ファイルのみを削除する場合、 find を使用して次のようにファイルを一覧表示できます。

find /root/.local/share/mime/packages -name x-wine-extension-\*.xml 

その後、削除するには、次のコマンドを使用できます。

find /root/.local/share/mime/packages -name x-wine-extension-\*.xml -exec rm {} \;

関連情報