Gil*_*il' 130
您不能使用终端来创建文件。您可以使用在终端中运行的应用程序。只需调用任何非 GUI 编辑器(emacs -nw, joe, nano, vi, vim, ...)。
如果您的意思是使用命令行,那么您是在询问如何使用 shell 创建文件。请参阅“终端”、“外壳”、“tty”和“控制台”之间的确切区别是什么?
使用 shell 创建文件的基本方法是使用输出重定向。例如,以下命令创建一个名为的文件,foo.txt其中包含该行Hello, world.
echo 'Hello, world.' >foo.txt
Run Code Online (Sandbox Code Playgroud)
如果你想写多行,这里有几种可能性。您可以使用printf.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Run Code Online (Sandbox Code Playgroud)
您可以使用包含换行符的字符串文字。
echo 'First line.
Second line.
Third line.' >foo.txt
Run Code Online (Sandbox Code Playgroud)
或者
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Run Code Online (Sandbox Code Playgroud)
另一种可能性是对命令进行分组。
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
Run Code Online (Sandbox Code Playgroud)
在命令行上,您可以更直接地使用cat. 将其输出重定向到文件并在cat的标准输入上逐行键入输入。在行首按Ctrl+D表示输入结束。
$ cat >foo.txt 第一行。 第二行。 第三行。 Ctrl+D
在脚本中,您将使用here 文档来实现相同的效果:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Run Code Online (Sandbox Code Playgroud)
如果您只想创建一个空文件,可以使用以下touch命令:如果文件不存在则创建该文件,如果存在则仅更新其最后修改日期。
touch foo.txt
Run Code Online (Sandbox Code Playgroud)
等效地:
>>foo.txt
Run Code Online (Sandbox Code Playgroud)
即打开foo.txt以进行追加,但向其中写入 0 个字节 — 这会创建文件但不会修改它。与 不同touch,如果文件已经存在,这不会更新文件的最后修改日期。
要创建一个空文件,并在文件已经存在的情况下删除文件的内容,您可以使用
>foo.txt
Run Code Online (Sandbox Code Playgroud)
Dis*_*ame 13
touch ~/Desktop/something.txt
Run Code Online (Sandbox Code Playgroud)
这将创建一个空txt文件。
或者
echo "Hello" > ~/Desktop/somethingelse.txt
Run Code Online (Sandbox Code Playgroud)
这将创建一个txt文件,上面写着“你好”。
nano ~/Desktop/anotherfile.txt
Run Code Online (Sandbox Code Playgroud)
这将~/Desktop/anotherfile.txt在 中打开nano,或者如果它不存在,它将创建并在 中打开nano。
同样可以通过简单地替换nano为emacsor来完成,vim它将使用emacsorvim代替nano
小智 9
创建一个空文件只需要:
> my.txt
Run Code Online (Sandbox Code Playgroud)
小智 5
当你被卡住并且必须在命令行上创建一个多行文本文件时,一些有用的东西是这样的:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Run Code Online (Sandbox Code Playgroud)
您可以替换cat另一个命令,例如grep和pattern,并让 grep 在您的输入上完成它的工作,这将以相同的方式输出到文件。