การใช้งาน Linux เบื้องต้น

Posted: July 2, 2013 in Linux, Network os

images

เป็นชื่อของระบบปฏิบัติการ (Operating System) แบบ Unix-Compatible ตัวหนึ่ง ที่ทำงานบนเครื่องคอมพิวเตอร์ ที่ใช้ตัวประมวลผล (CPU) ตระกูล Inel-x86 Compatible, Motorola 68k, Compaq (ในอดีต Digital) Alpha, Sparc, Mips และ Motorola PowerPC โดยมีการพัฒนาตามมาตรฐาน POSIX (Portable Operating System Interface) เช่นเดียวกับระบบปฏิบัติการแบบ Unix อื่นๆ (ปัจจุบัน POSIX ได้ถูกรวมเป็นส่วนประกอบของ X/Open Program-ming Guide)

Linux ได้ถูกพัฒนาขึ้น โดยมีความตั้งใจเริ่มต้นที่จะให้เป็นระบบปฏิบัติการแบบคล้าย UNIX ที่สามารถทำงานได้บนเครื่องพีซีธรรมดา ที่ใช้ CPU ตระกูล Intel-x86 Compatible ซึ่งก็คือ ที่เราใช้กันตามบ้านนั่นเอง เป็นการพลิกผันโลกของระบบ Unix แทนที่จะอยู่เฉพาะในเครื่องใหญ่ๆ ตามศูนย์คอมพิวเตอร์เหมือนแต่ก่อน

Linux เป็นระบบปฏิบัติการแบบคล้ายระบบ Unix (UNIX-Compatible) ที่มีประสิทธิภาพสูงตัวหนึ่ง จุดเด่นคือ Linux เป็นซอฟต์แวร์ภายใต้ลิขสิทธิ์ GNU GPL (GNU General Public License, บางทีเรียกว่า GPL เฉยๆ) สามารถใช้งานโดยที่ไม่ต้องเสียค่าใช้จ่ายใดๆ เราสามารถหา ซอฟต์แวร์ Linux ได้จากเครื่องให้บริการ FTP หลายแห่งบนอินเทอร์เน็ต หรืออาจจะต้องจ่ายเงินเล็กน้อยเพื่อสั่งซื้อแผ่นซีดี จากบริษัทจำหน่ายซอฟต์แวร์ต่างๆ ถ้าท่านไม่มีอินเทอร์เน็ตใช้งานหรือไม่อยากจะรอ FTP นานๆ ชนิดข้ามวันข้ามคืน เนื่องจากตัวซอฟต์แวร์ทั้งชุดจะมีขนาดหลายร้อยเมกะไบต์

เราสามารถใช้งาน Linux ได้โดยไม่ต้องเสียค่าใช้จ่ายในส่วนลิขสิทธิ์ แต่ Linux ไม่ใช่ Free–ware หรือ Shareware ตัว Kernel นั้น สงวนลิขสิทธิ์โดย Linus Torvalds ส่วนโปรแกรมประกอบอื่นๆ ที่เขียนขึ้นโดยผู้ใดก็จะเป็นสงวนลิขสิทธิ์เป็นของเจ้าของคนนั้น และจะอยู่ภายใต้ GPL เราสามารถใช้งาน Linux โดยไม่เสียค่าใช้จ่ายใดๆ โดยต้องปฏิบัติตามเงื่อนไขของ GPL (บางทีเรียกว่า CopyLeft) ซึ่งสนับสนุนให้เรามีสิทธิ์ที่จะใช้ซอฟต์แวร์ได้ฟรี, มีสิทธิ์ที่จะได้รับ Source Code เพื่อแก้ไข รวมถึงมีสิทธิ์ที่จะเผยแพร่ฉบับที่เราแก้ไขภายใต้ GPL ด้วยเหตุนี้ Linux จึงมีผู้ใช้กันมากมาย ทั้งในวงการศึกษา วิจัย หรือธุรกิจ ข้อมูลเกี่ยวกับ

Linux มีอยู่มากมายในอินเทอร์เน็ตทั้งบน World Wide Web และตาม Mailing list ต่างๆ ท่านสามารถหาคำปรึกษา และแลกเปลี่ยนความคิดเห็น จากผู้ใช้ Linux อีกหลายล้านคนทั่วโลก Linux จัดได้ว่าเป็นระบบปฏิบัติการแบบ Unix-Compatible ที่แพร่หลายมากที่สุดตัวหนึ่งในปัจจุบัน

คุณสมบัติของ Linux

Linux มีความสามารถเกือบทุกอย่างที่ท่านจะพบได้ในระบบปฏิบัติการ UNIX ทั่วๆ ไป อีกทั้งยังมีความสามารถบางอย่างซึ่งแตกต่างไปจากระบบ UNIX ตัวอื่นๆ

  • Linux เป็นระบบปฏิบัติการแบบหลายงานและหลายผู้ใช้ (Multitasking and Multi-user) ที่สมบูรณ์แบบ (เหมือนระบบปฏิบัติการ UNIX ทั่วๆ ไป) นั่นคือสามารถ
  • มีผู้ใช้งานพร้อมๆ กันได้หลายคน และแต่ละคนสามารถรันโปรแกรมได้หลายๆโปรแกรมพร้อมๆ กัน
  • Linux มีความเข้ากันได้ (compatible) กับระบบ UNIX ส่วนมากในระดับซอร์สโค้ด เนื่องจากระบบ Unix ต่างๆ มีการพัฒนาตามข้อกำหนดที่เป็นมาตรฐาน เช่น IEEE POSIX.1, System V UNIX และ BSD UNIX เป็นต้น ตามหลักการ Source Portability ดังนั้นท่านจะพบว่า คุณสมบัติที่ถูกใช้งานเป็นประจำของ Linux สามารถพบได้ในระบบ UNIX อื่นๆ ทั่วไป ซอฟต์แวร์ที่ทำงานบนระบบ UNIX อื่นๆ ในอินเทอร์เน็ตส่วนใหญ่สามารถนำมาคอมไพล์บน Linux ได้โดยการแก้ไขซอร์สโค้ดเพียงเล็กน้อย ซอร์สโค้ดทั้งหมดของระบบ Linux อันได้แก่ เคอร์เนล ดีไวซ์ไดรเวอร์ ไลบรารี โปรแกรมใช้งาน และโปรแกรมระบบต่างๆ สามารถหาดาวน์โหลดได้ฟรีจากศูนย์บริการ FTP มากมายทั่วโลก
  • ความสามารถอื่นๆ อันได้แก่ POSIX job control (ซึ่งถูกใช้ในโปรแกรม shell ต่างๆ เช่น bash, sh และ csh) เทอร์มินอลเสมือน (Pseudo Terminal) คอนโซลเสมือน (Virtual Console) ซึ่งทำให้ท่านสามารถสลับหน้าจอระหว่าง login sessions ต่างๆ บนหน้าจอคอนโซลในเท็กซ์โหมดได้ ฯลฯ เคอร์เนลของ Linux มีระบบ Unified Memory Pool สำหรับโปรแกรม และดิสก์แคช นั่นคือหน่วยความจำที่ว่างอยู่ทั้งหมดจะถูกใช้งานเป็นดิสก์แคชและเมื่อมีการโหลดโปรแกรมขนาดใหญ่ ขนาดของดิสก์แคชก็จะถูกลดลงโดยอัตโนมัติ
  • โปรแกรมที่ใช้งานบน Linux จะมีการใช้งาน Dynamically Linked Shared Libraries ซึ่งก็คือโปรแกรมที่รันบน Linux จะมีการใช้งานไลบรารีไฟล์ร่วมกัน (เหมือน Shared Library ของ SunOS หรือ DLL ของ Windows) ซึ่งจะทำให้โปรแกรมที่รันบ Linux มี ขนาดเล็กลงและทำงานเร็วขึ้นมาก โดยเฉพาะโปรแกรมที่มีการใช้งานฟังก์ชันจากหลายๆไลบรารี แต่ในขณะเดียวกันถ้าท่านต้องการทำการดีบักโปรแกรมหรือต้องการใช้งานโปรแกรมแบบ Static Linked ก็สามารถใช้ได้เช่นกัน
  • เพื่อสนับสนุนการดีบักโปรแกรม ตัวเคอร์เนลจะทำการสร้างไฟล์ core dump เพื่อใช้ในการดีบักและหาสาเหตุที่ทำให้โปรแกรมทำงานผิดพลาดได้

การใช้งาน Linux

หลังจากที่ท่านได้ติดตั้ง Linux เสร็จเรียบร้อย ไม่ว่าท่านจะติดตั้ง Linux ยี่ห้อใด ท่านก็จะได้ระบบปฏิบัติการที่ทำงานโดยใช้ Linux Kernel และโปรแกรมเพิ่มเติมอื่นๆ ซึ่งแต่ละ Distribution อาจจะแตกต่างกันบ้างเล็กน้อย แต่ส่วนมากแล้วก็จะคล้ายๆ กัน ในบทนี้จะแนะนำถึงการใช้งานระบบ Linux เบื้องต้น ซึ่งจะใช้ได้กับทุก Distribution อย่างไรก็ตาม

การเปิดเครื่อง ท่านก็กดปุ่มเปิดตามปกติ หากท่านติดตั้ง Linux เพียงระบบปฏิบัติการเดียว เครื่องก็จะทำการบูตระบบเข้าสู่ Linux เลย แต่หากท่านมีหลายระบบปฏิบัติการในเครื่องเดียว และได้ทำการติดตั้งโปรแกรม LILO (Linux Loader) อย่างถูกต้อง (จะอยู่ในขั้นตอนการติดตั้ง Linux) เวลาบูตระบบ หลังจากที่เครื่องทำการตรวจหน่วยความจำ และอุปกรณ์ต่างๆ เสร็จแล้ว จะขึ้นคำว่า LILO ซึ่งหากท่านไม่กดปุ่มอะไรเลย หลังจากรอสักครู่หนึ่ง มันก็จะทำการบูต

เข้าสู่ระบบปฏิบัติการอันใดอันหนึ่ง (ตามที่ท่านได้ระบุในขั้นตอนการติดตั้ง LILO) โดยอัตโนมัติ หากท่านต้องการดูว่า เครื่องเราสามารถบูตระบบเป็นระบบปฏิบัติการใดได้บ้าง ให้ท่านกดปุ่ม SHIFT แล้วตามด้วย TAB ขณะที่มันแสดงคำว่า LILO จะมีการแสดงชื่อระบบปฏิบัติการที่เราสามารถบูตได้ ตัวอย่างดังนี้

  • LILO <กด SHIFT>
  • boot: <กด TAB>
  • linux dos
  • Log in

เมื่อระบบ Linux พร้อมที่จะทำงาน หน้าจอจะแสดงข้อความ (เรียกว่า Log in prompt Linux 2.0.35)

  • openmind.nectec.or.th
  • Welcome to Linux 2.0.35
  • openmind login:

เครื่องแสดง Login Prompt แสดงว่าพร้อมที่จะทำงาน เมื่อท่านต้องการเข้าใช้งานเครื่องนี้ ก็ต้องใส่ชื่อบัญชีของท่าน แล้วกด Enter

  • openmind login: ott (สมมติว่า Log in ชื่อ ott)หลังจากที่ป้อนชื่อบัญชีแล้วเครื่องจะถามรหัสผ่านดังนี้

Password: (ป้อนรหัสผ่าน)ซึ่งจะเป็นจะต้องใส่รหัสให้ถูกต้อง มิฉะนั้นจะเข้าใช้งานระบบไม่ได้ ในขณะที่คุณพิมพ์รหัสผ่านนั้นเครื่องจะไม่แสดงสิ่งที่คุณพิมพ์เข้าไปบนหน้าจอ เพื่อความปลอดภัยป้องกันคนแอบดูและจำรหัสผ่านของคุณได้การเข้าสู่ระบบเพื่อใช้งานดังนี้ เราเรียกว่าการ Log in เนื่องจากระบบ Linux เป็นระบบปฏิบัติการแบบหลายผู้ใช้ (multi user) การ Log in ก็คือการขอสิทธิ์เข้าไปใช้งาน มีเพื่อจะได้จำกัดสิทธิ์สำหรับผู้ใช้แต่ละคนได้ถูกต้อง ถ้าเป็นการ Log in ครั้งแรก

หลังจากที่คุณติดตั้ง Linuxเสร็จ ชื่อบัญชีที่คุณสามารถใช้ได้ก็คือ root ซึ่งจะเป็นบัญชีของผู้ดูแลระบบ root เป็นบัญชีที่มีสิทธิสูงที่สุดในระบบเมื่อป้อนรหัสผ่านถูกต้องแล้ว ท่านก็จะเข้าสู่การใช้งานในโหมดที่เรียกว่า Shell หน้าจอ เมื่อป้อนรหัสผ่านถูกต้องแล้ว ท่านก็จะเข้าสู่การใช้งานในโหมดที่เรียกว่า Shell หน้าจอ แสดงเครื่องหมาย Shell Prompt แสดงถึงการพร้อมรับคำสั่ง โดยถ้าคุณคือ root คุณจะได้ Shell Prompt เป็นเครื่องหมาย # แต่ถ้าคุณเป็นผู้ใช้ธรรมดาคุณอาจจะได้ Shell Prompt เป็น เครื่องหมาย $, % หรือต่างไปจากนี้ แล้วแต่ว่าคุณใช้เชลล์ (Shell) อะไร Shell เป็นโปรแกรมที่ทำ

หน้าที่รับคำสั่งจากคุณแล้วนำไปสั่งให้ระบบทำงานตามความต้องการ เปรียบเทียบได้กับโปรแกรม COMMAND.COM บน DOS โดยปกติแล้วหลังจากติดตั้งระบบใหม่ๆ จะยังไม่มีการกำหนดรหัสผ่าน ดังนั้นคุณจึงสามารถกด ผ่านขั้นตอนการใส่รหัสผ่านได้เลย การใช้งานในโหมด Shell Prompt จะคล้ายกับ DOS prompt นั่นเอง แต่มีคำสั่งต่างๆ มากกว่าและซับซ้อนกว่า (มาก)

คำสั่งและชื่อไฟล์ในระบบ Linux

จะมีลักษณะ Case sensitive นั่นคือตัวพิมพ์เล็ก และตัวพิมพ์ใหญ่จะถือว่าแตกต่างกัน เช่น ไฟล์ MyFile.doc กับ myfile.doc จะถือว่าเป็นคนละไฟล์กัน ดังนั้นในการใช้งานเริ่มแรกจึงควรระวังไม่กดปุ่ม ค้างไว้โดยไม่จำเป็น หากท่านทำ การป้อนรหัสผ่าน แล้วระบบตอบว่า Login incorrect ก่อนอื่นให้ตรวจสอบว่าท่านไม่ได้กดปุ่มค้างไว้หรือไม่

สิ่งที่ท่านควรทำเป็นอันดับแรก เมื่อติดตั้งระบบเสร็จใหม่ๆ (และควรทำเป็นประจำทุกๆ เดือน) คือ การเปลี่ยนรหัสผ่าน ทั้งบัญชีของท่านเอง และของ root หลักการตั้งรหัสผ่านก็คือ ตั้งให้คนอื่นเดาไม่ได้ ไม่ควรเป็นคำที่มีในพจนานุกรมหรือคำพูดติดปากที่ใช้กันบ่อยๆ ควรจะมีทั้งตัวพิมพ์เล็กและใหญ่ ควรใช้ความยาวไม่ต่ำกว่า 5 ตัว และผสมตัวเลขบ้างตัวอักษรพิเศษบ้าง (เช่น / ; ^ เป็นต้น) ไม่ควรใช้ชื่อ วันที่ วันเกิด หรือตัวอักษรชุดง่ายๆ เช่น 123456 เป็นอันขาดเนื่องจากสามารถทายได้ง่าย มีโปรแกรมเดารหัสผ่านจำนวนมาก ที่มีคนทำขึ้น เพื่อเดารหัสผ่านโดยลองทายคำง่ายๆ หรือหรือคำจากพจนานุกรม โปรแกรมเหล่านี้สามารถแกะรหัสผ่าน เช่น 123456, superman, superman! ได้ ภายในเวลาไม่เกิน 5 นาที

เราสามารถเปลี่ยนรหัสผ่านของ root และผู้ใช้ทุกคน โดยให้ทำการ Log in เป็นผู้นั้นแล้วใช้คำสั่ง passwd ดังตัวอย่าง

  • $ passwd
  • Change password for user ott
  • Old password: (ใส่รหัสผ่านเดิม)
  • New password: (ใส่รหัสผ่านใหม่)
  • Verify new password: (ใส่รหัสผ่านใหม่อีกครั้งหนึ่ง)
  • Log out

เมื่อจบการใช้งานทุกครั้งควร logout ทันทีโดยการพิมพ์ว่า logout หรือ exit ที่ $ ตัวอย่าง เช่น

$ exitไม่ควรปล่อยให้ผู้อื่นทราบรหัสผ่านของท่าน เพราะนั่นหมายความว่า เขาคนนั้นสามารถกระทำการทุกอย่างบนเครือข่ายอินเทอร์เน็ตในชื่อของท่าน เขาอาจจะเขียน E-mail ไปให้คนอื่นแต่เป็นชื่อของท่าน หรือไปทำลายข้อมูลต่างๆ ได้ อันจะนำความเดือดร้อนมาให้กับท่าน และโดยเฉพาะอย่างยิ่ง อย่าปล่อยหน้าจอของท่านได้ทำการ Log in ทิ้งไว้ แล้วไปทำอย่างอื่น เพราะคนอื่นสามารถเข้ามาใช้งานในชื่อของท่านได้ เมื่อเสร็จงานแล้วให้ทำการ Log out เสมอ

อย่าปล่อยหน้าจอทิ้งไว้ขณะที่คุณ Log In เป็น root โดยเด็ดขาด ผู้ไม่ประสงค์ดีสามารถใช้เวลาไม่เกิน 1 นาทีในการทำความเสียหายให้ทั้งระบบ หรือกระทำการเพื่อให้เขาสามารถ Log in เป็น root ในภายหลังได้ตลอดไป ถึงแม้ท่านจะเปลี่ยนรหัสผ่านไปแล้ว ระบบก็จะแสดง Login Prompt เพื่อรับการทำงานของผู้ใช้รายต่อไป

  • Linux 2.0.35 openmind.nectec.or.th
  • Welcome to Linux 2.0.33
  • openmind login:

การ Log outหมายถึงการจบการทำงานของผู้ใช้คนใดคนหนึ่งในเวลานั้น โดยระบบจะรับการทำงานของผู้ใช้รายต่อไป (หรือเป็นคนเดิม) ก็ได้ ไม่ได้หมายถึงการปิดเครื่องการปิดเครื่องท่านจะต้องปิดด้วยวิธีการอันใดอันหนึ่งต่อไปนี้ ห้ามทำการกดปุ่มปิด หรือ กดปุ่ม Reset เลยเป็นอันขาด จะทำให้ระบบมีความเสียหายได้ และมีผลทำให้การบูตระบบเป็น Linux ในครั้งต่อไป เสียเวลาในการซ่อมแซมความเสียหายนานมากหรืออาจซ่อมแซมไม่ได้เลย ให้ใช้วิธีดังนี้

  • กดสามปุ่ม – – พร้อมกัน รอสักครู่ เครื่องจะทำการ Reboot ตัวเอง ให้ทำการกดปุ่มปิดเครื่องเมื่อเครื่องวนกลับไปตรวจสอบหน่วยความจำ เหมือนตอนเปิดเครื่องใหม่ๆ วิธีนี้ทำได้เฉพาะเวลาอยู่หน้าเครื่องเท่านั้น (ใช้วิธี telnet มาไม่ได้)
  • ใช้คำสั่ง reboot หรือ shutdown –r now ขณะที่ log in เป็น root อยู่ และกดปุ่มปิดเครื่องเมื่อเครื่องวนกลับไปตรวจสอบหน่วยความจำ เหมือนตอนเปิดเครื่องใหม่ๆ

คำสั่งเบื้องต้นเกี่ยวกับไฟล์ และไดเรกทอรี

การจัดระบบไฟล์ใน Linux จะคล้ายกับบนดอสและวินโดวส์ คือมีลักษณะโครงสร้างเป็นรูปต้นไม้หัวกลับ โดยมีไดเรกทอรีราก ภาษาอังกฤษเรียกว่า root (อย่าสับสนกับบัญชีผู้ใช้ที่ชื่อ root) และเขียนแทนด้วย / เป็นไดเรกทอรีเริ่มต้น และมีไดเรกทอรีย่อยๆ ลงมาเป็นลำดับขั้น การอ้างถึงไฟล์และไดเรกทอรีย่อยต่างๆ จะใช้เครื่องหมาย / เป็นตัวแบ่งระหว่างแต่ละ ไดเรกทอรี เช่น /home/ott , /usr/local/bin เป็นต้น ซึ่งจะแตกต่างจากบน DOS ที่จะใช้เครื่องหมาย \ เป็นตัวแบ่ง (เครื่องหมายทับ หันคนละข้างกัน)

คำสั่งต่างๆ เกี่ยวกับไฟล์และไดเรกทอรีที่ใช้กันบ่อยๆ ได้แก่

  • pwd (print working directory) แสดงไดเรกทอรีปัจจุบัน เช่น
  • $ pwd
  • /home/ott แสดงว่าในขณะนี้กำลังอยู่ในไดเรกทอรี /home/ott
  • cd (change directory) ย้ายการทำงานไปยังไดเรกทอรีอื่นๆ เหมือนกับคำสั่ง cd บนดอส เช่น cd /home/ott เพื่อไปยังไดเรกทอรี /home/ott
  • mkdir (make directory) สร้างไดเรกทอรี เหมือนกับคำสั่ง md และ mkdir บนดอส เช่น ถ้าเราอยู่ที่ไดเรกทอรี /home/ott ใช้คำสั่ง mkdir test เราก็จะได้ไดเรกทอรี /home/ott/test
  • rmdir (remove directory) ลบไดเรกทอรี เหมือนกับคำสั่ง rd และ rmdir บนดอส เช่น rmdir /home/ott/test
  • ls (list) แสดงรายชื่อไฟล์ในไดเรกทอรี คล้ายกับคำสั่ง dir บนดอส วิธีใช้ เช่น ls / แสดงรายชื่อไฟล์ในไดเรกทอรีราก หรือใช้ ls เฉยๆ เพื่อดูรายชื่อไฟล์ในไดเรกทอรีที่เราอยู่ขณะนั้น ท่านสามารถใส่พารามิเตอร์ต่างๆ เพื่อให้ ls แสดงรายละเอียดของไฟล์เพิ่มเติมได้ เช่น
  • ls –a แสดงรายชื่อไฟล์ทุกไฟล์รวมทั้ง hidden file (ไฟล์ที่มีชื่อขึ้นต้นด้วย .) ในไดเรกทอรีปัจจุบัน เครื่องหมาย “-a” เรียกว่าเป็น Option ของคำสั่ง ls
  • ls –l แสดงรายชื่อไฟล์แบบยาว ท่านสามารถใส่สอง Option ก็ได้ เช่น ถ้าต้องการให้แสดงรายชื่อไฟล์ทุกไฟล์ และให้แสดงแบบยาวด้วย ก็ให้สั่งว่า ls –al
  • rm (remove) ใช้ลบไฟล์ เหมือนกับคำสั่ง del บนดอส ใช้ตามด้วยชื่อไฟล์
  • cat (concatenate) ใช้พิมพ์ข้อมูลในไฟล์ออกมาบนจอภาพ เหมือนกับคำสั่ง type บนดอส วิธีใช้ เช่น cat /README.TXT
  • more คล้ายกับคำสั่ง cat แต่จะพิมพ์ข้อมูลออกมาทีละ 1 จอภาพ เหมือนกับคำสั่ง more บนดอส วิธีใช้ เช่น more /README.TXT หรือใช้ประกอบกับคำสั่ง cat เช่น cat/README.TXT more (ใช้เครื่องหมาย “ ” PIPE)
  • less เหมือนกับคำสั่ง more แต่จะมีความสามารถมากกว่า เช่น สามารถเลื่อนไปมาระหว่างแต่ละหน้าได้ด้วยปุ่มลูกศรขึ้นลง หรือปุ่ม , เป็นต้น วิธีเรียกใช้ เช่นเดียวกับ more

 

 

http://msctu.blogspot.com/2010/03/linux.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s