![如何使用 shell 命令删除所有 FIFO 文件](https://linux22.com/image/37742/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20shell%20%E5%91%BD%E4%BB%A4%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%20FIFO%20%E6%96%87%E4%BB%B6.png)
我找不到 shell 命令来删除目录中的所有 FIFO 文件。事实上,对于删除目录,该rm
命令提供了选项-d, --dir
,但对于 FIFO,它没有提供选项。
目前,找到的唯一解决方法是像这样调用 FIFO,foo.fifo
以便可以轻松地使用 删除它们rm *.fifo
。
答案1
要删除当前目录和所有子文件夹中的所有 FIFO,请使用
find . -type p -delete
要仅删除当前目录中的 FIFO,请使用
find . -maxdepth 1 -type p -delete
答案2
shell 仅适用于当前目录...
set -- ./*
for f do
[ -p "$f" ] && rm "$f"
done
答案3
尝试这个:
find -maxdepth 1 -type p -exec rm {} \;
联机帮助页find
:
-type c
File is of type c:
p named pipe (FIFO)