du -sh显示的是文件占用的大小。 ls -lh显示的文件的实际大小。 这里系统层面涉及一个Block Size的概念,具体不深究。 简而言之,假如一个Block是4K,如果文件A的大小是1K,那么用du -sh显示的会是4k(即使3K是空着的),而ls -lh显示的则是1K。 du -sh * 与 ls -lh