Como ativar a paginação para o comando ls?

Como ativar a paginação para o comando ls?

Qual é a opção equivalente para o lscomando ativar a paginação como no DOS dir /p?

Responder1

Não existe um equivalente direto em lssi, mas existe olessutilitário, que formatará a saída de qualquer comando como páginas separadas, roláveis ​​por linha ou página:

ls -C | less

Onde -Ca coluna dos gatilhos é exibida. Use lahcomo argumentos ( ls -lah) para obter umeuexibição ine por linha comatodos os arquivos sendo exibidos (incluindo os ocultos) ehtamanhos de arquivos legíveis por humanos.

  • Para que as cores apareçam corretamente, você precisa adicionar o --color=alwaysargumento em lse o -Rargumento em less*:

    ls -C --color=always | less -R

    texto alternativo
    isso mostra 'ls -ah --color=always | menos -R'

Em contraste commore,lesspermitirá que você role pela saída. Também é um pouco mais rápido para listagens muito grandes.

O tubo funciona assim:

Todo programa possui entrada e saída, um pipe redireciona a saída de um programa (ls) para a entrada de outro programa (menos). E less simplesmente espera uma entrada que então formata.

  • Um equivalente mais tradicional seriapg:

    ls | pg
    

Você também pode

  • Use ls | headou ls | tailpara exibir apenas a primeira ou a última parte da saída
  • Use watch "ls"para manter a tela aberta, atualizando-a a cada poucos segundos para observar as alterações
  • Use banner $(ls)se você estiver sentado muito longe da tela. (;

  • Se você achar tudo isso muito longo para lembrar, você pode configurar umapelidopara isso:

    Abra ~/.bash_aliasescom um editor de texto e adicione algo assim:

    alias lsp="ls -ah --color=always | less -R"
    

    (este é um script que é executado toda vez que um novo terminal virtual é iniciado, você deve configurar todos os seus aliases permanentes)

    Agora você pode simplesmente digitar lspou qualquer nome que você escolher.

    Se você quiser poder passarargumentos adicionaispara o seu alias, precisamos definir uma funçãoem vez de:

    lsp(){ ls -ah --color=always "$@" | less -R; }
    

    Uma função, principalmente assim: name(){ commands; };pode aceitar argumentos, , $1e assim por diante. significa$2$3$@"todo argumento, se houver".

    Agora você pode executar algo como lsp *.py, lsp -Ce assim por diante. Inserimos os argumentos no ponto onde eles são passados ​​para ls. Também poderíamos ter inserido $* por menos, se fosse o comando importante. Você pode ver todos os argumentos de ls emman ls(vale a pena ler).


*: A razão para isso é que sempre que você canaliza algo, ele detecta um Terminal (na verdade, o outro programa) incapaz de exibir cores. "--color=always" força ls a ignorar isso. A opção -R faz com que menos repinte a tela,escapando das coresapropriadamente.

Responder2

Não tenho certeza se existe algum comando ls para paginação. No entanto, você pode usar um pipe e less, assim:

ls | less

E use q para sair.

Responder3

Experimente ls | lessou ls | more. O segundo está próximo da versão DOS.

Responder4

A paginação pode ser feita usando o seguinte comando.

$ ls

O comando acima irá imprimir em um formato rolável.

$ ls | pager

O comando acima irá imprimir em formato paginado.

Algumas dicas extras: -

  • Use a barra de espaço para ir para a próxima página.
  • Use q para sair da paginação.

informação relacionada