
내가 아는 한, 다음과 같이 애플리케이션 간에 파이프를 만드는 기능이 있을 수 있습니다.
$ step1 < input_file | step2 | step3 > result_file
그리고 , 등의 장치에 접근할 수 있습니다 /dev/urandom
. , 등:/dev/zero
/dev/null
$ cat /dev/urandom > "output_file"
$ someprog > /dev/null
제 질문은 블록 장치로 파이프를 동시에 입력과 출력으로 만드는 것이 가능합니까?입니다. 예를 들어, 을 읽고 ( ) input_file
에 보낸 다음 해당 출력을 . 다음과 같이 단일 명령으로 달성할 수 있습니다./dev/example
rw
output_file
$ cat input_file | /dev/example > output_file
또는
$ /dev/example < input_file > output_file
아니면 두 가지 명령으로 수행하는 것이 좋습니다?
추신: 명령의 철자를 틀리거나 구문 오류가 발생했을 수도 있습니다. 이를 얻는 방법을 알려주십시오. sh
또는 을 사용하고 있는데 bash
다른 콘솔은 어떻게 사용하는지 모르겠습니다. 잘 모르겠으면 영어가 제 모국어가 아니기 때문에 알려주세요.
답변1
당신이 작성한 내용은 의미가 없습니다. /dev/example
프로그램이나 파이프가 아닌 파일입니다. 장치에 데이터를 쓰면 해당 장치를 통과하여 다른 프로그램으로 전달되지 않습니다.
예를 들어, 기록된 데이터는 /dev/audio
스피커에서 재생됩니다. 에서 데이터를 읽으면 /dev/audio
마이크에 녹음된 데이터를 얻게 됩니다. 스피커에서 재생되는 것과 마이크로 녹음되는 것 사이에는 아무런 관계가 없습니다.