shell中的反引號執(zhí)行命令和管道執(zhí)行命令有什么區(qū)別?
wc -l find ./ -name *.pyfind . -name "*.py" | xargs wc -l反引號的命令執(zhí)行方式,與管道的執(zhí)行方式,有什么區(qū)別呢,哪種更好?
linux運維shellpython:關(guān)于shell中通過反引號執(zhí)行“不好用”的原因看這里a) wc -l $(find) b) find | xargs wc -l
區(qū)別大概是:
a) 同一時間只有一個進程在跑;
b) 在同一時間有3個進程a) wc 在 find 執(zhí)行完前不會執(zhí)行,輸出有延遲;
b) wc 實時輸出
場景:如果想實時查看日志a) 在接收 find 輸出時用的 buffer 比 b) | 管道用的 buffer 更大, 且不設(shè)上限(我猜,沒看過bash的實現(xiàn))
場景:如果把 find 替換為 cat 20G.log
供參考: