Pipes can be one-way or two-way. With a one-way pipe, one application writes data to the pipe, and the other application reads from it. With a two-way pipe, both applications can read and write data.