這里有個(gè)命令
find / -perm +7000 -exec ls -l {} \;
我想這樣寫
find / -perm +7000 | ls -l
發(fā)現(xiàn)不行,為什么?
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
首先什么是管道, 即前一個(gè)程序的 標(biāo)準(zhǔn)輸出 作為后一個(gè)程序的標(biāo)準(zhǔn)輸入.
find 命令會(huì)在 終端(標(biāo)準(zhǔn)輸出)上打印出 找到的文件; 如果ls -l的運(yùn)行原理是 在 終端等待輸入, 用戶輸入一個(gè)文件名, 打印出文件信息
. 則這是你想要的. 但是ls -l 實(shí)際不會(huì)去 讀終端.
xargs則把前一個(gè)程序的標(biāo)準(zhǔn)輸出轉(zhuǎn)為了 后一個(gè)程序的 命令行參數(shù).
比如 如果 find / -perm +7000
返回 /tmp/1.txt
, 則 find / -perm +7000 | xargs ls -l
中 后一個(gè)命令實(shí)際是 ls -l /tmp/1.txt
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)