Como desativar a exibição de código / saída visualizados anteriormente a partir da linha de comando no linux?

0

Por exemplo, se eu visualizar um documento chamado a.txt no linux. Aqui está o meu prompt:

user $ less a.txt
This is a document named a.txt, here is what happened when I press 'q'
user $ 

Um documento pequeno não me incomoda, mas quando eu examinei um código de 2.000 linhas de comprimento, não consegui ver nada de meus comandos anteriores além de olhar para $history .

Como faço para parar o doc / código de exibição quando existe ( 'q' )?

    
por return 0 19.06.2015 / 08:31

2 respostas

1

Normalmente, o comportamento que você pede é o padrão. Comandos como less usam um recurso chamado altscreen para gravar em um buffer diferente enquanto são executados. Na saída, a tela anterior é restaurada e nenhuma das saídas menores é visível.

Este recurso depende do emulador de terminal que você está usando (xterm, dtterm, ...) e como você define a variável de ambiente TERM no shell. Tente echo $TERM para verificar se não é mudo por exemplo.

    
por 19.06.2015 / 10:44
0

Como disse, o que você está perguntando é o comportamento normal esperado. A tela não será limpa se você executar menos especificamente com o sinalizador -X da seguinte forma:

less -X filename

você pode verificar especificamente o seguinte:

1) Se algum alias é definido onde você vê, menos é definido como menos -X. Basta executar o alias de comando

2) Verifique a variável env, LESS, se ela estiver definida como -XF assim e desmarque-a:

[root @ host] # env | grep MENOS

MENOS = -XF

3) Verifique se há uma variável env e desative-a se existir PAGER = 'menos -X'

Leia mais aqui (embora seja para desativá-lo):

tela de limpeza de comandos 'less' em cima sair - como desligá-lo?

    
por 19.06.2015 / 12:46