Linux ディレクトリを別のディレクトリにコピーし、内容を削除します

Linux ディレクトリを別のディレクトリにコピーし、内容を削除します

大幅編集:

現在、フォルダとファイルを含むディレクトリがあります:

-css
--addons
---myaddon
----addon
-----firsfile.xml
-----secondfile.xml
----cfg
-----anotherfile.cfg
-----lastcfg.cfg
---mysecondaddon
----addon
-----thirdfile.xml
-----fourthfile.xml
----cfg
-----againfile.cfg
-----othercfg.cfg

別のディレクトリにコピーしたい:

-css_server_1
--cstrike
---cfg

これで、アドオン (/css/addons/) を一覧表示できる GUI ができました。最初のサーバー (css_server_1/cstrike) にアドオンの 1 つ (/css/addons/mysecondaddon の mysecondaddon) をインストールしたいと思います。

最終結果は次のようになります。

-css_server_1
--cstrike
---addon
----firsfile.xml
----secondfile.xml
---cfg
----againfile.cfg
----othercfg.cfg

他のアドオン (/css/addons/myaddon の myaddon) を追加することを選択した場合、結果は次のようになります。

-css_server_1
--cstrike
---addon
----firsfile.xml
----secondfile.xml
----thirdfile.xml
----fourthfile.xml
---cfg
----againfile.cfg
----othercfg.cfg
----againfile.cfg
----othercfg.cfg

最後に、インストールされているアドオンの 1 つ (mysecondaddon) を削除したいと思います。

/css_server_1/cstrike ディレクトリ内の (/css/addons/mysecondaddon) にあるすべてのファイルを削除できる Linux コマンドを探しています。結果は次のようになります。

-css_server_1
--cstrike
---addon
----firsfile.xml
----secondfile.xml
---cfg
----againfile.cfg
----othercfg.cfg

rm -rf コマンドを使用して /css_server_1/cstrike/addon フォルダーを削除できることはわかっていますが、これによりすべてのアドオンが削除されます...

今回はもっとわかりやすくなっていたと思います :D

答え1

質問はまだわかりにくいですが、何をしたいのかはわかっていると思います。rsyncコマンドを見てみましょう。例:

rsync -av --delete css/addons/myaddon/ css_server_1/cstrike/

または同様の方法でうまくいくはずです。重要なのは、に含まれていない--delete不要なファイルを削除するオプションです。css_server_1/cstrike/css/addons/myaddon/

答え2

試す rm -rf /path/to/directory/todelete

またはmv /src /dest

関連情報