什么是“传递文件名参数”?

什么是“传递文件名参数”?

我一直在通过一本 pdf 书自学 Linux 命令行,在作者解释了如何使用cat>创建文本文件后,他说:

我们看到结果与传递单个文件名参数相同。

尽管我没有跳过书中的任何部分,但我真的不知道他的意思。他只是在谈论在终端中输入参数吗?如果是这样的话,我仍然不知道他的意思。

编辑

以下为整个段落:

使用“<”重定向运算符,我们将标准输入源从键盘更改为文件 lazy_dog.txt。我们看到结果与传递单个文件名参数相同。与传递文件名参数相比,这并不是特别有用,但它可以演示如何使用文件作为标准输入源。

答案1

你必须通过(论点)

传递参数“表示在特定命令后添加参数,该命令启动的程序将会按照该参数运行。

例如,命令“cp“用于复制文件,需要两个参数。首先源文件其次目标文件(或目标目录)。请注意,这里的语法顺序非常重要。

cp <SOURCE FILE> <DESTINATION FILE>

假设您要复制“文件.txt“ 到 ”文件的副本.txt“。您必须运行以下命令:

cp file.txt copy_of_file.txt

它将在同一目录(运行命令的目录)中创建一个新文件,其中源文件“文件.txt“ 应该)

两个都源文件目标文件是传递给命令“cp”的参数。

需要一些帮助 ?

如果您想知道一个命令需要什么或多少个参数,或者它接受什么可选参数,您可以执行以下操作:

<command> --help

例如:

cp --help

或者

cat --help

它将在您的终端中显示“如何使用您的命令”。

好奇心不会害死

让我们来看看cat 命令. 如果你运行使用一个参数,比如说一个文本文件:

cat my_file.txt

它将在终端上显示该文件的内容。

如果使用两个参数运行 cat,它将显示两个文件的内容:

cat my_first_file.txt my_second_file.txt

重定向运算符“>”

现在,> (重定向操作符)看上去有点复杂,但其实非常简单。

这是重定向。您必须将终端显示的所有内容视为命令的输出。输出通常会发送到终端。如果您运行:

cat my_file.txt

该命令是'',参数是“my_file”,输出是内容该文件。输出将发送到终端。好吧,当您使用重定向运算符“>”时,它需要一个参数,您实际上所做的是将输出重定向到另一个目标。那么,当您运行

cat my_file.txt > new_file.txt

是它不会将文件内容显示到您的终端中,而是将其写入文件“new_file.txt”中。

那里两种方法。

因此基本上,结果是

cat my_file.txt > copy.txt

cp my_file.txt > copy.txt

都是一样的:你创建一个新的文本文件,其中包含另一个文本文件的内容。但是过程却大不相同。

最后一件事 :

> file.txt

同时创建一个空文件(你重定向……没有任何内容到file.txt,所以它是空的。很明显不是吗?)

如果没有更多背景信息,我不确定作者的意思,但我希望这能有所帮助。祝你学习 unix 顺利,虽然开始有点难,但最后会很有趣。

编辑1:

我差点忘了回答:

“传递文件名参数”意味着传递一个参数,并且该参数必须是文件名,即文件的名称,例如“file.txt”。它也可以是文件的完整路径,例如:

/home/user/Documents/file.txt

相关内容