AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 412613
Accepted
StrangeRanger
StrangeRanger
Asked: 2017-12-23 15:33:12 +0800 CST2017-12-23 15:33:12 +0800 CST 2017-12-23 15:33:12 +0800 CST

Faça a redefinição no Mac como a redefinição no Linux

  • 772

No Mac, o resetcomando no terminal quase faz a mesma coisa que clear. No Ubuntu Linux, e talvez em outros tipos de Linux, o resetcomando realmente "redefine" o terminal para que você não possa rolar para cima ou ver os comandos de entrada anteriores ao rolar. Existe uma maneira de fazer o resetcomando no Mac agir/fazer a mesma coisa resetque no Linux? Em caso afirmativo, como posso fazê-lo?

command-line terminal
  • 2 2 respostas
  • 584 Views

2 respostas

  • Voted
  1. Best Answer
    Thomas Dickey
    2017-12-23T15:44:36+08:002017-12-23T15:44:36+08:00

    Na verdade (no MacOS), não é "exatamente a mesma coisa" (a descrição da página de manual para "limpar" é diferente de "redefinir" ).

    MacOS vem com ncurses 5.7 ( 9 anos), com algumas atualizações no banco de dados do terminal. Se você quiser algo mais novo, a instalação do MacPorts permite atualizar o ncurses para a versão atual (menos alguns meses).

    A propósito, isso seria mais recente que o Ubuntu, que geralmente fica para trás nas versões de desenvolvimento em 6 meses a 2 ou mais anos.

    • 5
  2. telcoM
    2017-12-24T09:49:43+08:002017-12-24T09:49:43+08:00

    Este é um pouco de um artefato histórico. No início do Unix time_t, os computadores eram as grandes caixas no datacenter e os terminais eram peças separadas de hardware usadas para se comunicar com eles. Um terminal não vinha necessariamente do mesmo fabricante do computador, e cada fabricante e modelo de terminal tinha seu próprio conjunto de recursos extras e peculiaridades que precisavam ser levados em consideração.

    curses, e seu sucessor posterior ncursessão bibliotecas que ocultam todas as especificações dependentes de marca e modelo dos terminais e fornecem maneiras padrão de realizar operações de controle de terminal como "limpar a tela" ou "redefinir o terminal para as configurações padrão sãs". Essas bibliotecas usam a variável de ambiente TERMpara decidir qual conjunto de sequências de controle deve ser usado.

    Os comandos gostam cleare resetusam essas bibliotecas para traduzir a operação solicitada pelo usuário em sequências de controle específicas do modelo de terminal e enviá-las ao terminal. Essas sequências de controle específicas do modelo são armazenadas em termcapou terminfoarquivos - termcapé o estilo antigo e terminfoé o que é usado por ncurses.

    Hoje, é muito comum que o "terminal" seja na verdade um emulador de terminal que roda no mesmo hardware físico do computador real. Mas ainda é controlado como se fosse uma peça separada de hardware.

    Isso deixa o programador do emulador de terminal um certo grau de liberdade para escolher como recursos específicos devem ser implementados. Por exemplo, o programador pode fazer com que a reinicialização do terminal limpe o buffer de rolagem - ou ele pode escolher o contrário, se for da opinião que o buffer de rolagem "pertence" ao usuário e nenhum aplicativo deve tem o poder de limpá-lo.

    Como alternativa, o programador do emulador de terminal pode ter fornecido diferentes sequências de controle para redefinir o terminal com ou sem limpar o buffer de rolagem. Nesse caso, a pessoa que empacota as bibliotecas de controle de terminal para uma distribuição de sistema operacional terá uma escolha a fazer: o resetcomando deve limpar a rolagem por padrão ou não? Dependendo da escolha, ele/ela pode armazenar uma sequência de controle diferente no local apropriado nos arquivos de dados usados ​​pelas bibliotecas de controle do terminal.

    Sempre foi possível para o administrador do sistema adicionar novos conjuntos de sequências de controle de terminal aos arquivos termcapou terminfomodificar os existentes. Talvez algum site tenha um modelo de terminal que não seja amplamente conhecido, ou talvez uma definição padrão exija apenas alguns ajustes para corresponder a um caso de uso específico. Se a sequência de controle padrão usada pelo resetcomando for realmente "redefinir terminal sem limpar a rolagem", você poderá substituí-la por um código "redefinir terminal e rolagem" nos arquivos.

    • 1

relate perguntas

  • Área de memória Flash Nand de backup

  • Qual é a interface recomendada para um utilitário que requer muitos parâmetros? [fechado]

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • Fazendo mysql CLI me pedir uma senha interativamente

  • Pub / sub de linha de comando sem um servidor?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve