Linux에서 손상된 파일 삭제

Linux에서 손상된 파일 삭제

이 파일을 어떻게 삭제할 수 있나요? VFAT 파일 시스템에서 손상된 파일인 것 같습니다.

?????????  ? ?       ?        ?            ? 100.jpg

답변1

inode한 가지 가능성은 를 실행하여 파일 번호를 알아내는 것입니다 ls -i. 그러면 두 개의 열이 반환됩니다. 첫 번째는 inode이고 두 번째는 파일 이름입니다. 그런 다음 find명령을 사용하여 해당 특정 inode가 있는 파일만 선택하고 삭제할 수 있습니다.

sh-4.1$ ls -i .
  17921 somefile.ods
    169 someotherfile.conf
    305 -????????? ? ? ? ? ? 100.jpg
  18048 yetanotherfile.jpg

sh-4.1$ find . -maxdepth 1 -inum 305 -ok rm '{}' \;
< rm ... -????????? ? ? ? ? ? 100.jpg > ? y

inode는 파일에 대해 고유할 가능성이 높으므로(하드링크가 없다고 가정) 이를 통해 와일드카드에 내재된 위험 없이 삭제할 수 있습니다. find 명령 의 maxdepthok옵션을 사용하면 실수로 잘못된 파일을 찾을 가능성이 훨씬 줄어듭니다.

답변2

여기에 있는 답변 중 실제로 Stig가 보고한 문제가 있는지 확실하지 않습니다. 방금 ext4 파일 시스템에서 이 문제에 직면했습니다.

# ls -l /tmp/dependencies/
ls: cannot access /tmp/dependencies/easy-rsa-master: No such file or directory
total 0
?????????? ? ? ? ?            ? easy-rsa-master

# ls -i /tmp/dependencies/
ls: cannot access /tmp/dependencies/easy-rsa-master: No such file or directory
? easy-rsa-master

# rm -r /tmp/dependencies
rm: descend into directory ‘dependencies’? y
rm: cannot remove ‘/tmp/dependencies/easy-rsa-master’: No such file or directory
rm: remove directory ‘dependencies’? y
rm: cannot remove ‘dependencies’: Directory not empty

파일 자체가 파일 속성과 함께 손상되었습니다. ls -i는 inode ID를 명확하게 표시하지 않습니다. rm을 사용하면 트릭을 수행할 수 없습니다. 심지어 rm -rf도 디렉토리를 탐색하여 파일을 직접(그리고 자동으로) 삭제하려고 시도합니다.

내 해결책은 문제가 되는 파일 없이 디렉터리를 다시 만드는 것이었습니다. 그런 다음 디렉토리를 /tmp와 같은 다른 위치로 이동할 수 있습니다. 재부팅 후 또는 배포판이 /tmp 디렉터리를 정리할 때마다 사라질 것입니다(희망적으로).

답변3

나는 cHao의 제안에 대해 좀 더 방어적인 버전을 추천합니다.

rm -i ./*100.jpg*

make -irm와일드카드와 일치하는 각 파일을 삭제할지 여부를 묻습니다. 이렇게 하면 실수로 다른 파일도 삭제하지 않게 됩니다. 그리고 선행은 ./모든 파일 이름이 다음과 같이 처리되도록 보장합니다.파일 이름추가 옵션은 없습니다 rm(앞에 대시가 있는 것처럼 보이므로 이것이 중요한 이유입니다).

그런데 눈에 보이지 않는 캐릭터가 있을 수도 있어요내부에문자열 "100.jpg". 위에서 " "와 같은 오류 메시지가 나타나는 경우가 rm: ./*100.jpg*: not found바로 그 이유입니다. ls -1fw | cat -v도움이 될 수 있습니다.

답변4

시도해 볼 수도 있습니다

rm *100.jpg*

?는 문자 그대로의 물음표이거나 의미가 없는 문자입니다. 어느 쪽이든, 파일 시스템이 연결되지 않은 경우 OS 자체(및 셸)는 일반적으로 파일을 제거할 수 있습니다.

파일 시스템의 경우~이다하지만 엉망이 된 내용을 삭제하면 상황이 더 악화될 수 있습니다. Windows로 부팅하여 드라이브를 검사하고 가능하다면 파일을 삭제하는 것이 좋습니다.

관련 정보