这是我第一次使用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
在第二个示例中, (如果您有权访问)的内容将piped
是wc
命令。
wc - 打印每个文件的换行符、单词和字节数
-l, --lines: 打印换行数
这将在终端上打印行数/etc/shadow
(仅打印行数,而不打印内容)。该2>&1
符号将文件描述符 2(标准错误)重定向到文件描述符 1(标准输出)。