ต่อไปนี้เป็นบิตที่จะช่วยผู้ใช้ใหม่
ก่อนอื่นจำเป็นต้องเข้าใจแนวคิดของอินพุตมาตรฐานและเอาต์พุตมาตรฐาน
ใน Linux และระบบปฏิบัติการคล้าย UNIX อื่น ๆ แต่ละกระบวนการมีอินพุตมาตรฐาน ( stdin) และเอาต์พุตมาตรฐาน ( stdout) สถานการณ์ปกติคือstdinแป้นพิมพ์ของคุณและstdoutเป็นหน้าจอหรือหน้าต่างเทอร์มินัลของคุณ
ดังนั้นเมื่อคุณเรียกใช้ก็จะโยนมันออกไปls stdoutหากคุณไม่ทำอะไรเลยมันจะไปที่หน้าจอหรือหน้าต่างเทอร์มินัลและคุณจะดู
ตอนนี้คำสั่ง Linux บางคำสั่งจะโต้ตอบกับผู้ใช้และใช้stdinในการทำเช่นนั้นตัวแก้ไขข้อความของคุณจะเป็นหนึ่งในนั้น มันอ่านจากที่จะยอมรับการกดแป้นพิมพ์ของคุณทำสิ่งแล้วสิ่งที่จะเขียนstdinstdout
อย่างไรก็ตามยังมีคำสั่งที่ไม่ใช่แบบโต้ตอบหรือ "ตัวกรอง" ที่ไม่ทำงานแบบโต้ตอบ แต่ต้องการข้อมูลจำนวนมาก คำสั่งเหล่านี้จะนำทุกอย่างstdinไปทำสิ่งนั้นแล้วโยนมันไปstdout
ลองดูคำสั่งอื่นที่เรียกว่าdu- ย่อมาจากการใช้งานดิสก์  du /usrตัวอย่างเช่นจะพิมพ์ออกมา ( stdoutเช่นเดียวกับคำสั่ง Linux อื่น ๆ ) รายการของทุกไฟล์ในไดเรกทอรีนั้นและมีขนาด:
# du /usr
2312    /usr/games
124     /usr/lib/tc
692     /usr/lib/rygel-1.0
400     /usr/lib/apt/methods
40      /usr/lib/apt/solvers
444     /usr/lib/apt
6772    /usr/lib/gnash
ในขณะที่คุณสามารถบอกได้ทันทีจากค้างคาวมันไม่ได้ถูกจัดเรียงและคุณอาจต้องการให้มันเรียงตามขนาด
sortเป็นหนึ่งในคำสั่ง "ตัวกรอง" ที่จะstdinคัดแยกสิ่งต่าง ๆ ออกมาและเรียงลำดับ
ดังนั้นถ้าเราทำสิ่งนี้:
# du /usr | sort -nr
เราได้สิ่งนี้ซึ่งดีกว่า:
4213348 /usr
2070308 /usr/lib
1747764 /usr/share
583668  /usr/lib/vmware
501700  /usr/share/locale
366476  /usr/lib/x86_64-linux-gnu
318660  /usr/lib/libreoffice
295388  /usr/lib/vmware/modules
290376  /usr/lib/vmware/modules/binary
279056  /usr/lib/libreoffice/program
216980  /usr/share/icons
และตอนนี้คุณจะเห็นว่า "ท่อ" เชื่อมต่อกับstdoutคำสั่งหนึ่งไปยังstdinอีก โดยทั่วไปแล้วคุณจะใช้ในสถานการณ์เช่นนี้ซึ่งคุณต้องการกรองเรียงลำดับหรือจัดการกับเอาต์พุตของคำสั่ง สามารถเรียงซ้อนหากคุณต้องการประมวลผลเอาต์พุตผ่านคำสั่งตัวกรองหลายคำสั่ง
ถ้าคุณพิมพ์ด้วยตัวเองก็จะยังคงพยายามที่จะอ่านจากsort stdinเนื่องจากstdinเชื่อมต่อกับแป้นพิมพ์ของคุณแล้วจะรอให้คุณพิมพ์และประมวลผลสิ่งต่าง ๆ จนกว่าคุณจะกด Control-D มันจะไม่แจ้งให้คุณทราบเนื่องจากไม่ได้มีไว้สำหรับใช้โต้ตอบ
เป็นไปได้สำหรับโปรแกรมที่จะบอกว่าstdinเป็นแบบโต้ตอบหรือไม่ดังนั้นบางโปรแกรมอาจทำงานแตกต่างกันถ้าคุณออกมันด้วยตัวเองหรือในตอนท้ายของไพพ์
นอกจากนี้การวางโปรแกรมที่ใช้งานได้แบบโต้ตอบviเท่านั้นจะส่งผลให้คุณมีเวลาที่ไม่ดี
ท่อแตกต่างจากการเปลี่ยนเส้นทางซึ่งข้อมูลถูกสับจากคำสั่งหนึ่งไปยังอีกคำสั่งโดยไม่ถูกเก็บไว้ที่ใดก็ได้ ดังนั้นในตัวอย่างข้างต้นduเอาต์พุตของจะไม่ถูกเก็บไว้ที่ใดก็ได้ เวลาส่วนใหญ่คุณไม่ต้องการสิ่งนี้ด้วยไพพ์เพราะเหตุผลที่ใช้ไพพ์คือการประมวลผลเอาต์พุตของคำสั่งในบางวิธี - แต่มีคำสั่งteeที่ให้คุณมีเค้กและกินมันด้วยเช่นกัน คัดลอกสิ่งที่ได้รับจากstdinทั้งสองstdoutและไฟล์ที่คุณเลือก คุณอาจจะทำสิ่งนี้bashด้วยไวยากรณ์อาร์เคนบางอันที่เกี่ยวข้องกับเครื่องหมายและวงเล็บที่ฉันไม่รู้
               
              
|คือมันไม่ได้ใช้ชื่อเอาต์พุตจากคำสั่ง l-hand จะถูกส่งโดยตรงไปยังอินพุตสำหรับคำสั่งที่ด้านซ้ายมือของไพพ์