디렉터리의 모든 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)