Como listar apenas um tipo de arquivo em um diretório? [RESOLVIDO]

13. Re: Como listar apenas um tipo de arquivo em um diretório?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 02/09/2016 - 15:03h

DanielDutra escreveu:

Boa madrugada e bom dia pessoal tudo bem? Espero que sim!

Gostaria de saber como eu posso listar os arquivos que possui um diretorio de maneira a filtrar apenas um tipo de arquivo.

Por exemplo: Na pasta /bin não possui apenas executaveis. Além deles, possui, pastas, scripts shell, documentos de textos,arquivos compactados e links simbolicos. Tenho na pasta /bin 3449 mas não são todos executaveis.

http://i.imgur.com/eEBtxBZ.png

Gostaria de listar apenas os arquivos executaveis da pasta /bin. Ou seja quero filtrar por tipo de arquivo. Como eu poderia fazer isso?

Ps.: Gostaria de listar todos apenas todos os executaveis sem aparecer os outros tipos na saida. Tentei com o ls mas não consegui! =/

Desde já agradeço a boa vontade!


Boa tarde Daniel.
Vamos considerar as "LETRAS IDENTIFICADORAS" no comando ls -l
Para listar somente os executáveis, faça:
ls -l|egrep '^-..x' 

Mas. . .
Ainda não esta de acordo, pois lista os "scripts" . . .
Vou "ver" se consigo melhorar . . .


Att
Marcelo Oliver


  


14. Re: Como listar apenas um tipo de arquivo em um diretório? [RESOLVIDO]

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 02/09/2016 - 20:02h

wellington_r escreveu:

DanielDutra escreveu:

SIm companheiro welligton executei sim.

Me refiro a esse arquivos aqui = http://i.imgur.com/0OVFEvL.png

Por exemplo quando eu executo
file /usr/bin/a52dec 
ele me mostra esses resultados do arquivo a52dec mas ai eu não sei qual parte ele especifica a extensao do arquivo executavel. Veja = http://i.imgur.com/8EaupSA.png

Eu sei que pelo gerenciador de arquivos thunar eu consigo filtrar pelo tipo de arquivo mas eu gostaria de fazer isso pelo terminal para ele me mostrar apenas um tipo pois no thunar ele mostra todos.


Esse arquivo que você postou é um binário executável, porque o resultado de file /usr/bin/a52dec contém "ELF 64-bit LSB executable". Com essa informação você consegue até saber se é um executável para 32 bits ou 64 bits.

Execute:

file /bin/* | grep "ELF 64-bit LSB executable"


Você vai ver todos os arquivos executáveis contidos nessa pasta.

A extensão não identifica o tipo de arquivo. Se você pegar um jpg e mudar a extensão para pdf ele continua sendo um jpg. O file verifica o cabeçalho e através das informações encontradas lá consegue te dizer qual é aquele tipo de arquivo.

Veja que no exemplo que eu postei anteriormente, na linha "/bin/bzdiff: POSIX shell script, ASCII text executable", isso identifica que bzdiff é um script.

Faça um teste. Utilize "cat" em um arquivo identificado como script e depois execute "cat" em um arquivo executado como "ELF 64-bit...".

Você vai ver que no último caso o terminal vai ficar "maluco", porque ele está tentando exibir os binários contidos no arquivo binário em modo texto.
--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate


Companheiro Welligton era isso mesmo que eu queria haha! =D Eu vi alem do comando ls, du, o file também mas não sabia usar aé pela minha inexpereriencia com o terminal. Realmente era isso que eu queria. Agora eu consigo filtrar da pasta bin realmente apenas os executaveis binarios.

Duvida resolvida= http://i.imgur.com/7hl3GnI.png


15. Re: Como listar apenas um tipo de arquivo em um diretório? [RESOLVIDO]

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 02/09/2016 - 20:28h

Agradeço a todos que contribuiram com o topico tentando me auxiliar a resolver a minha duvida. Todos foram muito prestativos. Fica o meu muito obrigado de coração! =)



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts