******************질문의 주요 내용
몇 달 전, adb push 명령을 실행하는 동안 실수로 장치 연결을 끊었고, 30GB가 넘는 왜곡된 파일이 있는 폴더가 남았는데, 여기에는 많은 왜곡된 파일이 포함되어 있어 저장 공간이 많이 낭비되었습니다.
Android의 파일 관리 프로그램(예: RootExplorer, Estrongs 등)은 잘못된 폴더를 삭제할 수 없습니다.
adb-shell 환경에서 파일 삭제, Google에서 찾은 다양한 방법, Android 기기의 busybox 터미널 프로그램까지 여러 번 시도했지만 아무것도 작동하지 않습니다. 현재 상황은 cd 명령을 사용하여 폴더에 들어갈 수 있다는 것입니다. 파일 이름 매개변수가 있는 rm 명령은 오류를 보고하지 않습니다. inum 매개변수가 있는 rm 명령이 실행됩니다(ls 명령의 출력에서). 콘텐츠나 Android 공간 상태가 모두 변경되지 않았습니다.
샘플 명령 프롬프트(adb) 코드 조각은 다음과 같습니다.
C:\Users\14520>adb shell
c2q:/ $ cd /sdcard/shit
130|c2q:/sdcard/shit $ cd $(find -inum 11939)
c2q:/sdcard/shit/闊 $ ls -il
total 3009874
36369 drwxrwx--- 3 root everybody 3488 2021-09-07 23:27 2001-00-鐣欎綇杩欎竴鍒荤郴鍒?-5[瀛旈泙寤婃繁椋為摱鑺増][WAV]
34351 drwxrwx--- 3 root everybody 3488 2021-09-07 23:29 2001-00-鐣欎綇杩欎竴鍒荤郴鍒?-10[瀛旈泙寤婃繁椋為摱鑺増][WAV]
#...
c2q:/sdcard/shit/闊 $ find -inum 3488 -exec rm -rf {} \;
c2q:/sdcard/shit/闊 $ ls -il
total 3009874
11946 -rw-rw---- 1 root everybody 253384 2020-05-21 20:04 mgsvtpp.[v4.0.6].zip
39450 drwxrwx--- 8 root everybody 3488 2021-09-07 23:36 銆傚師澹板甫
35775 -rw-rw---- 1 root everybody 1089 2020-04-20 21:30 鏃犲嵃鑹搧.lnk
35826 -rw-rw---- 1 root everybody 2277719590 2019-03-11 12:06 缇ゆ槦.-.[鎽囨粴涓浗涔愬娍鍔沒.婕斿敱浼?(DVDRip)_9522f.mkv
#...
c2q:/sdcard/shit/闊 $
이 코드 조각의 전체 스크린샷 설명: inum이 11939인 폴더는 잘못된 폴더의 최상위 수준입니다.
전화를 재설정하는 것은 비용이 너무 많이 들고 지금은 하고 싶지 않기 때문에 나쁜 생각입니다.
여기에 다른 방법이 있나요? 누구든지 이 문제를 해결하는 데 도움을 줄 수 있다면(다른 데이터를 잃지 않고 왜곡된 폴더를 삭제) 그에게 커피를 사줄 수 있습니다.
여기 있는 모든 친구들에게 감사드립니다. (제 영어 실력이 별로 좋지 않을 수 있으니 문법 문제가 있으면 양해 부탁드립니다)
******************제가 깜빡 잊은 말을 추가하자면
· "rm with FOLDER_PATH" 및 "RM with FOLDER_INODE_NUMBER"를 시도했는데, 실행 후 "찾을 수 없음"을 반환하고 아무런 효과가 없습니다(질문하기 전에 이것을 찾았지만 예제 코드 조각에 추가하는 것을 잊어버렸습니다).
# sample example for the Two usages of command “rm” I used refered above
# rm with folder_name
rm -rR NAME
# rm with inode_number, 11939 is inode_number
cd $(find -inum [11939] )
find -inum 11939 -exec rm -rf {} \;
·내가 아는 모든 Android 앱은 루트 없이 잘못된 폴더를 삭제할 수 없습니다. ·깨진 폴더는 외부 저장소가 아닌 내부 저장소에 있습니다. ·기기 모델은 Samsung Note20 Ultra 12+512G입니다. 루팅 시 데이터 및 일부 기능이 손실될 수 있습니다. 파티션을 포맷하고 싶지 않았던 이유는 백업해야 할 504G 파일이 너무 많기 때문입니다.
******************대략적인 잠정 결론
현재 상황과 정보는 루트 권한 없이 잘못된 폴더를 삭제하려면 "rm" 콘솔 명령(경로 또는 inode-번호' 지정 여부)을 사용하는 것이 불가능하다는 것을 증명합니다. 전체 파티션(504G 파일 포함)만 백업하고 포맷할 수 있었습니다. 다른 데이터를 잃지 않고 왜곡된 폴더를 삭제할 수 있는 방법이 있는지 문의드리고 싶었으나 그런 방법은 없는 것 같습니다.
그런데 저는 요즘 stackoverflow에 별로 관심을 두지 않아서 제때에 귀하의 메시지에 응답하지 않았습니다. 죄송합니다.
아쉽게도 다른 방법이 없으면 다른 날에 전체 파티션(504G 파일 포함)만 포맷할 수 있습니다. 전체적으로 나를 도와주려고 노력한 모든 분들께 감사드립니다.
답변1
간단히 달릴 수 있나요 rm -rf BAD_FOLDER
?
그래도 문제가 해결되지 않으면 다음 두 가지 옵션이 있습니다.
기기를 루팅할 수 있는 경우아니요데이터 파티션을 파괴합니다(많은 최신 장치데이터 삭제이 작업을 수행할 때) 루팅하고 실행하세요
e2fsck
. 폴더가 실제로 손상될 수 있습니다.장치를 루팅할 수 없는 경우,모든 것을 백업하세요그리고 공장 초기화를 수행하면 사용자 파티션이 포맷되고 문제가 해결됩니다.