【问题标题】:How to create a file in Linux from terminal window? [closed]如何从终端窗口在 Linux 中创建文件? [关闭]
【发布时间】:2012-03-11 23:51:09
【问题描述】:

在 Linux 终端中创建文件最简单的方法是什么?

【问题讨论】:

  • $>newfile也可以创建文件。

标签: linux bash file command-line-interface


【解决方案1】:

最简单快捷的方法之一

$ vim filename

【讨论】:

    【解决方案2】:

    使用 install 创建一个具有所有权和权限的空白文件。

    sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
    

    【讨论】:

    • sudo 在许多情况下都很有用,但不是直接回答 OP 问题的一部分。
    • 如果您不是需要该文件的用户名,则需要该用户名拥有或不是该组的成员。
    • 是的,有类似的情况,但严格来说不是 OP 要求的。
    【解决方案3】:
    touch filename
    

    对于permission denied 错误使用sudo 命令为:

    sudo touch filename
    

    【讨论】:

      【解决方案4】:

      这将创建一个带有当前时间戳的空文件

      touch filename
      

      【讨论】:

        【解决方案5】:

        就这么简单:

        > filename

        【讨论】:

          【解决方案6】:

          第一种方法

          echo -n > filename.txt
          

          第二种方法

          > filename.txt
          

          第三种方法

          touch filename.txt
          

          查看文件内容

          vi filename.txt
          

          【讨论】:

          • 2 方法是 type-> "> filename.txt"
          • 该问题与 help center 中定义的 Stack Overflow 无关。请不要回答此类问题;相反,您应该标记它们以引起注意,它们将被适当地关闭或迁移。
          【解决方案7】:

          如何在 Linux 上创建文本文件:

          • 使用touch创建一个文本文件:$ touch NewFile.txt
          • 使用cat创建新文件:$ cat NewFile.txt
            该文件已创建,但它是空的,仍在等待用户的输入。您可以在终端中输入任何文本,一旦完成,CTRL-D 将关闭它,或者 CTRL-C 将您退出。
          • 只需使用> 创建一个文本文件:$ > NewFile.txt
          • 最后,我们可以使用任何文本编辑器名称,然后创建文件,例如:
            nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName

          【讨论】:

            【解决方案8】:

            您可以使用touch 命令,正如其他人所说:

            touch filename
            

            要在命令行上写入文件,可以使用echoprintf

            echo "Foo" > filename
            printf "Foo" > filename
            

            也许您可能会遇到权限问题。如果您收到以下错误:bash: filename: Permission denied,您需要使用sudo bash -c 'echo "Foo" > filename',如下所述: https://askubuntu.com/questions/103643/cannot-echo-hello-x-txt-even-with-sudo

            【讨论】:

              【解决方案9】:

              我喜欢nano 命令行编辑器(文本):

              nano filename
              

              【讨论】:

                【解决方案10】:

                如果你们试图创建一个新文件,但它显示:'File does not exist',这仅仅是因为您还在访问一个尚不存在的目录。您必须先使用mkdir /path/to/dir 命令创建所有不存在的目录。

                【讨论】:

                  【解决方案11】:

                  使用cat创建文件

                  $ cat > myfile.txt

                  现在,只需在文件中输入您想要的任何内容:

                  Hello World!

                  CTRL-D 保存退出

                  【讨论】:

                  • 我更喜欢使用 cat,因为它提供了一种简单方便的方式来立即编辑文件。
                  • 您也可以不输入任何内容。
                  • 当我尝试cat /etc/systemd/system/sample.service 时,它说“没有这样的文件或目录”,而不是创建一个新的 sample.service 文件。
                  • @TylerH cat /etc/systemd/system/sample.service 将文件打印到控制台 cat > /etc/systemd/system/sample.service 将标准输入重定向到文件(这就是为什么您需要通过按 control-d 来关闭标准输入。
                  • 很好的答案!!!快速简单。谢谢!!
                  【解决方案12】:

                  取决于您希望文件包含的内容:

                  • touch /path/to/file 用于空文件
                  • somecommand > /path/to/file 用于包含某些命令输出的文件。

                      eg: grep --help > randomtext.txt
                          echo "This is some text" > randomtext.txt
                    
                  • nano /path/to/filevi /path/to/file(或 any other editor emacs,gedit etc
                    它要么打开现有文件进行编辑,要么创建并打开空文件以输入(如果它不存在)

                  【讨论】:

                  • 还有,printf "some long message\nwith newlines\n" > file。祝大家好运。
                  • UNIX 不是命令行环境,而是一系列(非常不同的)操作系统。也就是说:是的,这应该适用于大多数 Unices
                  • touch 可以在 UNIX 中工作,因为它是一个标准工具。 somecommand 示例将起作用,因为它使用标准语法。 nano 示例可能无法工作,因为可能未安装名为 nano 的编辑器(nano 未标准化)。标准编辑器是ed,可以用来代替nano,或者您可以使用$EDITOR 来使用用户或系统配置的默认文本编辑器(如果有的话)。
                  • 此外,您可以简单地说>/path/to/file 来创建一个空文件,即使您没有touch
                  • @EugenRieck 如果说权限被拒绝怎么办
                  【解决方案13】:

                  有几种可能的解决方案:

                  创建一个空文件

                  touch file
                  
                  >file
                  
                  echo -n > file
                  
                  printf '' > file
                  

                  只有当您的echo 版本支持-n 开关以抑制换行时,echo 版本才有效。这是一个非标准的添加。其他示例都将在 POSIX shell 中运行。

                  创建一个包含换行符的文件

                  echo '' > file
                  
                  printf '\n' > file
                  

                  这是一个有效的“文本文件”,因为它以换行符结尾。

                  将文本写入文件

                  "$EDITOR" file
                  
                  echo 'text' > file
                  
                  cat > file <<END \
                  text
                  END
                  
                  printf 'text\n' > file
                  

                  这些是等价的。 $EDITOR 命令假定您在 EDITOR 环境变量中定义了一个交互式文本编辑器,并且您以交互方式输入等效文本。 cat 版本假定在 \ 和其他行之后有一个文字换行符。除此之外,这些都将在 POSIX shell 中工作。

                  当然还有很多其他的编写和创建文件的方法。

                  【讨论】:

                    【解决方案14】:

                    您可以使用touch 命令创建一个新的空文件。

                    http://linux.about.com/library/cmd/blcmdl_touch.htm

                    【讨论】:

                      【解决方案15】:

                      使用touch

                      touch filename
                      

                      【讨论】:

                        【解决方案16】:

                        哈哈!这很容易!试试这个:

                        $ touch filename
                        

                        【讨论】:

                        • 这适用于 sudo,所以我能够在系统文件夹中创建新文件。
                        【解决方案17】:

                        另外,创建一个空文件:

                        touch myfile.txt
                        

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-11-26
                          相关资源
                          最近更新 更多