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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts