200GB 정도 되는 파일을 삭제했는데 왠지 공간이 남아있는 것 같습니다. 찾은 여러 명령을 사용하여 지우려고 시도했지만 아무 효과가 없었습니다(캐시에 저장된 파일의 경우 일부 응용 프로그램에서 여전히 열려 있기 때문에). 또한 여러 번 다시 시작했지만 소용이 없었습니다.
상위 폴더는 여전히 원래 크기를 가지지만 하위 폴더는 모두 올바른 크기로 나타납니다.
누군가가 왜 여전히 유지되는지 또는 어떻게 제거할 수 있는지 알고 싶습니다.
du
산출:
# du -sh /home/vincent/
200G /home/vincent/
# du -bsh /home/vincent/*
14K /home/vincent/Desktop
8.2G /home/vincent/Documents
3.8G /home/vincent/Downloads
11K /home/vincent/java_error_in_PHPSTORM_3425.log
1.8K /home/vincent/java_error_in_PHPSTORM_6837.log
1.8K /home/vincent/java_error_in_WEBIDE_3683.log
4.0K /home/vincent/Music
0 /home/vincent/myCA.key
4.0K /home/vincent/Pictures
39 /home/vincent/PlayOnLinux's virtual drives
8.0K /home/vincent/Postman
4.0K /home/vincent/Public
4.0K /home/vincent/Templates
4.0K /home/vincent/Videos
[에서 옮겨옴스크린샷.]
답변1
재부팅하지 않은 경우 다음을 사용해야 합니다.
lsof -a +L1
삭제된(rm'd) 파일 중 아직 "파일 핸들"이 열려 있는지 확인하는 데 도움이 될 수 있습니다. rm에 의해 성 항목이 삭제된 경우에도 파일 시스템에서 삭제됩니다. 오프셋은 그 중에서 가장 큰 파일을 의미합니다. 청구서에 맞는 것으로 보이는 응용 프로그램을 발견하면 해당 응용 프로그램을 완전히 종료해야 합니다(kill -9 pid가 아니라 pid만 종료해 보십시오). 해당 응용 프로그램은 해당 파일 핸들을 해제하고 파일을 재활용해야 합니다.하지만 재부팅했다고 말씀하셨습니다. 아마도 홈 디렉터리 아래 어딘가에 파일이 숨겨져 있을 것입니다. 시도해 볼 수 있습니다:
find /home/vincent/ -size +1G -ls
/home/vincent 디렉터리에서 1G보다 큰 파일을 봅니다.참고:
*
du 호출은du ... *
a로 시작하지 않는 파일에서만 du를 실행합니다.
(*
셸에서 a로 시작하지 않는 모든 파일과 디렉터리로 확장됩니다.
). 따라서 /home/vincent의 "숨겨진 파일"에서는 실행되지 않습니다. 위에서 제공한 printfs는 이를 무시하고(특별한 추가 권한 제한이 없는 한) 표시된 디렉터리와 숨겨진 디렉터리 및 파일을 모두 탐색해야 합니다. 앞에 sudo를 추가하여 find를 루트로 다시 실행하고 루트로 시작할 때 더 많은 콘텐츠가 나타나는지 확인할 수도 있습니다.sudo find /home/vincent/ -size +1G -ls
마지막으로 삭제를 위해 최신 그래픽 인터페이스를 사용하는 경우 실제로 공간을 확보하려면 휴지통을 비워야 할 수도 있습니다. (휴지통은 홈 디렉토리 아래에 ".something" 디렉토리로 존재할 수 있으며, 이는 왜 집이 여전히 그렇게 큰지, 왜 보이지 않는지 설명합니다
du ... *
)
답변2
파일을 찾으려면 다음 명령줄을 사용하세요. (크기가 180GiB보다 큰 파일 이름을 검색하고 인쇄합니다.)
$ find /home/vincent -size +180G
여러 파일이 반환될 수 있습니다.
그런 다음 삭제할 수 있습니다. 휴지통 폴더에 있을 수도 있습니다.
답변3
공간이 채워지지 않는 가장 큰 원인은 열린 파일 핸들이 있다는 것입니다. 파일을 열어두는 일이 없을 때만 공간이 해제됩니다. 따라서 해당 파일이 속한 응용 프로그램을 다시 시작하면 공간이 확보될 수 있습니다.
lsof
열린 파일을 보려면 실행하세요 .미공개 공간이 있는 파일을 삭제하라는 글이 있습니다.
nothing
파일을 삭제하기 전에 파일에 쓸 수도 있습니다 . 예를 들어, 파일 끝에 ( )를 추가하는 대신 > /path/to/file
파일 시작 부분부터 단일 파일이 작성된다는 점에 유의하세요 .echo "" >/path/to/file
>
>>