O Ubuntu não limita o tamanho de um diretório, é imposto pelo sistema de arquivos. Cada arquivo e diretório é um chamado inode. Você pode usar df -i
para verificar o número de inodes em uso e disponíveis para todos os sistemas de arquivos montados.
Acabei de criar um milhão e um arquivos sem problemas, porque meu limite de inode para minha partição ext4 de 50 GB (46 GiB) é grande o suficiente.
Usei a expansão do shell para criar os arquivos, combinada com o touch
utilitário:
mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}
Isso cria 1000001 arquivos que podem ser verificados com ls | wc -l
. Por que 300000..600000
e não 300001..600000
? Porque eu estava com preguiça de colocar esse 1 no final.
df -i
parece:
/dev/sda6 3055616 1133635 1921981 38% /home
Agora remova os arquivos de teste ( cd ..&&rm -f test
demorou muito mais tempo, use rm
com os nomes dos arquivos):
rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f
e o número de inodes em uso diminuiu imediatamente após a remoção dos arquivos:
/dev/sda6 3055616 133634 2921982 5% /home
Observe que, mesmo que o sistema de arquivos permita um número tão grande de arquivos, é uma péssima idéia armazenar esses arquivos grandes em um único diretório. Pelo menos use alguns subdiretórios com uma estrutura como f/i/l/e/filename.ext
. Os programas geralmente não esperam quantidades tão grandes de arquivos.
ext4
é um tipo de sistema de arquivos, não uma extensão de arquivo. Você não pode criar um diretório para edições na fila? Duvido que esses programas possam funcionar bem com quantidades tão grandes de arquivos.