Listar arquivos ocultos sem usar - (* |

-6

É possível listar arquivos ocultos sem usar os caracteres mencionados acima? Isso significa não usar nenhuma opção ou o curinga *, bem como alguns outros caracteres (por exemplo, isso é não permitido ls -a , ls -d , .!(|.) , echo .* etc.).

    
por Ivaylo Toskov 22.06.2014 / 01:35

4 respostas

7

find . listará todos os arquivos, incluindo os ocultos.

Corolário: Alguém acha que é uma boa ideia ensinar sobre injeção de comando listando caracteres individuais e possivelmente comandos em seu script. Isso é ativamente prejudicial para o seu aprendizado sobre o shell, porque você acaba com hacks como caracteres de escape ou confiando na configuração padrão específica do Ubuntu , ambos não serão capazes de gerencia nomes de arquivos especiais .

Na verdade, parece que quem quisesse usar isso queria usar eval por algum motivo (o que é sempre * uma idéia terrível) em vez de simplesmente executar o código ou script enviado diretamente.

A maneira mais simples de fazer um loop por arquivos ocultos é

for file in .*
do
    my_command "$file"
done

* Ou então é muito melhor que você tenha lido e entendido todo o artigo do Bash wiki antes mesmo de considerar usá-lo.

    
por l0b0 22.06.2014 / 01:57
3

O Ubuntu tem um alias padrão para ls -la . Você pode simplesmente usar

la
    
por enedil 22.06.2014 / 01:41
2
echo 'printf '.\x2A''

Tabela Unicode para a vitória.

    
por MrVaykadji 22.06.2014 / 03:54
1

echo . < TAB > < TAB >

Já está embutido no bash para fazer isso. Nem precisa executar um comando.

echo . < Meta - * >

Se você absolutamente precisa ter um comando (mas ainda não precisa de nenhum processo externo)

    
por Jayen 22.06.2014 / 05:55