
Qual é a opção equivalente para o ls
comando ativar a paginação como no DOS dir /p
?
Responder1
Não existe um equivalente direto em ls
si, mas existe oless
utilitário, que formatará a saída de qualquer comando como páginas separadas, roláveis por linha ou página:
ls -C | less
Onde -C
a coluna dos gatilhos é exibida. Use lah
como 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=always
argumento emls
e o-R
argumento em less*:ls -C --color=always | less -R
isso mostra 'ls -ah --color=always | menos -R'
Em contraste commore
,less
permitirá 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 seria
pg
:ls | pg
Você também pode
- Use
ls | head
ouls | tail
para 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_aliases
com 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
lsp
ou 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, ,$1
e assim por diante. significa$2
$3
$@
"todo argumento, se houver".Agora você pode executar algo como
lsp *.py
,lsp -C
e 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 | less
ou 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.