在Linux终端上创建文件最简单的方法是什么?
当前回答
你可以使用触摸命令,正如其他人所说:
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
其他回答
使用install创建具有所有权和权限的空白文件。
sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
如果你试图创建一个新文件,但它说:“文件不存在”,这只是因为你也在访问一个目录,它还不存在。您必须先创建所有不存在的目录,使用mkdir /path/to/dir命令。
有几种可能的解决方案:
创建一个空文件
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命令假设您在编辑器环境变量中定义了一个交互式文本编辑器,并且您交互式地输入等效文本。cat版本假定在\和彼此的行之后有一个字面换行。除此之外,这些都可以在POSIX shell中工作。
当然,还有许多其他编写和创建文件的方法。
使用cat创建文件
$ cat > myfile.txt
现在,只要在文件中输入你想要的东西:
你好世界!
CTRL-D保存并退出
同时,创建一个空文件:
touch myfile.txt
推荐文章
- 为什么Path。以Path.DirectorySeparatorChar开头的文件名合并不正确?
- 为什么用反斜杠开始shell命令?
- 如何找到Java堆大小和内存使用(Linux)?
- 在Bash Shell脚本中生成1到10之间的随机数
- 遍历带空格的文件列表
- 如何在bash中使用mod操作符?
- 在Bash中检查传递的参数是否为文件或目录
- Bash:无限睡眠(无限阻塞)
- 递归复制文件夹,不包括一些文件夹
- 在Bash中传递带有空格的字符串作为函数参数
- 如何使Python脚本在Linux中像服务或守护进程一样运行
- 如何在文件中grep不区分大小写的字符串?
- 如何使用文件的行作为命令的参数?
- Python列表目录,子目录和文件
- time_t最终的类型定义是什么?