我对 Unix 命令还很陌生,我只有一个简单的问题。
我正在进行的一项练习要求我使用管道以及 cat 和 less 将两个目录(在本例中为 /etc/passwd 和 /etc/group)连接在一起,然后一次显示一页输出。
我一直在尝试ls - la | less cat /etc/passwd/ - /etc/group
,但不确定应该使用什么语法。我应该做哪些更改?
编辑:将目录更改为标题中的文件以供将来参考。
答案1
使用管道时,您需要在设计管道之前考虑操作顺序。您还需要充分了解每个命令的作用。
澄清一下:/etc/passwd 和 /etc/group 不是目录, 但文件。您使用ls
目录的方法是正确的,但在这种情况下它不是必需的。
为了帮助您入门,这里有一些提示(也可以尝试man <command>
获取更多详细信息)。
less
非常适合显示分页输出。
cat
非常适合将文件内容(或多个文件)以单个流的形式打印到 STDOUT。
把它们放在一起:
cat /etc/group /etc/passwd | less
意思是“连接两个指定的文件(passwd 和 group)并将结果输出通过管道传输到 less,以分页形式显示它们。
答案2
首先,你谈论的是文件,而不是目录。此外,ls
是无关紧要的。您需要做的就是
cat /etc/passwd/ /etc/group | less
cat
只是打印您给它的文件的内容,给它两个文件将导致它接连输出一个文件的内容。less
是一个分页器,一个允许您一次一页读取多行数据的程序。