De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 24 de Novembro de 2000
Com relação a mensagem sobre os arquivos grandes, eu recebi algumas idéias interessantes, que estou retransmitindo.
Como diz o Larry Wall, criador do Perl, "there is more than one way of doing it".
A primeira delas me foi enviada pelo Fernando Roxo, da Conectiva <<roxo (a) conectiva com br>>. Leiam com atenção pois ele aborda alguns conceitos muito interessantes e certamente bastante úteis que podem ser usados em outros contextos.
> --------------------------------------------------------------------- > Se o espaço em disco anda apertado em seu sistema Unix, para > descobrir os culpados os seguintes comandos podem ajudar: > > find . -size +1024 | xargs ls -s | sort -nr | head -n 20
Uma pequena modificação poderia ser :
find . -size +1024 -exec ls -s {} \; | sort -nr | head -n 20
Esta forma usa a possibilidade do 'find' executar um comando a cada arquivo encontrado, neste caso o comando 'ls -s'. Alguém poderia questionar o fato de se estar invocando o comando 'ls' a cada novo arquivo encontrado, em lugar de um único evento como na sugestão apresentada. Neste caso estou me aproveitando do fato de o Linux/ Unixes fazerem um cache dos códigos recentemente executados, por isto depois da primeira invocação do 'ls' o sistema apenas executará a cópia que já está na memória, sem perdas maiores.
No caso do 'GNU find', presente no Linux e nos Free*nixes, pode-se ainda usar uma outra opção :
find . -size +1024 -printf "%k %h/%f\n" | sort -nr | head -20
A opção "-printf" é bastante poderosa e flexível, para maiores informações "man find". Neste caso específico o símbolo "%k" será substituido pelo tamanho do arquivo em blocos de 1024 bytes ( K Bytes ). O símbolo "%h" corresponde ao 'dirname' ( ver "man dirname" ) do arquivo, e o símbolo "%f" ao 'basename' ( ver "man basename" ;)). Para efeito de formatação pode-se usar a forma :
find . -size +1024 -printf "%8k %h/%f\n" | sort -nr | head -20
Que força um campo de 8 caracteres para o tamanho do arquivo.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários