我找不到 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)