我正在Mac OSX中使用终端练习。
我从root访问了/dev/
文件夹,想要查找包含null
的行,因此我ls
获取了文件夹内容。有很多,所以我认为这是一个使用grep
的机会。因此,我输入了ls | grep "null"
,然后返回null
而不是整行null ttyp9
,如正常ls
列表中所示。
为什么会这样?我以为grep
返回了整行?
答案 0 :(得分:1)
grep
确实返回完整行。 ls
命令本身并不提供详细信息。试试这个:
ls -l | grep "null"
该列表标志提供了更多细节,然后grep可以返回。
换句话说,grep
正在按照您的意愿行事,没有什么可看的。
没有选项的ls
命令只显示文件名。通常会返回返回的文件名列表。如果输入以下内容,您可以打开它们:
ls -1
如果您查看此商家信息,您会看到null
实际上就是一行。
如果您添加long listing
选项:
ls -l
您将看到更多细节。 grep
命令只能返回给它的内容,在这种情况下ls
是为grep提供所有输入的内容。
答案 1 :(得分:1)
ttyp9
是一个不同的文件。
ls
向您显示输出列。
如果没有发送到终端ls
,则不会这样做,并且就像使用-1
参数一样。