쉘 명령을 사용하여 모든 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)

관련 정보