이름이 이상하고 inode 이름이 없으며 ls에 표시되지 않는 파일을 제거합니다.

이름이 이상하고 inode 이름이 없으며 ls에 표시되지 않는 파일을 제거합니다.

모든 것은 Windows에서 시작되었습니다. 여기서 USB 스틱 키에서 이름이 없거나 이상한 이름을 가진 여러 파일을 발견했습니다. 아래 그림과 같이 1980년에 생성된 것으로 나열되어 있으며 제거할 수 없습니다.윈도우 예시. 제거하려고 할 때 받은 오류 메시지는 "권한 필요" 또는 "파일 이름이 너무 깁니다"였습니다. 좋아요, 저는 Linux로 전환하겠다고 말했습니다. (실제로 MobaXterm 터미널을 열었고 5초면 충분할 것이라고 생각했습니다.)

혐의가 있는 폴더로 이동하여 방금 입력했습니다.

ls -l

명령이 폴더에 있는 다른 모든 파일의 이름을 반환한 반면 "80년대의" 파일에 대해서는 다음 메시지가 나열되었음을 확인합니다.

"ls: ./0: No such file or directory"

80년대의 모든 파일에 대해 동일한 메시지가 표시되었습니다. 다른 포럼의 제안에 따라 다음을 사용하여 파일의 inode 이름을 얻으려고 했습니다.

ls -li

그러나 (예상대로) "80년대의" 파일을 제외한 모든 파일에 대한 inode 번호를 얻었으며 여전히 메시지를 받았습니다.

ls: ./a: No such file or directory

똑똑하다고 생각해서 만든 날짜에 맞춰서 작업해보았습니다. 특정 날짜 이전에 생성된 파일을 제거하는 방법에 대한 제안을 찾았습니다.여기. 제안된 대로(동일한 날짜로) 타임스탬프 파일을 만들었습니다. 그런 다음 확인 차원에서 제거 부분을 실행하지 않고 찾기 부분만 실행했습니다. 내가 얻은 것은 타임스탬프보다 오래된 몇 개의 파일 목록과 아래와 같은 일련의 메시지였습니다.

find: ./a: No such file or directory

그렇다면 이제 무엇을 시도해야 할까요? 나는 Windows 또는 우분투의 솔루션에 열려 있습니다.

답변1

가장 간단한 해결책은 보관하려는 모든 파일을 다른 폴더로 이동한 다음 링크를 따르지 않고 이러한 이상한 파일이 포함된 폴더를 반복적으로 삭제하는 것입니다.

관련 정보