БОЛЬШОЕ ИЗМЕНЕНИЕ:
В настоящее время у меня есть каталог с папками и файлами внутри:
-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/), и я хочу установить одно из дополнений (mysecondaddon из /css/addons/mysecondaddon) на моем первом сервере (css_server_1/cstrike)
Конечный результат должен быть:
-css_server_1
--cstrike
---addon
----firsfile.xml
----secondfile.xml
---cfg
----againfile.cfg
----othercfg.cfg
Если я решу добавить другой аддон (myaddon из /css/addons/myaddon), результат будет следующим:
-css_server_1
--cstrike
---addon
----firsfile.xml
----secondfile.xml
----thirdfile.xml
----fourthfile.xml
---cfg
----againfile.cfg
----othercfg.cfg
----againfile.cfg
----othercfg.cfg
Наконец, я хотел бы удалить одно из установленных дополнений (mysecondaddon).
Я ищу команду Linux, позволяющую удалить в каталоге /css_server_1/cstrike все файлы, появляющиеся в (/css/addons/mysecondaddon), поэтому результат будет следующим:
-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