【问题标题】:Command line - Why cant' I use the 'touch' command?命令行 - 为什么我不能使用 'touch' 命令?
【发布时间】:2017-01-02 22:28:46
【问题描述】:

我正在使用Codecademy 来学习命令行。当我尝试使用命令touch file.txt 时,它说,

'touch' 不是内部或外部命令、可运行程序或批处理文件。

我在论坛上搜索,发现可以使用echo.>file.txt,并且成功了。

我想知道为什么touch 命令不起作用。这是因为我使用的是 Windows 而不是 Mac?有人可以向我解释吗?谢谢!

这是我笔记本电脑上的截图......

【问题讨论】:

  • 您使用的是 Windows 命令行而不是 Shell。在 Windows 中没有可用的触摸命令

标签: command-line command touch


【解决方案1】:

cd 进入您要创建文件的目录并输入以下 type nul > filename.txt 这将在该目录中创建一个空文件。
并且根据问题touch can't be used in windows 10 command prompt。

【讨论】:

    【解决方案2】:

    我今天也遇到过这种情况,但在我尝试 Node.js 时。是的,正如他们提到的,touch 是针对 Unix 的。似乎大多数教程都是在使用 Mac 时创建的。无论如何,我找到了另一种解决方法,通过 NPM 安装 touch...只要确保您已连接到互联网即可下载软件包。

     C:\npm install touch-cli -g
    

    之后我就可以使用touch了。

    我在使用 Windows 10 时遇到的另一个问题是我无法更改到其他目录。如果您在学习教程时也遇到了这种情况,请尝试使用此方法而不是“cd”。

    cd /D <directory>
    

    【讨论】:

      【解决方案3】:

      touch 不是 Windows shell 中的命令,它位于类 Unix 操作系统(Mac、Linux 等)的 shell 中,提供原始 sh shell 的衍生版本。

      对于 Windows,您可以使用您找到的解决方法,或者安装一个终端模拟器,例如 Cygwin。事实上,Windows 10 目前正在内置 Linux 环境,这意味着您可以像 Ubuntu 一样使用它,它会为 touch 提供正确的 shell。

      【讨论】:

      • Cygwin 不是终端仿真器。它包括一个终端mintty,但远不止于此。 “Cygwin 是:大量 GNU 和开源工具的集合,提供类似于 Windows 上的 Linux 发行版的功能。”其中一个工具是touch
      • @DavidPostill 谢谢,我几乎提到了像 Putty 这样的其他人,但我不太确定它们是否“只是”终端仿真器。我经常看到 Cygwin 被提及以模仿 bash,以至于我忘记了它的功能不止于此(我是 Mac、Arch、Fedora 用户)。
      猜你喜欢
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2013-01-28
      • 2018-07-02
      • 2014-05-15
      • 2010-10-21
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多