Fedora 27의 여러 위치에 있는 여러 파일과 디렉터리를 삭제하는 방법

Fedora 27의 여러 위치에 있는 여러 파일과 디렉터리를 삭제하는 방법

저는 페도라 27을 사용하고 있습니다. 일부 Windows 응용 프로그램을 에뮬레이트하기 위해 와인을 설치했습니다. 불행하게도 예상대로 작동하지 않았으므로 이제 Fedora에서 와인의 모든 흔적을 제거하고 싶습니다. yum Remove Wine과 같은 기본 명령을 실행합니다. 하지만 문제는 페도라에는 아직도 와인 파일과 디렉터리가 너무 많다는 점이다. 와인 찾기를 실행한 후 여러 위치에 있는 긴 파일 목록이 제공되었습니다. 주어진 결과를 인쇄 화면에 첨부했습니다. 수동으로 하나씩 지우는 것 외에 이러한 파일을 모두 삭제할 수 있는 방법이 있습니까?여기에 이미지 설명을 입력하세요.

답변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 {} \;

관련 정보