我们如何创建一个名为 unix 的空文件-stuff
。意思是名字以 开头-
。我尝试过touch -stuff
,但没有成功。
答案1
一般来说,大多数实用程序都有以 开头的选项-
。大多数这些实用程序都有一个功能,允许您通过提供特殊选项来指定不是选项的参数--
。对于这些实用程序,--
意味着没有其他参数可供选择。所以在你的情况下,你可以使用touch -- -stuff
.
有关许多实用程序遵循的一般约定的更多信息,请参阅第 12 节:“实用约定”的基本定义卷的单一 Unix 规范。
创建空文件的另一种方法是使用 shell 的重定向运算符,如下所示:> -stuff
。
答案2
还
touch ./-stuff
这里发生了什么:对于“通常”的文件名,当前目录 ( ./
) 是隐含的,因此是不必要的。但是,我们可以显式指定它./
(在正常情况下这是多余的);这样,参数就不会以 开头-
,也不会被解析为选项,而是解析为文件名。
答案3
您还可以使用:
echo -n > -stuff
答案4
由于您的问题具体涉及创建空的文件,请注意,它的touch
主要目的是“触摸”文件的时间戳。
第二个方面是touch
,如果指定的文件不存在,它将创建一个空文件。
当然,这意味着它将不是始终创建一个空文件。
为了确保您最终得到一个空文件,您可以使用>
重定向运算符(如其他答案中提到的),或者cp -- /dev/null -a
touch
允许一次创建(或仅修改时间戳)多个文件。
>
并且cp
一次只能处理一个文件..