AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 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

在 Mac 上进行重置,就像在 Linux 上进行重置一样

  • 772

在 Mac 上,reset终端中的命令几乎与clear. 在 Ubuntu Linux 以及其他版本的 Linux 上,该reset命令实际上会“重置”终端,这样您就无法向上滚动或通过滚动查看先前输入的命令。有没有办法让resetMac 上的命令像 Linux 上的一样行动/做同样的事情reset?如果是这样,我该怎么做?

command-line terminal
  • 2 2 个回答
  • 584 Views

2 个回答

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

    实际上(在 MacOS 上),它不是“完全相同的东西”(“clear”的手册页描述与“reset”不同)。

    MacOS 附带 ncurses 5.7(9岁),对终端数据库进行了一些更新。如果您想要更新的东西,安装 MacPorts 可以让您将 ncurses 更新到当前(少于几个月)版本。

    顺便说一句,这将比 Ubuntu 更新,后者通常比开发版本滞后 6 个月到 2 年或更长时间。

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

    这有点像历史文物。在 Unix 诞生之初time_t,计算机是数据中心的大盒子,终端是用于与它们通信的独立硬件。终端不一定来自与计算机相同的制造商,每个终端制造商和型号都有自己的一组额外功能和怪癖,必须加以考虑。

    curses, 及其后来的继任者ncurses是隐藏所有终端的制造和模型相关细节的库,并提供标准方法来执行终端控制操作,如“清除屏幕”或“将终端重置为正常的默认设置”。这些库使用环境变量TERM来决定应该使用哪一组控制序列。

    命令喜欢clear并reset使用此类库将用户请求的操作转换为特定于终端模型的控制序列并将它们发送到终端。这些特定于模型的控制序列存储在termcap文件中terminfo-termcap是旧样式,terminfo是ncurses.

    今天,“终端”实际上是一个终端仿真器,它运行在与实际计算机相同的物理硬件上,这一点非常普遍。但它仍然受到控制,就好像它是一个单独的硬件一样。

    这让终端仿真器的程序员有一定的自由度来选择应该如何实现特定的功能。例如,程序员可能会这样做,以便重置终端将清除回滚缓冲区 - 或者她/他可能会选择其他方式,如果她/他认为回滚缓冲区“属于”用户并且没有应用程序应该有权清除它。

    或者,终端仿真器的程序员可能已经提供了不同的控制序列来重置终端,无论是否清除回滚缓冲区。在这种情况下,为 OS 分发打包终端控制库的人将有一个选择:该reset命令是否应该默认清除回滚?根据选择,她/他可以在终端控制库使用的数据文件中的适当位置存储不同的控制序列。

    系统管理员始终可以将新的终端控制序列集添加到termcap或terminfo文件,或修改现有的。也许某些站点的终端模型并不广为人知,或者标准定义可能只需要稍作调整即可匹配特定用例。如果事实证明该reset命令使用的默认控制序列实际上是“重置终端而不清除回滚”,您可以将其替换为文件中的“重置终端和回滚”代码。

    • 1

相关问题

  • 备份 Nand Flash 存储区

  • 需要许多参数的实用程序的推荐界面是什么?[关闭]

  • 远程运行 X 应用程序,在远程主机上运行 GUI [关闭]

  • 使 mysql CLI 以交互方式向我询问密码

  • 没有服务器的命令行 pub/sub?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    JSON数组使用jq来bash变量

    • 4 个回答
  • Marko Smith

    日期可以为 GMT 时区格式化当前时间吗?[复制]

    • 2 个回答
  • Marko Smith

    bash + 通过 bash 脚本从文件中读取变量和值

    • 4 个回答
  • Marko Smith

    如何复制目录并在同一命令中重命名它?

    • 4 个回答
  • Marko Smith

    ssh 连接。X11 连接因身份验证错误而被拒绝

    • 3 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Marko Smith

    systemctl 命令在 RHEL 6 中不起作用

    • 3 个回答
  • Marko Smith

    rsync 端口 22 和 873 使用

    • 2 个回答
  • Marko Smith

    以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

    • 1 个回答
  • Marko Smith

    jq 打印子对象中所有的键和值

    • 2 个回答
  • Martin Hope
    EHerman JSON数组使用jq来bash变量 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux 日期可以为 GMT 时区格式化当前时间吗?[复制] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC 如何复制目录并在同一命令中重命名它? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve “root”用户的文件权限如何工作? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe 将默认编辑器更改为 vim for _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey 如何下载软件包而不是使用 apt-get 命令安装它? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao 为什么目录 /home、/usr、/var 等都具有相同的 inode 编号 (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg —list-keys 命令在将私钥导入全新安装后输出 uid [未知] 2017-11-26 18:26:02 +0800 CST

热门标签

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

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve