这两个带有 cat 的表达式的含义是什么?

这两个带有 cat 的表达式的含义是什么?

这是我第一次使用Linux,我需要了解两个命令的一些概念。如果您能一一解释该过程,我将非常高兴。

这个命令有什么作用?

cat ../test

这个命令有什么作用?

cat /etc/shadow 2>&1 | wc -l 

谢谢你!

答案1

“../”是父目录。
所以“cat ../test”的意思是“将位于父目录中的'test'文件打印到标准输出。”

第二个问题:
所有Linux(和Unix)进程都有3个标准文件。
文件 0 是输入(stdin)。
文件 1 是正常输出 (stdout)。
文件 2 是错误输出 (stderr)。
2&>1 表示“将错误输出传输到标准输出”。
管道|意思是“将输出传输到另一个程序的输入”
,整行意思是“计算并显示 /etc/shadow 中的行数(包括错误消息,如果有)。

答案2

您可能知道该cat命令的作用。该man页面指出:

cat - 连接文件并在标准输出上打印

../表示当前工作目录的父目录。因此,如果test在该位置调用了一个文件,该cat命令将在终端上为您打印它。

/etc/shadow在第二个示例中, (如果您有权访问)的内容将pipedwc命令。

wc - 打印每个文件的换行符、单词和字节数

-l, --lines: 打印换行数

这将在终端上打印行数/etc/shadow(仅打印行数,而不打印内容)。该2>&1符号将文件描述符 2(标准错误)重定向到文件描述符 1(标准输出)。

相关内容