Xargs
xargs 不能在 Linux 中工作,因為它在 Unix 中工作
我正在使用以下命令列出權限,unix 中掛載點的所有者:
bdf|awk '{print $6}'|grep -v Mounted|xargs ll -d
HP-Ux 中的此命令為我提供如下輸出:
drwxr--r-- 61 root root 8192 Jan 1 2014 / drwxr--r-- 102 root root 8192 Jan 1 2014 /home
但是在 Linux 中這個命令:
df -hP|grep -v Mounted|awk '{print $6}'|xargs 'll -d'
給出一個錯誤:
xargs: ll -d: No such file or directory
錯誤的根源是您
ll -d
在 xargs 的參數中引用了。xargs
然後嘗試執行一個文件ll -d
,它在您的路徑上找不到任何位置。如果刪除引號,該命令可能會起作用。但是,如果ll
是別名而不是 PATH 上的命令,則可能還需要ls
直接使用:df -hP | grep -v Mounted | awk '{print $6}' | xargs ls -ld
如果您的掛載點包含空格,則您的解析
df
將無法解釋這一點。