我一直在通过一本 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