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)에 애드온 중 하나(/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

마지막으로 설치된 애드온 중 하나(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/

또는 비슷한 것이 당신을 위해 트릭을 수행해야 합니다. 중요한 것은 .NET 파일에 없는 --delete불필요한 파일을 제거하는 옵션 입니다 .css_server_1/cstrike/css/addons/myaddon/

답변2

노력하다 rm -rf /path/to/directory/todelete

또는mv /src /dest

관련 정보