【问题标题】:How do I get the 'clear' command in Cygwin?如何在 Cygwin 中获得“清除”命令?
【发布时间】:2012-06-30 05:37:45
【问题描述】:

我安装了 Cygwin,选择了一组相当少的软件包。

在终端中,我尝试执行“清除”以清除终端,但我得到了

bash: clear: command not found

如何让它工作?

【问题讨论】:

  • 你也可以输入 control-L。
  • 是的,但是(对我来说)这在set -o vi 模式下不起作用;它确实set -o emacs 模式下工作。谢谢。
  • set -o vi 模式下,您可以键入escape 后跟control-L(然后i 回到插入模式)。 (就个人而言,我喜欢 vi 作为编辑器,但不喜欢作为交互式 shell 模式。)
  • 按ctrl+L清除
  • 请注意,ncurses 软件包(如已接受的答案中所述)还包括其他有用的与终端相关的命令,例如 tput,因此根据您的需要可能值得安装。跨度>

标签: cygwin ncurses


【解决方案1】:

安装Cygwin包ncurses;它属于 Utils 类别。

【讨论】:

  • 这个包似乎不在当前的 cygwin 64 位版本中。
  • @AndrewProck 现在好像有了!
  • 谢谢!如果您已经安装了 cygwin,您可以按照此处的“安装 ncurses”部分安装 ncurses:java.ociweb.com/mark/programming/tmuxInCygwin.html
  • 如果没有找到ncourses,在安装开始时更换镜像,或者使用搜索框
【解决方案2】:

只需使用此快捷方式:Alt+F8Ctrl-L 即可跳过页面

【讨论】:

  • 这不是用户要求的,有时清除屏幕对于快速确保您获得的输出来自您认为的来源非常有用。
  • 但根本不是这个问题的答案,如果你把每一个稍微相关的有用信息都放在每个堆栈溢出帖子上,那将是可怕的。
  • 谷歌搜索“cygwin clear screen”让我来到这里,这个答案对我来说是正确的。您可以对答案、范围、限制和诸如此类的东西严格要求 - 但就我而言,这为我解决了问题,并获得了真正“有帮助”的投票。
  • 于是战斗如火如荼:纯粹主义者和反纯粹主义者从哲学鸿沟的对立面开始炮轰。如果一名战斗人员被杀,他会被扔进深渊,当他摔倒时,双方都捂住耳朵,以免听到悖论的尖叫声。
【解决方案3】:

很高兴为 bash 脚本文件提供 clear.exe 程序,所以:

clear.exe 程序命令的 Windows Cygwin 详细信息。

  1. 下载 Cygwin setupx86.exehttp://cygwin.com/ 的任何名称

  2. 运行它并从 Internet 下载。 *如果您有代理连接,您可能需要使用 Internet Explorer 设置或设置自定义代理。

  3. 选择所有默认设置,然后完成安装。

  4. 再次运行安装程序并从 Internet 下载,但这次您将进入 Utils,当涉及到文件树以自定义您的安装时。

  5. 展开 Utils 并进入 ncurses" 文件。在那里,您将单击 ncurses 实用程序左侧的 skip 项目(有几个)。

  6. skip 更改为您要安装的ncurses 的任何版本后,继续安装,然后完成。

  7. 再次运行安装程序,这次您将展开 Lib aka 库。

  8. 找到 terminfo 库安装程序,再次将skip 更改为最新版本,然后继续并完成安装。

注意您可能最终不得不退出 Windows 并重新登录,或者在新程序生效之前重新启动。这是由于 Cygwin 后台会话的可能性。

注意您还必须进行三个单独的安装。

【讨论】:

  • @Chris:我问这个只是为了清楚起见。为什么这里需要 terminfo 数据库库? clear 命令对我来说效果很好。我阅读了有关 terminfo 的信息(如提供的 link),但想知道它在这里有什么具体作用吗?
【解决方案4】:

右键单击 > 重置...(Alt + F8)为我工作...(在 Cygwin-x86-2.830 上)

【讨论】:

  • +1 Ctrl+L 和 ncurses clear 命令保持回滚,而这会清除它。
【解决方案5】:

应该这样做:

alias clear='printf "\033c"'

【讨论】:

  • 很好的答案。在旧版本的 Cygwin 中,cmd /c cls 曾经按照stackoverflow.com/q/15598245/1207769 中的描述工作。但是该解决方案停止工作,而 printf 在撰写本文时仍然有效。
  • 优秀 - 截至 2014 年 9 月仍然有效。为了更清楚起见,您可以将其添加到您的 ./bashrc 文件中(只需复制并越过该行),您可以在 /home/[username 下找到该文件],您将使其永久化。
  • 这对Gow bash 也很有用,但是msysgit 在bin 目录中有自己的clear 程序
  • 这是清除回滚以及当前屏幕的最佳答案。 Ncurses 没有为我清除回滚。
  • 很好的答案......即使在不允许安装软件包的生产服务器上也可以使用它(我知道......生产 Windows 服务器上的 Cygwin ......不是我的选择 xd)。您只需将其添加到您的 ~/.bashrc 文件和 source 它就完成了......很好地指出了这一点
【解决方案6】:

打开 Windows 资源管理器,然后导航到:

[Cygwin 安装目录]\home\[用户]\

e.g.: C:\cygwin\home\wreckseal

然后用 Notepad++ 打开文件.bashrc

将光标移动到最后一行的末尾并点击Enter 键,然后在下面添加文本。

别名 cls='echo -e "\033c"'

或以下文字:

别名 cls='printf "\033c"'

重启cygwin,输入cls。完成!

请注意,发送 cls 命令后没有滚动条。我更喜欢printf 版本而不是echo 版本。自己试试吧!

【讨论】:

    【解决方案7】:

    解决此类问题的一般方法:
    使用完整的可执行文件名称搜索 Cygwin-package search page

    现在可以通过多种方式进行包搜索:

    所有这 4 个匹配项现在都来自 ncurses 包。 (即 2 个调试版本和 2 个稳定版本。

    (专业提示:右键单击搜索字段并创建自定义搜索引擎。我已将其设置为 Firefox 和 Chrome 中“cygwin 包”的快捷方式 cp。)

    【讨论】:

      【解决方案8】:

      使用cygcheck 命令检查它所在的包(将.exe 添加到您的cmd 字符串,在本例中为:clear.exe

      > cygcheck -p 'clear.exe'
      Found 4 matches for clear.exe
      ncurses-debuginfo-5.9-20150307-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
      ncurses-debuginfo-5.9-20150404-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
      ncurses-5.9-20150307-1 - ncurses: Terminal display utilities (installed binaries and support files)
      ncurses-5.9-20150404-1 - ncurses: Terminal display utilities (installed binaries and support files)
      

      你知道你必须使用 cygwin 安装程序安装 ncurses 包。

      【讨论】:

        【解决方案9】:

        我刚接触到这个项目,到目前为止,我认为它很棒

        https://github.com/transcode-open/apt-cyg

        安装后就可以运行了

        apt-cyg install ncurses
        

        我个人更喜欢使用此工具安装库而不是 Cygwin 工具 b/c,Cygwin 版本都附加了 .exe,并且在复制和粘贴 Linux 命令时可能很麻烦(例如,关闭 SO)。

        【讨论】:

          【解决方案10】:

          我在我的系统中尝试过:它有效:

          Just use: cntrl+l
          

          希望对您有所帮助!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-07-01
            • 2014-12-12
            • 1970-01-01
            • 1970-01-01
            • 2018-04-22
            • 2012-10-07
            • 2011-04-28
            相关资源
            最近更新 更多