我一直在通过一本 pdf 书自学 linux 命令行,在作者解释了如何使用cat
和>
制作文本文件后,他说:
我们看到结果与传递单个文件名参数相同。
我真的不知道他是什么意思,尽管我没有跳过这本书的任何部分。他只是在谈论在终端中输入参数吗?如果是这样,我仍然不知道他的意思。
编辑
这是整个段落:
使用“<”重定向运算符,我们将标准输入源从键盘更改为文件 lazy_dog.txt。我们看到结果与传递单个文件名参数相同。与传递文件名参数相比,这不是特别有用,但它用于演示如何使用文件作为标准输入源。
你应该通过(争论)
“传递参数”是指在特定命令后添加参数。由该命令启动的程序将相应地运行。
例如,命令“ cp ”用于复制文件并需要两个参数。首先是源文件,其次是目标文件(或目标目录)。请注意语法顺序在这里非常重要。
假设您要将“ file.txt ”复制到“ copy_of_file.txt ”。你必须运行命令:
它将在同一目录(您运行命令的目录,源文件“ file.txt ”应该在的目录)中创建一个新文件
源文件和目标文件都是传递给命令“cp”的参数。
需要一些帮助 ?
如果你想知道一个命令需要什么或多少参数,或者它接受什么可选参数,你可以这样做:
例如:
或者
它将在您的终端中显示“如何使用您的命令”。
好奇不会害死猫
让我们看一下cat 命令。如果您使用单个参数运行cat,假设是一个文本文件:
它将在终端上显示该文件的内容。
如果您使用两个参数运行 cat,它将显示两个文件的内容:
重定向运算符“>”
现在,>(重定向运算符)看起来有点复杂,但实际上非常简单。
这是一个重定向。您必须查看终端显示为命令输出的所有内容。输出通常进入终端。如果你运行:
命令是“ cat ”,参数是“my_file”,输出是该文件的内容。输出到终端。那么,当您使用需要参数的重定向运算符“>”时,您实际上所做的是将输出重定向到另一个目的地。那么,当你跑步时会发生什么
是不是将文件的内容显示到您的终端,而是将其写入文件“new_file.txt”。
有两种方法。
所以基本上,结果
和
是一样的:您创建一个新的文本文件,其中包含另一个文件的内容。但过程却大不相同。
最后一件事 :
同时创建一个空文件(你重定向......没有任何东西到file.txt,所以它是空的。很明显不是吗?)
在没有更多上下文的情况下,我不确定作者的意思,但我希望这会有所帮助。祝你学习 unix 好运,开始有点难,但最终会很有趣。
编辑 1:
我差点忘了回答:
“传递文件名参数”意味着传递一个参数,该参数必须是一个文件名,所以文件名,比方说“file.txt”。它也可以是文件的完整路径,例如: