Comando para listar arquivos [RESOLVIDO]

1. Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 11:23h

Dai pessoal, estou tentando executar um comando que me liste os últimos arquivos modificados e liste eles por ordem de tamanho, seria o comando mais ou menos assim "find /var -type f -mtime -1 -exec du -hs {} \;" só falta ele ordenar por ordem de tamanho. Como poderia fazer isso?


  


2. MELHOR RESPOSTA

José Henrique
JoseHenriqueRJ

(usa Red Hat)

Enviado em 04/06/2012 - 14:55h

Coloca:

| sort -nr

após o ; do teu script.

3. Re: Comando para listar arquivos [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 04/06/2012 - 11:29h

O comando

ls -S

ordena por tamanho


4. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 11:53h

mas eu quero que seja com o comando du pois aparece o tamanho no inicio do arquivo, fica melhor para entender


5. Re: Comando para listar arquivos [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 04/06/2012 - 11:57h

Se adicionar o parametro s e h complementa o que desejas, mostrando o tamanho do arquivo com o ls

ls -sSh


6. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 11:59h

executando o comando find /var -type f -mtime -1 -exec ls -sSh {} \; tem a saida:


8,0K /var/run/utmp
8,0K /var/lib/logrotate.status
1,6M /var/lib/mlocate/mlocate.db
468K /var/lib/rpm/__db.003
1,3M /var/lib/rpm/__db.002
16K /var/lib/rpm/__db.001
32K /var/spool/mail/root
8,0K /var/spool/anacron/cron.daily
8,0K /var/cache/yum/base/mirrorlist.txt
4,0K /var/cache/yum/base/cachecookie
8,0K /var/cache/yum/updates/mirrorlist.txt
4,0K /var/cache/yum/updates/cachecookie
8,0K /var/cache/yum/extras/mirrorlist.txt
4,0K /var/cache/yum/extras/cachecookie
384K /var/cache/man/whatis
8,0K /var/webmin/miniserv.lastcrons
8,0K /var/log/mail/statistics
236K /var/log/audit/audit.log
8,0K /var/log/maillog
36K /var/log/lastlog
28K /var/log/rpmpkgs
8,0K /var/log/messages
8,0K /var/log/secure
8,0K /var/log/cron
16K /var/log/wtmp


Ainda não esta ordenando por tamanho.


7. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 11:59h

quero que comece com o maior arquivo e vai diminuindo até o menor.


8. Re: Comando para listar arquivos [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 04/06/2012 - 12:03h

Culpa do find ;-), ele tá passando um arquivo por vez ao ls, se executa o ls -sSh sem o find ele ordena por tamanho.

Então faz assim:

find /var -type f -mtime -1 | ls -sSh


9. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 13:43h

esse comando lista os arquivos do diretório corrente, parece que soh o fim do comando funciona "ls -sSh", executei o find /var -type f -mtime -1 -exec ls -lsSh {} \;` e resultou nisso:


8,0K /var/run/utmp
8,0K /var/lib/logrotate.status
1,6M /var/lib/mlocate/mlocate.db
468K /var/lib/rpm/__db.003
1,3M /var/lib/rpm/__db.002
16K /var/lib/rpm/__db.001
32K /var/spool/mail/root
8,0K /var/spool/anacron/cron.daily
8,0K /var/cache/yum/base/mirrorlist.txt
4,0K /var/cache/yum/base/cachecookie
8,0K /var/cache/yum/updates/mirrorlist.txt
4,0K /var/cache/yum/updates/cachecookie
8,0K /var/cache/yum/extras/mirrorlist.txt
4,0K /var/cache/yum/extras/cachecookie
384K /var/cache/man/whatis
8,0K /var/webmin/miniserv.lastcrons
8,0K /var/log/mail/statistics
240K /var/log/audit/audit.log
8,0K /var/log/maillog
36K /var/log/lastlog
28K /var/log/rpmpkgs
8,0K /var/log/messages
8,0K /var/log/secure
8,0K /var/log/cron
16K /var/log/wtmp


não ficou em ordem de tamanho ainda.


10. Resposta

José Henrique
JoseHenriqueRJ

(usa Red Hat)

Enviado em 04/06/2012 - 14:21h

Caro amigo, se quer apenas do diretório onde está, faça:

find . -maxdepth 1 -type f -exec du -sk {} \; | sort -nr

Se quiser de todos os subderetórios também, faça:

find . -type f -exec du -sk {} \; | sort -nr

Abraço.


11. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 14:33h

fiz um script assim ó:

#!/bin/bash
echo -n "digite o diretorio: "
read DIR
echo -n "arquivos modificados ha quantos dias: "
read DIAS


VAR1=`find $DIR -type f -mtime -$DIAS -exec du -hs {} \;`

echo "$VAR1"



ele ta funcionando, soh queria que ele me listasse por ordem de tamanho.


12. Re: Comando para listar arquivos [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 04/06/2012 - 15:07h

deixei no final com "| sort -n" pra começar primeiro com os arquivos maiores, era mais ou menos isso que eu queria. Obrigado!!



01 02