df -k와 du -sh의 차이점

df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used

du -sh /export
3.4G    /export

필수가 아닌 파일을 모두 제거했지만 df로보고 된 여유 공간이 실제 여유 공간과 일치하지 않기 때문에 3.4G가 정확합니다.

왜 그렇습니까?



답변

제거한 파일이 프로세스에 의해 여전히 열려있을 수 있습니다. 검사:

lsof -a +L1 /export

나는 이것이 때문이라고 생각합니다.

  • df 사용 가능한 블록을 확인합니다 (수퍼 블록)
  • du 각 파일의 공간을 합산합니다.

답변

하나 이상의 응용 프로그램에서 파일이 열려 /export있지만 파일 이름 자체가 더 이상 존재하지 않습니다 (예 : 삭제).


답변

그들은 비슷하지만 약간 다른 두 가지를 측정합니다. df는 파일 시스템의 용량을 측정하고 du는 디렉토리 트리를 측정합니다. 예를 들어 다음과 같은 경우

 /dev/sda6 mounted on /exports
 /dev/sda7 mounted on /exports/extra

df of / exports는 / dev / sda6 만 측정하고 / exports du는 / dev / sda6 및 / dev / sda7을 측정합니다. 카운트를 변경하는 교차 파일 시스템 경계에 관한 플래그가 있습니다. 심볼릭 링크를 처리하면 결과에 영향을 줄 수도 있습니다.