Introduction to Unix I


Introduction to Unix I

Introduction to Unix I

วัตถุประสงค์

1.       แนะนำให้เห็นความสำคัญของระบบ Unix

2.       เข้าใจลักษณะพื้นฐานของระบบ Unix

3.       สามารถใช้คำสั่งพื้นฐานในระบบ Unix ได้

หัวข้อ

ตอนที่ 1: แนะนำระบบ Unixตอนที่ 2: การเริ่มต้น/การออกจากระบบ Unix

ตอนที่ 3: การพิมพ์คำสั่งในระบบ Unix (Typing Unix Commands)

ตอนที่ 4: คำสั่งเพื่อใช้งานในขั้นแรก (Commands to Use Right Away)

ตอนที่ 5: ระบบความช่วยเหลือของ Unix (Unix Help)

ตอนที่ 6: ระบบแฟ้มข้อมูลของ Unix (The Unix File System)

ตอนที่ 7: การทำงานกับไดเร็คทอรี่ (Working with Directories)

ตอนที่ 8: การทำงานกับแฟ้มข้อมูล (Working with Files)

ตอนที่ 9: การเปลี่ยนทิศทางของ Input และ Output (I/O redirection)

ตอนที่ 1: แนะนำระบบ Unix

          Unix เป็นระบบปฏิบัติการแบบหลากผู้ใช้หลายงาน (Multiuser/Multitasking) คือระบบสามารถทำงานได้หลายอย่างพร้อมกันในเวลาเดียวกัน ระบบอนุญาตให้ผู้ใช้หลายคนเข้ามาใช้งานระบบ โดยที่ระบบมีวิธีการในการจำแนกผู้ใช้แต่ละคน ซึ่งใช้งานอยู่บนระบบเดียวกันได้ ผู้ใช้หลายคนสามารถใช้งานเครื่องเดียวกันพร้อมกันได้ โดยใช้ลักษณะของการแบ่งเวลา (Time sharing)  และแบ่งทรัพยากร   (Resource  sharing)

          ระบบปฏิบัติการ Unix  เป็นระบบที่ได้มีการพัฒนาการมาประมาณ 30 ปีแล้วเริ่มจากห้องปฏิบัติการทางคอมพิวเตอร์ Bell Labs โดย  Ken  Thomson  และ Dennis Ritchie  จนปัจจุบันกลายเป็นระบบปฏิบัติการที่มีผู้นิยมใช้กันอย่างกว้างขวาง ตั้งแต่เครื่องขนาดเล็ก (Micro-computer) ซึ่งมี resource จำกัด  จนถึงเครื่องขนาดใหญ่ (Main frame) และ Supercomputer  การเติบโตของ Unix  มีอัตราสูงและรวดเร็ว  ทั้งนี้เพราะความสามารถ ความคล่องตัวง่ายในการใช้ และเครื่องมือต่างๆมากมายที่ระบบ Unix มีให้

          ระบบ Unix ได้สร้างขึ้นมาในช่วงปลายทศวรรษ 1960 เพื่อให้ทำงานกับคอมพิวเตอร์ขนาดใหญ่  เป้าหมายของการออกแบบที่วางไว้กว้าง และคำสั่งที่ออกแบบมาก็จะไม่ใช่เพื่อแก้ปัญหาทุกกรณี คำสั่งต่าง ๆ  จะออกแบบให้ทำงานใดงานหนึ่งซึ่งเป็นงานเล็ก ๆ เพียงงานเดียว ซึ่งทำให้ทำงานได้ดีและเร็ว  ตัวอย่างเช่น  คำสั่งเพื่อแสดงข้อมูลในแฟ้ม จะไม่ทำเกี่ยวกับการจัดหน้า หรือการพิมพ์ออกทางเครื่องพิมพ์จะมีคำสั่งที่ทำหน้าที่ย่อย ๆ เหล่านี้อีกต่างหาก

          การยึดมั่นในหลักการนี้ก่อให้เกิดลักษณะเด่น คือ ประการแรก งานใหม่ ๆ สามารถทำได้ด้วยคำสั่งอื่นๆ ที่มีอยู่แล้วได้ โดยอาศัยแนวคิดเรื่อง standard input and output และ command pipelines  ประการที่สอง การพัฒนาคำสั่งใหม่ ๆ และงานอื่น ๆ ทำได้ง่าย ประการที่สาม ทำให้ระบบ Unix  มีคำสั่งที่เป็น utility มากมายกว่าระบบปฏิบัติการอื่นๆ

          ลักษณะเด่นหลายประการใน Unix  เช่น การจัดโครงสร้างแฟ้มข้อมูลแบบ hierarchy (tree)  แนวคิดเกี่ยวกับ I/O redirectional  และการทำ  pipe process  ได้เป็นที่ยอมรับและใช้ในระบบปฏิบัติการอื่น ๆ ด้วย    การเรียนรู้เกี่ยวกับ Unix จึงเป็นพื้นฐานของการเรียนรู้ระบบปฏิบัติการสมัยใหม่  นอกจากนี้การที่  Unix เป็นระบบปฏิบัติการที่มีใช้อย่างกว้างขวางในเครื่องทุกระดับ การเรียนรู้เกี่ยวกับ Unix  จึงมีประโยชน์มาก

          Unix ตระกูลหลัก ๆ ได้แก่ System V ซึ่งเป็นระบบ Unix ที่พัฒนาขึ้นใน Bell Labs และ Berkeley Unix ซึ่งมีชื่ออย่างเป็นทางการว่า BSD  (มาจากคำเต็มว่า Berkeley Software Distribution)  ในวงการวิจัยและการศึกษาส่วนใหญ่จะใช้ระบบ Unix ซึ่งใช้ระบบหนึ่งในสองระบบนี้หรือทั้งสองระบบเป็นพื้นฐาน

          ตารางต่อไปนี้ แสดงถึงชื่อของระบบ Unix ที่พบเห็นได้ทั่วไป

ชื่อของระบบ Unix

บริษัท

AIX IBM
Dynix Sequent
HP/UX Hewlett-Packard (HP)
Linux หาได้ฟรีบน Internet
Nextstep Next
SCO Unix Santa Cruz Operation
Solaris Sun Microsystems
SunOS Sun Microsystems
System V UNIX

PC บางชนิด

Ultrix Digital Equipment Corp. (DEC)

คำถาม

1.       จงยกตัวอย่าง applications ที่ใช้ในระบบ Unix มาให้มากที่สุด

2.       จงยกตัวอย่าง applications ที่มีในระบบ Unix แต่ไม่มีในระบบ Windows มาอย่างน้อย 3 ชื่อ  Application เหล่านี้มักจะใช้ในงานด้านไหนบ้าง

ตอนที่ 2: การเริ่มต้น/การออกจากระบบ Unix

          ผู้ใช้แต่ละคนจะมีพื้นที่เฉพาะตัวอยู่ในระบบ ซึ่งเรียกว่า account  เมื่อต้องการเข้าสู่ระบบ ผู้ใช้จะต้องพิมพ์ login ID และรหัสผ่านของตนเข้าไป หากระบบตรวจสอบแล้ว login ID และรหัสผ่านถูกต้อง ก็จะให้เข้าสู่ระบบได้

          ระบบ Unix ถือว่าอักษรตัวเล็กและตัวใหญ่แตกต่างกัน ดังนั้นจะต้องใส่ให้ถูกต้อง

Login: s4XXXXXX

พิมพ์ ID และกด Enter

Password:

พิมพ์ password แล้วกด Enter (จะไม่มีอะไรแสดงออกมา)

$

Prompt ของ Unix (อาจแสดงเป็นอย่างอื่นที่คล้ายกัน)

          การ logout ออกจากระบบ ให้พิมพ์คำสั่ง logout หรือกด ^D (Ctrl+D) หรือพิมพ์คำสั่ง exit

วิธีการทดลอง

เปิดเครื่อง terminal รอจนกระทั่งมีคำว่า “Login:” ปรากฎขึ้น

·     ใส่ Login ID แล้วกด Enter

·     ใส่ Password แล้วกด Enter

จะปรากฎเครื่องหมาย prompt ของ Unix

ตอนที่ 3: การพิมพ์คำสั่งในระบบ Unix (Typing Unix Commands)

          User Interface ของ Unix เรียกว่า Shell ซึ่งจะทำหน้าที่ 4 อย่างซ้ำไปเรื่อย ๆ ดังรูปข้างล่าง

  

          Unix มีอักษรควบคุมหรือ Control Characters เพื่อทำงานเฉพาะอย่างอยู่หลายตัว ที่สำคัญได้แก่

การลบตัวอักษร

Control Characters ที่มีประโยชน์อื่น ๆ

DELETE

ลบตัวอักษรตัวสุดท้าย

^C

จบการทำงานของคำสั่ง

^H ลบตัวอักษรตัวสุดท้าย (^H หมายถึง ให้กด Ctrl และปุ่ม H พร้อมกัน) ^S

หยุด Output (เช่น การแสดงผล) ชั่วคราว

^W

ลบคำสุดท้าย

^Q

แสดง Output ต่อ

^U

ลบบรรทัดสุดท้าย

   

วิธีการทดลอง

1.       พิมพ์คำสั่งต่อไปนี้ แล้วลองดูผลที่เกิดขึ้น

·        date·        cal 3 1997·        who·        ls –a

·        man cal (ให้กดแป้น spacebar เพื่อแสดงผลต่อไป และ ^C เพื่อออก)

·        clear

2.       พิมพ์คำสั่ง cd /home เพื่อไปยังไดเร็คทอรี่ home (ซึ่งเป็นไดเร็คทอรี่แม่ของไดเร็คทอรี่ของผู้ใช้ในระบบ), พิมพ์คำสั่ง ls –al แล้วกด ^S ก่อนที่จะแสดงผลเสร็จ รอสักครู่หนึ่งแล้ว กด ^Q

ตอนที่ 4: คำสั่งเพื่อใช้งานในขั้นแรก (Commands to Use Right Away)

การตั้งรหัสผ่าน

ใช้คำสั่ง passwd แล้วระบบจะถามรหัสผ่านปัจจุบัน แล้วให้ใส่รหัสผ่านใหม่ 2 ครั้ง

ข้อแนะนำเกี่ยวกับรหัสผ่าน

·        ห้ามบอกรหัสผ่านของคุณแก่ใคร ในระบบเครือข่ายคอมพิวเตอร์ สิ่งเดียวที่ชี้ได้ว่าคุณเป็นใครคือ account หากคนอื่นใช้ account ของคุณไปทำจารกรรมใด ๆ  คุณจะต้องรับโทษโดยอ้างไม่ได้ว่าไม่ได้เป็นผู้ทำ ·        อย่าเขียนรหัสผ่านเอาไว้ หรือหากเขียนเอาไว้ ให้เก็บไว้ในที่ลับและไม่ควรเขียน password ตรง ๆ ให้เขียนคำที่เตือนให้นึกถึง password ก็พอ·        รหัสผ่านที่ดี จะต้องยาวกว่า 8 ตัวอักษร โดยประกอบด้วยอักษรตัวเล็กและตัวใหญ่, ตัวเลข, และสัญลักษณ์ต่าง  ๆ (เช่น #, $) ปนกัน วิธีหนึ่งที่อาจใช้สร้าง password สำหรับคนไทย คือ ใช้แป้นพิมพ์พิมพ์เป็นคำภาษาไทยแทน (แต่ห้ามใช้คำ ๆ เดียว เพราะเขาอาจใส่ทุกคำในพจนานุกรมเข้าไปเพื่อแกะรหัสผ่านได้)

คำสั่งเกี่ยวกับวันที่

·        date             เพื่อบอกวันที่และเวลา·        cal               เพื่อแสดงปฏิทิน ตัวอย่างการใช้ เช่น cal 1997, cal 3, cal 7 1962, cal 9 1752

คำสั่งเกี่ยวกับตัวเราและระบบ

·        uptime        เวลาที่ระบบทำงาน (Machine’s ‘up’ time)

·        hostname   ชื่อของเครื่องแม่ข่าย

·        whoami      ชื่อของเรา

·        quota          โควตาของเรา  อีกคำสั่งหนึ่ง คือ quota –v ??? (ใช้ทำอะไร)

เครื่องคิดเลข

·        xcalc          ต้องใช้ X-Windows

·        expr            ใช้คำนวณขั้นพื้นฐานได้ เช่น expr 3 + 5 + 7

·        bc               
3 + 5 + 7     พิมพ์เข้าไป
15                Output
^D               เพื่อออกจากโปรแกรม

·        bc –l            เพื่อใช้ Maths library
scale=3       ตั้งจำนวนทศนิยมให้เป็น 3
150/60
l(30)            เรียกฟังก์ชันเพื่อหาค่า natural log ของ 30
^D

·        bc
obase=2      ตั้งค่าเลขฐานของ output
ibase=16     ตั้งค่าเลขฐานของ input
FFC1
^D

เกมส์

เกมส์ส่วนใหญ่อยู่ในไดเร็คทอรี่ /usr/game  การเรียกเกมส์เหล่านี้ขึ้นมา จะต้องเปลี่ยนไดเร็คทอรี่ไปที่นั่น (ซึ่งจะกล่าวถึงต่อไป) หรือใส่ /usr/game นำหน้าคำสั่งที่ต้องการเรียก เช่น

  /usr/game/fortune

เกมส์หลายเกมส์ในระบบ Unix เป็นเกมส์ที่มีกราฟิกสวยงาม เล่นได้หลายคน เช่น doom, acm แต่จะต้องใช้ X-Windows ในการรัน

สำหรับเกมส์ที่อยู่ได้ fivedots ได้แก่

fortune

คำคม

gnuchess

หมากรุก

hangman

แฮงแมน

acm

จำลองการบิน

Maelstrom เกม Asteriod
Gnugo

เกมโกะ

วิธีการทดลอง

1.       ให้เปลี่ยนรหัสผ่านของคุณเป็นรหัสใหม่

2.       ใช้คำสั่งของ Unix เพื่อค้นดูว่าคุณเกิดวันอะไร (จันทร์, อังคาร, หรืออื่น ๆ)

3.       คุณมี disk quota อยู่เท่าไร

4.       ให้หาค่า p ออกมาโดยมีทศนิยม 12 หลัก  (คำใบ้: p/4 = arctan(1) ซึ่งก็คือ function a() ในโปรแกรม bc)

5.       ให้รันโปรแกรม fortune ดูหลาย ๆ ครั้ง

ตอนที่ 5: ระบบความช่วยเหลือของ Unix (Unix Help)

On-line help·        man             มาจากคำว่า manual หรือคู่มือ เป็นการเรียกคู่มือแบบ on-line ของโปรแกรมขึ้นมาอ่าน การใช้ให้กด spacebar เพื่อดูหน้าถัดไป, P เพื่อดูหน้าก่อนหน้า และ q เพื่อออก ตัวอย่างการใช้ เช่น

man gnuchess
man man

·        apropos [ชื่อหัวเรื่อง]  ใช้เพื่อแสดงคำสั่งที่เกี่ยวข้องกับหัวเรื่องนั้น ๆ  การออกจากคำสั่งให้กด q ตัวอย่างการใช้ เช่น

apropos game
apropos help

·        man –k [ชื่อหัวเรื่อง]    เหมือนกับ apropos

·        which [คำสั่ง]   บอกที่อยู่ของคำสั่งนั้น ตัวอย่างเช่น

which gnuchess
which ls

·        locate [ข้อความ] ใช้หาไฟล์ที่มีข้อความหนึ่ง ๆ อยู่ในชื่อไฟล์หรือ path ของไฟล์ ตัวอย่างเช่น

locate .cgi
locate ad

·        การแสดงผลลัพธ์ที่ออกมาอาจจะยาวมาก เราทำให้โปรแกรมแสดงผลออกมาทีละหน้าจอโดยใช้ |more ตามหลังคำสั่ง แล้วให้กด spacebar เพื่อแสดงผลต่อ และ ^C เพื่อหยุด ตัวอย่างเช่น

locate .cgi|more
apropos print|more

หนังสือ Unix ที่แนะนำ

·        A Student’s Guide to UNIX, Harley Hahn, McGraw-Hill, 1993.·        A Practical Guide to the UNIX System, Mark G. Sobell, Benjamin-Cummings,
3rd Edition, 1995.
·        An Introduction to Berkeley UNIX, Paul Wang, Wadsworth, 1992.

วิธีการทดลอง

1.       ให้ดู manual pages ของโปรแกรม bc และ fortune2.       คำสั่งใดบ้างที่เกี่ยวข้องกับคำว่า game3.       เกมส์ใน fivedots อยู่ที่ใด

ตอนที่ 6: ระบบไฟล์ของ Unix (The Unix File System)

รูปแสดงระบบไฟล์/ไดเร็คทอรี่ของ Unix (ซึ่งทำให้ง่ายลงแล้ว)

ไดเร็คทอรี่ระบบที่สำคัญ เช่น

·        /                   root directory

·        /bin       เก็บคำสั่งของ Unix

·        /etc        ไฟล์ข้อมูลของระบบ เช่น /etc/passwd

·        /dev             ไฟล์ที่ใช้แทน I/O Devices

 

รูปแสดง home directory ของผู้ใช้

PathnamePathname คือ เส้นทางของ directory ที่ใช้แสดงถึงตำแหน่งของ directory มีอยู่ 2 ชนิด คือ absolute pathname กับ relative pathname

Absolute Pathname (เส้นทางแบบสัมบูร

คำสำคัญ (Tags): #introduction to unix i
หมายเลขบันทึก: 110952เขียนเมื่อ 12 กรกฎาคม 2007 17:21 น. ()แก้ไขเมื่อ 7 พฤษภาคม 2012 01:32 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท