Maison > Questions et réponses > le corps du texte
这里有个命令
find / -perm +7000 -exec ls -l {} \;
我想这样写
find / -perm +7000 | ls -l
发现不行,为什么?
伊谢尔伦2017-04-17 12:00:05
首先什么是管道, 即前一个程序的 标准输出 作为后一个程序的标准输入.
find 命令会在 终端(标准输出)上打印出 找到的文件; 如果ls -l的运行原理是 在 终端等待输入, 用户输入一个文件名, 打印出文件信息
. 则这是你想要的. 但是ls -l 实际不会去 读终端.
xargs则把前一个程序的标准输出转为了 后一个程序的 命令行参数.
比如 如果 find / -perm +7000
返回 /tmp/1.txt
, 则 find / -perm +7000 | xargs ls -l
中 后一个命令实际是 ls -l /tmp/1.txt