Qual é a opção equivalente para o ls
comando ativar a paginação como no DOS dir /p
?
fonte
Qual é a opção equivalente para o ls
comando ativar a paginação como no DOS dir /p
?
Não existe um equivalente direto em ls
si, mas existe o less
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
aciona a exibição da coluna. Use lah
como argumentos ( ls -lah
) para obter uma l ine pela exibição de linha com um arquivos ll sendo exibido (incluem as ocultas), e h uman filesizes legíveis.
Para que as cores apareçam corretamente , você precisa adicionar o --color=always
argumento ls
e o -R
argumento com menos *:
ls -C --color=always | less -R
isso mostra 'ls -ah --color = sempre | menos -R '
Ao contrário de more
, less
permitirá rolar pela saída. Também é um pouco mais rápido para listagens muito grandes.
O pipe funciona assim:
Todo programa tem entrada e saída, um canal redireciona a saída de um programa (ls) para a entrada de outro programa (menos). E menos espera apenas a entrada que ele formata.
Um equivalente mais antigo da escola seria pg
:
ls | pg
Você também pode
ls | head
ou ls | tail
para exibir apenas a primeira ou a última parte da saídawatch "ls"
para manter a tela aberta, atualizando-a a cada poucos segundos para assistir as alteraçõesbanner $(ls)
se você estiver sentado muito longe da tela. (;Se você achar tudo isso por muito tempo para lembrar, poderá configurar um alias para ele:
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 apenas digitar lsp
ou qualquer nome que escolher.
Se você deseja passar mais argumentos para o seu alias, precisamos definir uma função :
lsp(){ ls -ah --color=always "$@" | less -R; }
Uma função, olhando principalmente como esta: name(){ commands; };
pode aceitar argumentos, $1
, $2
, $3
e assim por diante. $@
significa "todo argumento, se houver" .
Agora você pode executar algo como lsp *.py
, lsp -C
e assim por diante. Nós inserimos os argumentos no ponto em que eles são passados para ls. Também poderíamos ter inserido $ * por menos, se esse fosse o comando importante. Você pode ver todos os argumentos de ls em man 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) que não é capaz de exibir cores. "--color = always" força ls a ignorar isso. A opção -R torna menos repintar a tela, escapando às cores corretamente.
$*
e$@
faça exatamente a mesma coisa. Eles se expandem para$1 $2 $3 ...
. Citado, no entanto, se"$@"
expande para"$1" "$2" "$3" ...
enquanto se"$*"
expande para"$1 $2 $3 ..."
(ou seja, todos os argumentos em uma sequência, usando o primeiro caractereIFS
como separador). mywiki.wooledge.org/BashGuide/ParametersNão tenho certeza se existe algum comando ls para paginação. No entanto, você pode usar um pipe e
less
, assim:E use q para sair.
fonte
Tente
ls | less
ouls | more
. O segundo está próximo da versão do DOS.fonte
ls --color=always -C | less -R