Next Previous Contents

1. เบื้องต้นกับ Unix

วิธีของ Unix ต่างกับวิธีของ mikro$oft window$ โดยสิ้นเชิง ไม่อยากให้เอาวิธีคิด วิธีทำงานบนสภาพแวดล้มของ mikro$oft window$ มาใช้มากนัก. บทนี้จะกล่าวถึง ideas ที่สำคัญๆ และเป็นส่วนที่ถ้าเข้าใจแล้ว จะช่วยให้การทำความเข้าใจอะไรดีขึ้น

1.1 Root/user accounts

Unix เป็น OS ที่ทำงานแบบ Multi-users นั่นคือ users หลายๆคนสามารถ Login เข้ามาทำงานใน ระบบได้พร้อมๆกันทีละลายๆคน และในแต่ละ user ก็มีความสามารถในการเข้าถึง (access) ส่วนต่วงๆของระบบ ไม่ว่าจะเป็น ไฟล์ หรือ อุปกรณ์ที่ต่อกับระบบทาง h/w ต่างๆกันตามที่กำหนดเอาไว้โดยตัวระบบ หรือผู้ดูแลระบบเอง

ในระบบ Unix จะมี user อยู่คนนึงที่มีความสามารถในการเข้าถึงสูงสุด คือสามารถจะทำอะไรกับระบบได้ทุกๆส่วน user คนนี้ คือ 'root' ซึ่งเป็น user ที่มี user ID = 0 ในการใช้งานบางครั้ง อาจจะจำเป็นต้องใช้ ความสามารถในการเข้าถึงของ user คนนี้ด้วย

การทำงานต่างๆในระบบ unix ต้องระลึกไว้เสมอว่าเรากำลังเข้าใช้ระบบด้วน user คนไหน ยิ่งถ้าเราใช้งานระบบด้วย root และ ต้องระมัดระวังเป็นพิเศษ เพราะการกระทำโง่ๆโดยไม่ตั้งใจ(หรือตั้งใจก็ตาม) มีสิทธิ์จะล่มระบบเราได้ในเวลาเพียงอึดใจเดียว

การที่ระบบ Unix ทำงานแบบ multi-users ทำให้ก่อนเข้าใช้งานระบบ เราจะต้อง Login ก่อนทุกครั้ง ไม่ว่าจะทำงานใน X(graphic mode) หรือบน konsole(console) ก็ตาม

1.2 devices

ในระบบ Unix จะมอง อุปกรณ์ทุกๆตัวที่ต่อ(หรือบางทีก็ไม่ได้ต่อ) เป็นไฟล์ๆหนี่งของระบบเสมอ และจะรวมตัวกันอยู่ที่ /dev

1.3 drive label

ใน Unix จะไม่ใช่ระบบการเรียกชื่อ storage device ที่ต้อกับระบบเป็น disk drive label เป็น a:\ b:\ หรือ c:\ เหมือนในระบบของ mikro$oft do$/window$ แต่จะเรียกแทนกันด้วย file ใน /dev/ ดังตัวอย่างนี้ (อิงกับระบบ GNU/Linux)

  A:/ = /dev/fd0 
  B:/ = /dev/fd1
  C:/ = /dev/hda  /* first/master hdd ใน controller เส้นแรก */
  D:/ = /dev/hdb  /* second/slave hdd ใน controller เส้นแรก */
  E:/ = /dev/hdc  /* first/master hdd ใน controller เส้นสอง */
  F:/ = /dev/hdd  /* second/slave hdd ใน controller เส้นสอง */
  ส่วนในกรณีที่เป็น partition เราจะชี้ลงไปด้วยตัวเลข เช่น 
    /dev/hda1 /dev/hda2 < /dev/hda5 /dev/hda6 >  ซึ่งมีความหมายดังนี้
    /dev/hda1 = Primary partition   // จริงๆแล้ว hda1 กับ hda2 อาจจะ
    /dev/hda2 = Extend partition    // สามารถ สลับกันได้
      /dev/hda5 = Logical ตัวที่ 1  // Logical เริ่มที่ 5 เสมอ
      /dev/hda6 = Logical ตัวที่ 2

1.4 Level

เวลามองระบบ Unix พยายามมองอะไรให้เป็น Layer เวลาจะวิเคราะห์อะไรซํกอย่าง พยายามมองให้ออกก่อนว่า สิ่งที่พยายามจะมองนั้นน่ะ อยู่ใน Level ใหน Level ใกล้เคียงของสิ่งที่มองคืออะไร จะช่วยได้มาก ฃ

1.5 Documents/manuals

ในการใช้งาน Unix เวลาเกิดปัญหา ไม่ควรแหกปากไปถามคนอื่น สิ่งแรกที่ควรทำคือ พยายามหาวิธีแก้ไขด้วยตัวเองก่อน อาจจะใน `man` จากตำราซักเล่ม หรือไม่ก็ไป search หาดูก่อนว่ามีคนเคยถามเรื่องแบบนี้หรือยัง และถ้าเป็น Linux สิ่งหนึ่งที่ควรทำ คืออ่าน LinuxDoc ให้ชัวร์ก่อนที่ linuxdoc ถ้าพยายามหาให้เจอแล้วก็เลือก post ปัญหาใน group (ที่เหมาะสม) แล้วท่านจะได้คำตอบ

1.6 X

เป็นระบบ Graphic ใน Unix หน้าตาก็คล้ายๆกับของ mikro$oft window$ ซึ่งจะมากหรือน้อยก็ขึ้นอยู่กับตัว window mannager (อยู่ชั้นบน กว่า X server นิดนึง) ทำให้ชีวิตเราง่ายและสดใสขึ้น แต่อย่างไรการทำความเข้าใจ การใช้งาน konsole เท่านั้นที่จะกล่าวถึง เพราะเห็นว่าบนระบบ X ถ้าลองกดมั่วๆไปก็คงได้เอง และถ้ามีความรู้พื้นฐานบน konsole น่าจะเอาไป up ความคิดในการใช้ ใน X ได้ดีมากขึ้น

1.7 **คำเตือน

  1. พึงรู้ตัวเสมอว่าท่านกำลังรันระบบด้วย user ใด
  2. ค่อยๆทำค่อยๆคิด ก่อนจะคลิ๊ก หรือ enter อะไร อ่านซักนิด ชิวิตจะสดใส อย่าเอาแต่ Okๆ หรือ yesๆ แค่ผ่านๆไปที่... เราเตือนท่านแล้ว
  3. ในระบบ Unix ปกติ จะไม่บอกอะไรท่านมากกว่าที่ควรรู้ ซึ่งสิ่งที่ควรรู้มักจะเป็นความผิดพลาดจากการทำงานของระบบ(หรือโปรแกรม) นอกเสียจากว่าจะไปบังคับมันให้บ่นมาก
  4. การไม่พยายามหาคำตอบของคำถามเอง อาจจะทำให้ท่านเป็นที่รังเกียจในสังคมได้
  5. เวลาจะถามอะไรจงถาม อย่า!! ถามที่จะถาม แถวบอกข้อมูลที่คิดว่าเกี่ยวข้องกับคำถามมาด้วย
  6. User คือคนเรื่องมาก Hacker คือคนดี Cracker คือคนเลว ใครเรียกมัั่วๆระวังปากแตก
  7. การพิมพ์เร็วๆ แต่ผิดเยอะๆไม่เท่ห์ ถ้าจะพิมพ์เร็ว จงอย่าผิด !!


Next Previous Contents