Não conheço nenhuma outra maneira além de varrer a árvore de diretórios em questão para coletar os tamanhos de arquivo para que você possa determinar o arquivo maior. Se você sabe que há um limite de tamanho, você pode instruir a procurar para descartar arquivos que estão abaixo desse tamanho limite.
$ find . -type f -size +50M ....
Demitiria todos os arquivos abaixo do tamanho de 50MB. Se você souber que esses arquivos estão sempre em um local específico, poderá direcionar seu find
para essa área, em vez de verificar o disco inteiro.
OBSERVAÇÃO: Esse é um método que eu normalmente uso desde que você não deveria estar recebendo arquivos aleatórios em não /var
tipos de diretórios, normalmente.
Em relação a du
, você pode informar a saída dos tamanhos em formatos legíveis por humanos usando a opção -h
. O comando sort
também sabe ordená-los, usando novamente a opção -h
.
Exemplo
$ find /home/saml/apps -type f -size +50M -print0 | \
du -h --files0-from=- | sort -h | tail -1
1.4G /home/saml/apps/MeVisLabSDK2.2.1_gcc-64.bin
O find
acima retorna a lista de arquivos > 50MB usando um caractere nulo (
) como o separador. O comando du
--files0-from=-
pega essa lista e sabe dividir em nulos usando a opção tail -1
. Essa saída é então classificada por seus tamanhos humanos formatados.
Sem o %code% :
$ find /home/saml/apps -type f -size +50M -print0 | \
du -h --files0-from=- | sort -h
55M /home/saml/apps/MeVisLabSDK/Packages/MeVis/ThirdParty/lib/libQtXmlPatternsMLAB.so.4.6.2.debug
55M /home/saml/apps/MeVisLabSDK/Packages/MeVis/ThirdParty/Sources/Qt4/qt/lib/libQtXmlPatternsMLAB.so.4.6.2.debug
56M /home/saml/apps/MeVisLabSDK/Packages/FMEwork/ThirdParty/lib/libitkvnl-4.0_d.a
66M /home/saml/apps/MeVisLabSDK/Packages/FMEwork/Release/lib/libMLDcmtkAccessories_d.so
79M /home/saml/apps/MeVisLabSDK/Packages/FMEwork/Release/lib/libMLDcmtkMLConverters_d.so
94M /home/saml/apps/MeVisLabSDK/Packages/MeVis/ThirdParty/lib/libQtGuiMLAB.so.4.6.2.debug
94M /home/saml/apps/MeVisLabSDK/Packages/MeVis/ThirdParty/Sources/Qt4/qt/lib/libQtGuiMLAB.so.4.6.2.debug
112M /home/saml/apps/ParaView-3.14.1-Linux-64bit.tar.gz
204M /home/saml/apps/Slicer-4.1.1-linux-amd64.tar.gz
283M /home/saml/apps/MeVisLabSDK/Packages/FMEwork/Release/lib/libMLDcmtkIODWrappers_d.so
1.4G /home/saml/apps/MeVisLabSDK2.2.1_gcc-64.bin