シェルコマンドを使用してすべてのFIFOファイルを削除する方法

シェルコマンドを使用してすべてのFIFOファイルを削除する方法

ディレクトリ内のすべてのFIFOファイルを削除するシェルコマンドが見つかりません。実際、ディレクトリを削除するためにコマンドはrmオプションを提供し-d, --dirますが、FIFOの場合は提供しません。

現在発見されている唯一の回避策は、このようにFIFOを呼び出してを使用しfoo.fifoて簡単に削除できるようにすることですrm *.fifo

答え1

現在のディレクトリとすべてのサブフォルダのすべてのFIFOを削除するには、次のようにします。

find . -type p -delete

現在のディレクトリのFIFOのみを削除するには、次を使用します。

find .  -maxdepth 1 -type p -delete

答え2

シェルは現在のディレクトリでのみ動作します。

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)

関連情報