如何从终端窗口在 Linux 中创建文件? [关闭]
Posted
技术标签:
【中文标题】如何从终端窗口在 Linux 中创建文件? [关闭]【英文标题】:How to create a file in Linux from terminal window? [closed] 【发布时间】:2012-03-11 23:51:09 【问题描述】:在 Linux 终端中创建文件最简单的方法是什么?
【问题讨论】:
$>newfile
也可以创建文件。
【参考方案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
要在命令行上写入文件,可以使用echo
或printf
:
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/file
或 vi /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
【讨论】:
以上是关于如何从终端窗口在 Linux 中创建文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Linux Ubuntu 中创建 .sh 扩展名文件? [关闭]
为啥要执行权限以及在 c(Linux) 中创建文件所需的写权限? [关闭]