Você está usando a opção -s
para ls
.
O tamanho de um arquivo e a quantidade de espaço em disco ocupado podem ser diferentes. Considere, por exemplo, se você abrir um novo arquivo, procurar 1G nele e escrever algo, o sistema operacional não alocar 1G (mais o espaço para algo) no disco, ele aloca apenas o mesmo para algo - isso é chamado de " arquivo esparso ".
Eu escrevi um pequeno programa em C para criar esse arquivo:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(void)
{
int fd = open("/tmp/foo.dat", O_CREAT | O_WRONLY, 0600);
if (fd > 0) {
const off_t GIG = 1024 * 1024 * 1024;
// Seek 1G into the file
lseek(fd, GIG, SEEK_SET);
// Write something
write(fd, "hello", sizeof "hello");
close(fd);
}
return 0;
}
Executando esse programa eu recebo:
$ ls -lh /tmp/foo.dat
-rw------- 1 user group 1.1G Feb 4 15:25 /tmp/foo.dat
Mas usando -s
, obtenho:
$ ls -sh /tmp/foo.dat
4.0K /tmp/foo.dat
Portanto, um bloco de 4K foi alocado no disco para armazenar "hello" (e 4K é a menor unidade de alocação para o meu sistema de arquivos).
No seu caso, parece que app
e web
são arquivos esparsos.