Saída do comando ls ou dir [quase resolvido]

1. Saída do comando ls ou dir [quase resolvido]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 14/11/2021 - 07:20h

ls e dir é o mesmo comando, os parâmetros são os mesmos, só muda o nome e as firulas da saída, ls é colorido, dir é monocromático, ls mostra os "espaços em branco" como tais, dir usa caracteres, que variam conforme o idioma, para representar os "espaços em branco".

Pergunto:
Qual parâmetro proporciona uma saída ordenada assim:
- primeiro (ou em cima) os diretórios (pastas) sem mostrar seu respectivo conteúdo.
- depois (ou em baixo) os arquivos.
Deve, é claro, haver um "sinalizador" (letra, caractere, cor, ...) que mostre o que é diretório e o que é arquivo.
Eu cansei de procurar e não achei.


  


2. MELHOR RESPOSTA

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 14/11/2021 - 12:59h

Utilize o --group-directories-first.

Exemplos:
$ ls --group-directories-first
$ ls -lh --group-directories-first


Atenciosamente,
Diego M. Rodrigues

3. Re: Saída do comando ls ou dir [quase resolvido]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 14/11/2021 - 09:55h


de uma lida aqui

https://guiafoca.org/

é uma documentação muito boa


4. Re: Saída do comando ls ou dir [quase resolvido]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 14/11/2021 - 13:34h

diegomrodrigues escreveu: Utilize o --group-directories-first.

Exemplos:
.......
$ ls -lh --group-directories-first


Perfeito!
Só falta o cabeçalho das colunas (se possível) no comando acima.

Como as cores são automáticas no Xfce Terminal do Linux Mint, o parâmetro "--color=" é desnecessário, embora não haja legenda explicando o significado das cores mas dá para entender visto que o computador é meu.

O comando com os parâmetros abaixo satisfazem (quase) o que eu queria:
ls -1 --group-directories-first
ls -1F --group-directories-first





5. Re: Saída do comando ls ou dir

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/11/2021 - 20:52h

ricardogroetaers escreveu:
Perfeito!
Só falta o cabeçalho das colunas (se possível) no comando acima.

Como as cores são automáticas no Xfce Terminal do Linux Mint, o parâmetro "--color=" é desnecessário, embora não haja legenda explicando o significado das cores mas dá para entender visto que o computador é meu.

O comando com os parâmetros abaixo satisfazem (quase) o que eu queria:
ls -1 --group-directories-first
ls -1F --group-directories-firs

Boa noite Ricardo, veja se é isso:
(printf "Permissão Links Dono Grupo Tam. Data Nome\n" ;ls -ld --time-style="+%F" --group-directories-first  /Diretorio/*)|column -t 


Quanto as Cores:
env|sed -n "/^LS_COLORS/s/:/\n/gp"  

Cores do bash:

COR:30 0 COLOR → "\e[0;30m TXT \e[m" 1 COLOR → "\e[1;30m TXT \e[m"
COR:31 0 COLOR → "\e[0;31m TXT \e[m" 1 COLOR → "\e[1;31m TXT \e[m"
COR:32 0 COLOR → "\e[0;32m TXT \e[m" 1 COLOR → "\e[1;32m TXT \e[m"
COR:33 0 COLOR → "\e[0;33m TXT \e[m" 1 COLOR → "\e[1;33m TXT \e[m"
COR:34 0 COLOR → "\e[0;34m TXT \e[m" 1 COLOR → "\e[1;34m TXT \e[m"
COR:35 0 COLOR → "\e[0;35m TXT \e[m" 1 COLOR → "\e[1;35m TXT \e[m"
COR:36 0 COLOR → "\e[0;36m TXT \e[m" 1 COLOR → "\e[1;36m TXT \e[m"
COR:37 0 COLOR → "\e[0;37m TXT \e[m" 1 COLOR → "\e[1;37m TXT \e[m"
COR:38 0 COLOR → "\e[0;38m TXT \e[m" 1 COLOR → "\e[1;38m TXT \e[m"



______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



6. Re: Saída do comando ls ou dir

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 19/11/2021 - 01:15h

msoliver escreveu:
Boa noite Ricardo, veja se é isso:
(printf "Permissão Links Dono Grupo Tam. Data Nome\n" ;ls -ld --time-style="+%F" --group-directories-first  /Diretorio/*)|column -t 

O cabeçalho ficou bom.
Como eu desejava o diretório corrente (minha pasta) substituí (/Diretório/*) por (./*), sem os parênteses, é claro.
O problema foi o "espaço em branco" na pasta "Área de Trabalho", muito grande, desproporcional (vide figura).

Agradeço as respostas mas acho que a coisa está ficando complicada.


7. Re:

Rafael Grether
rafael_grether

(usa FreeBSD)

Enviado em 19/11/2021 - 16:07h

Procure esquecer o DIR.

DIR não é padrão Unix, não funciona em boa parte das distribuições unix-like.
DIR faz parte do pacote coreutils, mas evite utiliza-lo.

Esse comando abaixo te atende?

ls -ld */ && ls -l | grep -v '/$'

Se sim, voce pode criar um alias para ele.


8. Re: Saída do comando ls ou dir

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/11/2021 - 16:17h

ricardogroetaers escreveu:

msoliver escreveu:
Boa noite Ricardo, veja se é isso:
(printf "Permissão Links Dono Grupo Tam. Data Nome\n" ;ls -ld --time-style="+%F" --group-directories-first  /Diretorio/*)|column -t 

O cabeçalho ficou bom.
Como eu desejava o diretório corrente (minha pasta) substituí (/Diretório/*) por (./*), sem os parênteses, é claro.
O problema foi o "espaço em branco" na pasta "Área de Trabalho", muito grande, desproporcional (vide figura).

Agradeço as respostas mas acho que a coisa está ficando complicada.


Essa Área de trabalho, é um problema....
Veja um artigo para trocar por Desktop.
Uma outra solução é colocar um sed na saída do ls, alterando espaço por _
ls ...|sed 's/ de /_de_/'
______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



9. Re: Saída do comando ls ou dir

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 20/11/2021 - 19:05h

rafael_grether escreveu:
Esse comando abaixo te atende?
ls -ld */ && ls -l | grep -v '/$'

Infelizmente não.
Observe a figura:
A primeira parte da saída do comando mostra apenas os diretórios.
A segunda parte mostra arquivos e diretórios misturados.
Não há legendas nas colunas.

Obs: Polegar para baixo na sua resposta não é meu. Eu não faço isso.



10. Re: Saída do comando ls ou dir [quase resolvido]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 20/11/2021 - 19:34h

msoliver escreveu:
Essa Área de trabalho, é um problema....
Veja um artigo para trocar por Desktop.
Uma outra solução é colocar um sed na saída do ls, alterando espaço por _
ls ...|sed 's/ de /_de_/'

Não posso (ou não devo) trocar "Área de Trabalho" por Desktop.
Linux Mint pode mudar o nome das pastas (se autorizado pelo usuário) de acordo com o idioma e localidade declaradas.
A pasta Desktop não existia mas foi criada pelo Comodo antivirus que não sabia disso.
No momento a pasta que representa a tela do computador é "Área de Trabalho", se isso for mudado manualmente pode confundir o sistema.

O uso do caractere "\" (barra invertida) já é um padrão do "dir" para representar o espaço em branco (idioma português do brasil).
A sugestão acima faz com que o ls represente o espaço em branco por "_" (underline).

Agradeço as respostas que me foram fornecidas mas sou levado a acreditar que o problema não tem solução simples, salvo mexendo no "código" do comando, cuja competência e decisão em fazê-lo seria do próprio desenvolvedor.


11. Re: Saída do comando ls ou dir [quase resolvido]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 22/11/2021 - 18:57h

Observação:
As melhores respostas são:
------------------------------------------------------------------
2. MELHOR RESPOSTA
Diego Mendes Rodrigues
diegomrodrigues
(usa Ubuntu)
Enviado em 14/11/2021 - 12:59h

Utilize o --group-directories-first.

Exemplos:
$ ls --group-directories-first
$ ls -lh --group-directories-first

Atenciosamente,
Diego M. Rodrigues
-----------------------------------------------------------------
5. MELHOR RESPOSTA
Marcelo Oliver
msoliver
(usa Debian)
Enviado em 14/11/2021 - 20:52h

Boa noite Ricardo, veja se é isso:
(printf "Permissão Links Dono Grupo Tam. Data Nome\n" ;ls -ld --time-style="+%F" --group-directories-first /Diretorio/*)|column -t

Quanto as Cores:
env|sed -n "/^LS_COLORS/s/:/\n/gp"
Cores do bash:

COR:30 0 COLOR → "\e[0;30m TXT \e[m" 1 COLOR → "\e[1;30m TXT \e[m"
COR:31 0 COLOR → "\e[0;31m TXT \e[m" 1 COLOR → "\e[1;31m TXT \e[m"
COR:32 0 COLOR → "\e[0;32m TXT \e[m" 1 COLOR → "\e[1;32m TXT \e[m"
COR:33 0 COLOR → "\e[0;33m TXT \e[m" 1 COLOR → "\e[1;33m TXT \e[m"
COR:34 0 COLOR → "\e[0;34m TXT \e[m" 1 COLOR → "\e[1;34m TXT \e[m"
COR:35 0 COLOR → "\e[0;35m TXT \e[m" 1 COLOR → "\e[1;35m TXT \e[m"
COR:36 0 COLOR → "\e[0;36m TXT \e[m" 1 COLOR → "\e[1;36m TXT \e[m"
COR:37 0 COLOR → "\e[0;37m TXT \e[m" 1 COLOR → "\e[1;37m TXT \e[m"
COR:38 0 COLOR → "\e[0;38m TXT \e[m" 1 COLOR → "\e[1;38m TXT \e[m"

Att.: Marcelo Oliver
-----------------------------------------------------------------------------------------------------------------------------

Sempre consegui eleger mais de uma "Melhor Resposta" mas dessa vez não consegui.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts