Tuesday, November 30, 2010

Linux Command Line

Linux command line ไม่ยากอย่างที่คิด

ณฐพล พรพุทธพงศ์


การทำงานวิจัยทางด้าน bioinformatics และต้องจัดการข้อมูลเยอะๆ โดยใช้ระบบปฏิบัติการ linux หลายคนคงเลี่ยงไม่พ้นที่จะต้องทำงานกับระบบคำสั่งแบบบรรทัดหรือที่ภาษาอังกฤษเขาเรียกกันว่า command line (CLI-Command Line Interface) ที่ฝังอยู่กับระบบปฏิบัติการนั่นเอง หลายคนพอได้ยินก็คงร้องยี้... แต่ถ้าเราสามารถใช้ command line ได้อย่างคล่องแคล่วแล้วจะเห็นว่ามันใช้ทำงานหลายอย่างได้อย่างง่ายดาย ยืดหยุ่น และ รวดเร็วทีเดียว


Command line ใน linux นั้น ถ้าจะพูดอย่างง่ายก็คือโปรแกรมหนึ่งที่ทำหน้าที่ติดต่อกับผู้ใช้งานอย่างเราๆ นั่นเอง ซึ่งมีชื่อว่าเชลล์ (Shell) ใน linux เองมีเชลล์อยู่หลายชนิด ถึงแม้ว่าเชลล์แต่ละชนิดจะมีการทำงานแตกต่างกันไปบ้าง แต่ก็เพียงแค่เล็กน้อยเท่านั้น เมื่อเราสั่งงาน linux โดยพิมพ์คำสั่งลงไป ตัวเชลล์จะแปลคำสั่งแล้วไปเรียกโปรแกรมนั้นขึ้นมาทำงาน แล้วจึงส่งผลลัพธ์กลับมาให้ผู้ใช้ โดยทั่วไปแล้วในเชลล์จะมีโปรแกรมฝังมาด้วยมากพอสมควร ซี่งเป็นโปรแกรมอรรถประโยชน์พื้นฐานที่ใช้ในการจัดการไฟล์ และระบบต่างๆ ภายในเครื่องนั่นเอง


ในคอลัมน์นี้ ผมจะพูดถึงการใช้งานคำสั่งเหล่านั้นในการจัดการข้อมูล และจัดการไฟล์ในเครื่องของเราครับ โดยผมจะพยายามเริ่มต้นตั้งแต่ระดับของผู้ใช้ที่ไม่เคยใช้งาน linux command line มาก่อนเลย ไปจนกระทั้งถึงขั้นการนำไปใช้ในงานวิจัยทาง bioinformatics ให้มากที่สุดเท่าที่จะทำได้ครับ สำหรับในครั้งแรกนี้คงจะแนะนำพื้นฐานเกี่ยวกับระบบไฟล์ของระบบ linux ก่อนครับ

Linux เป็นระบบปฏิบัติการที่ถูกพัฒนาขึ้นจากระบบยูนิกซ์ (UNIX) โดยนาย Linus Torvalds ซึ่งขณะนั้นยังเป็นนักศึกษาของมหาวิทยาลัยเฮลซิงกิ (University of Helsinki) ในประเทศฟินแลนด์ โดยออกเวอร์ชั่น 1.0 ในปี ค.ศ. 1994 ซึ่งถูกนำมาใช้พัฒนาต่อยอดมาจนถึงปัจจุบัน ส่วนรายละเอียดนั้นคงมีโอกาสได้นำมาเล่าให้ฟังต่อไปครับ


ระบบ linux นั้นมีพื้นฐานการจัดการระบบคล้ายกับระบบ UNIX มาก โดยผู้ใช้งานแต่ละคนจะต้องเข้าไปใช้งานผ่านชื่อ user และ password ของตนเอง ดั้งนั้นระบบจัดการไฟล์จึงอ้างอิงกับผู้ใช้แต่ละคนด้วย โดยทั่วไปแล้วจะไม่มีสิทธิ์ที่จะเข้าไปดูไฟล์ของคนอื่นได้เลย


โครงสร้างของไฟล์ในระบบนั้นจะเริ่มต้นที่ root ซึ่งมีสัญลักษณ์เป็นตัว slash (/) ซึ่งเป็นระบบจำลอง ไม่ได้อ้างอิงกับฮาร์ดดิสเหมือนกับไมโครซอฟท์วินโดว์ ภายได้ root ก็จะมี directory ต่างๆ มากมาย ซึ่งเราจะเข้าไปสำรวจกันต่อไป


โดยทั่วไปเมื่อเราใช้งานลินุกซ์เราจะเข้าไปในส่วนที่เป็นกราฟฟิค (GUI – Graphic User Interface)ซึ่งถูกสร้างขึ้นครอบระบบลินุกซ์อีกที่ ดั้งนั้นถ้าเราจะใช้งานระบบคำสั่งแบบบรรทัดนั้นเราต้องใช้โปรแกรมที่ชื่อว่า Terminal ซึ่งใช้สร้างหน้าจอจำลองภายใต้สภาวะกราฟฟิคขึ้นมาให้เราป้อนคำสั่งแบบบรรทัด หรือ ถ้าใครอยากลองใช้หน้าจอจริงๆก็ลองกด Ctrl+Alt+F1 – 7 ดู ซึ่งหน้าจอเหล่านี้เป็น terminal จริงๆของระบบ โดยมีชื่อเรียงกันตั้งแต่ tty1 – 7 (tty – terminal type) โดยที่ระบบกราฟฟิคจะอยู่ที่ Ctrl+Alt+F7


เราลองเปิด terminal กันเลยดีกว่า โดยเริ่มที่คลิกตรงเมนู ซึ่งส่วนใหญ่จะอยู่ตรงมุมซ้ายบนนะครับ (ถ้าเราใช้ระบบจัดการแบบกราฟฟิคที่ชื่อว่า Gnome-โนม เรื่องนี้คงต้องนำเสนอกันคราวหลัง) แล้วหาโปรแกรม ที่ชื่อว่า Terminal ตามรูปที่ 3 เมื่อกดแล้วจะมีหน้าต่างขึ้นมาตามรูปที่ 4 นะครับ บางคนอาจจะได้จอดำๆขึ้นมาแทน ไม่ต้องตกใจครับ การให้สีพื้นจะขึ้นอยู่กับค่าที่ตั้งไว้ครับ อาจจะต่างกันในลินุกซ์แต่ละยี่ห้อครับ


เมื่อมองเข้าไปในหน้าต่างดูจะเห็น cursor กระพริบอยู่หนังตัวหนังสือแถวสั้นๆหนึ่งแถวซึ่งเราเรียกว่าเครื่องหมาย prompt โดยทั่วไปถ้าเป็น Bash shell (คำแปลกๆอีกแล้ว คงต้องขอรวบยอดเป็นคราวถัดๆไปครับ แต่คำสั่งที่เราจะนำเสนอทั้งหมดจะอ้างอิงตาม shell ชนิดนี้) จะเป็นสัญลักษณ์ $ ซึ่งหมายถึง ให้เราสามารถป้อนคำสั่งได้ส่วนข้างหน้าเครื่องหมายจะแล้วแต่การตั้งค่าไว้ส่วนในตัวอย่างจะหมายถึง ผู้ใช้ชื่อ natapol เข้าใช้ที่เครื่องชื่อ(@) chibi-banana ตำแหน่งที่อยู่ปัจจุบันคือ ~ ซึ่งเป็นสัญลักษณ์หมายถึงhome folder ของผู้ใช้นั่นเอง


เอาละครับในที่สุดเราก็ได้เปิดประตูสู่โลกแห่ง CLI กันแล้ว ในฉบับหน้าเรามาสำรวจโลกแห่ง CLI กันนะครับ

No comments:

Post a Comment