11 ต.ค. เวลา 01:52 • วิทยาศาสตร์ & เทคโนโลยี

ลินุกซ์พื้นฐาน : ข้อมูลของคำสั่ง (Data)

เมื่อเราทำงานบนระบบลินุกซ์ “ข้อมูล (data)” คือสิ่งที่ไหลเข้าและออกจากคำสั่งอยู่ตลอดเวลา ไม่ว่าคำสั่งนั้นจะเป็นการแสดงผล การประมวลผล หรือการเก็บบันทึก ข้อมูลคือหัวใจของการทำงานทั้งหมดในเชลล์
1. ประเภทของข้อมูลในลินุกซ์
ข้อมูลที่เกี่ยวข้องกับคำสั่งในลินุกซ์สามารถแบ่งออกได้ 3 ส่วนหลัก คือ
ข้อมูลนำเข้า (Input Data)
เป็นข้อมูลที่คำสั่งต้องการใช้ เช่น ข้อความจากคีย์บอร์ด ไฟล์ข้อมูล หรือผลลัพธ์จากคำสั่งอื่น
ตัวอย่างเช่น
cat file.txt
คำสั่ง cat จะอ่านข้อมูลจากไฟล์ file.txt ซึ่งถือเป็นข้อมูลนำเข้า
ข้อมูลส่งออก (Output Data)
คือข้อมูลที่คำสั่งส่งออกหลังประมวลผลเสร็จ เช่น ผลลัพธ์ที่แสดงบนหน้าจอ หรือส่งต่อให้คำสั่งอื่น
ls > list.txt
ตัวอย่างนี้จะส่งข้อมูลที่แสดงรายชื่อไฟล์ไปเก็บในไฟล์ list.txt แทนการแสดงบนหน้าจอ
ข้อมูลข้อผิดพลาด (Error Data)
เมื่อคำสั่งเกิดปัญหา ลินุกซ์จะส่งข้อความผิดพลาดออกทางช่องทางพิเศษที่เรียกว่า stderr
ตัวอย่างเช่น
cat nofile.txt 2> error.log
คำสั่งนี้จะส่งข้อความผิดพลาดไปเก็บไว้ในไฟล์ error.log
2. ช่องทางมาตรฐานของข้อมูล (Standard Streams)
ระบบลินุกซ์จัดการข้อมูลผ่านช่องทางมาตรฐาน 3 ช่อง (เรียกว่า Standard I/O Streams) ได้แก่
ด้วยการเข้าใจหลักนี้ เราสามารถควบคุมทิศทางการไหลของข้อมูลได้อย่างยืดหยุ่นมาก เช่น ใช้ ตัวดำเนินการรีไดเร็กชัน (redirection) เพื่อเปลี่ยนปลายทางข้อมูล
ตัวอย่าง:
command > output.txt # ส่ง stdout ไปยังไฟล์
command 2> error.txt # ส่ง stderr ไปยังไฟล์
command > all.txt 2>&1 # รวม stdout และ stderr เข้าด้วยกัน
3. การเชื่อมต่อคำสั่งด้วยท่อ (Pipe)
นอกจากการส่งข้อมูลเข้าออกไฟล์แล้ว ลินุกซ์ยังสามารถ “เชื่อมต่อ” คำสั่งเข้าด้วยกันได้โดยใช้ ท่อ (pipe) | ซึ่งเป็นเครื่องมือสำคัญในการประมวลผลข้อมูลต่อเนื่อง
cat /etc/passwd | grep root | cut -d: -f1
ตัวอย่างนี้เป็นการเชื่อมต่อคำสั่ง 3 ตัว:
cat อ่านข้อมูลจากไฟล์ /etc/passwd
grep ค้นหาบรรทัดที่มีคำว่า “root”
cut ตัดเฉพาะฟิลด์แรก (ชื่อผู้ใช้)
ผลลัพธ์คือชื่อผู้ใช้ที่มีคำว่า “root” เท่านั้น
4. ข้อมูลจากคำสั่งภายใน (Internal Data)
บางคำสั่งไม่ต้องใช้ข้อมูลจากไฟล์หรือผู้ใช้ แต่ใช้ “ข้อมูลภายในระบบ” เช่น
date — แสดงวันและเวลาปัจจุบัน
who — แสดงผู้ใช้ที่ล็อกอินอยู่
df — แสดงการใช้พื้นที่ดิสก์
คำสั่งเหล่านี้ใช้ข้อมูลที่ระบบมีอยู่แล้วโดยตรง
5. สรุปแนวคิดสำคัญ
ทุกคำสั่งในลินุกซ์ “รับข้อมูล–ประมวลผล–ส่งข้อมูล”
เราสามารถกำหนดทิศทางของข้อมูลได้ด้วย รีไดเร็กชัน และ ท่อ (pipe)
การเข้าใจช่องทางข้อมูลทั้ง 3 (stdin, stdout, stderr) จะทำให้เราสามารถเขียนสคริปต์ได้อย่างยืดหยุ่นและทรงพลัง
ฝากติดตามซีรีส์การใช้ Linux ขั้นพื้นฐานด้วยนะครับ
ติดตามตอนต่อไปได้ที่ - > https://www.blockdit.com/series/68dc9f8ccfbe2a355b6c87d6

ดูเพิ่มเติมในซีรีส์

โฆษณา