introduction to unix and linux
DESCRIPTION
Introduction to UNIX and Linux. Seree Chinodom. ยูนิกซ์คืออะไร. เป็นระบบปฏิบัติการชนิดหนี่ง ตอบสนองการทำงานแบบระบบเปิด(Open System) ใช้งานในลักษณะผู้ใช้หลายคน(Muti-users) สามารถทำงานได้หลายงานพร้อมกันในเวลาเดียวกัน (Muti-tasking). ประวัติความเป็นมา. - PowerPoint PPT PresentationTRANSCRIPT
Introduction to UNIX and Linux
Seree Chinodom
ยนกซคออะไร• เปนระบบปฏบตการชนดหนง• ตอบสนองการทำางานแบบระบบเปด (Open
System)• ใชงานในลกษณะผใชหลายคน -(Muti user
s)• สามารถทำางานไดหลายงานพรอมกนในเวลา
เดยวกน -(Muti tasking)
ประวตความเปนมา• พฒนาโดย Ken Thompson และ Dennis
Ritchie• ท Bell Laboratories, USA• พฒนามาจาก multics (1969)• Thompson พฒนาภาษาชนดใหมทใชเขยน
โปรแกรมเรยกวาภาษา 'B'• Ritchie พฒนาภาษา 'B' เปนภาษา 'C' และชวย
พฒนา 'UNIX'• ครงแรกทพฒนาใชบนเครอง - 7PDP
ประวตความเปนมา• มสองระบบทนยมใชกน
– SYSTEM V (Commercial, run by AT&T)– BSD (Educational, run by Bell Labs)
• ปจจบนพฒนาใชในรปแบบ graphical interfaces
– MOTIF– X Windows– Open View
ประวตความเปนมา• บรษททผลตปจจบน
– Sun Microsystems (SPARC)– Data General (AVION)– IBM (RS6 0 0 0 AIX)– Hewlett Packard– Santa Cruz Organisation (SCO)– DEC
องคประกอบของยนกซ• Kernel• File System• Shell• Utilities
โปรแกรมประยกต
เชลล
เคอรเนล
ฮารดแวร
โครงสรางของระบบยนกซ
Kernel• เปนหวใจของในการทำางานของระบบ ทำาหนาท
– ควบคมการทำางานงานในทงหมดของระบบคอมพวเตอร
– จดสรรทรพยากรของระบบ– บรหารหนวยความจำา– ควบคมอปกรณทตดตงทงภายในและภายนอก
• Kernel ขนอยกบชนดของเครอง เปนสวนทตดตอกบเครองโดยตรง
File System เปนสวนทใชเกบขอมล (Hard Disk) จดเกบในรป directory,
subdirectory จดเกบในรปตนไมหวกลบ เรยกใชอปกรณตาง ๆ เหมอนกบเรยกใชไฟล
ขอมล
Shell (command Interpreter)
ทำาหนาทเปนตวกลางในการตดตอระหวางผใช กบ Kernel
แปลคำาสงจากผใช คำาสงสามารถนำามาเขยนเปนชดคำาสงให
ทำางานเรยกวา Shell script กำาหนดทศทางการเขาออกของ
Input/Output
โปรแกรมอรรรถประโยชน• file management (rm, cat, ls,
rmdir, mkdir)• user management (passwd,
chmod, chgrp)• process management (kill, ps)• printing (lp, troff, pr)
Main Featurees ofUNIX• - multi user
– more than one user can use the machine at a time
– supported via terminals (serial or network c onnection)
• - multi tasking– more than one program can be run at a time– hierarchical directory structure– to support the organisation and
maintenance of files
Main Featurees ofUNIX(2)• portability
– only the kernel ( <10%) written in assembler
– tools for program development – a wide range of support tools
(debuggers, compilers)
Linux คออะไร• Linux เปนชอตวปฏบตการระบบ (Operating
System) ตวหนง เชนเดยวกบ DOS, Windows 9 5 2, Windows NT, OS/ หรอ ระบบ Unix
• Linux ถกออกแบบมาใหใชกบเครองคอมพวเตอร ท ใชตวประมวลผลหรอ CPU ตระกล x86 ( เชน803
86486, ,Pent i umเปนตน)• ปจจบนมการพฒนาใหใชกบตวประมวลผลตระกลอนๆ
เชน Alpha chip ไดดวย• Linux มลกษณะการทำางานแบบ Unix
ความเปนมาของ Linux• ลนกซเปนระบบปฏบตการคอมพวเตอรแบบ UNIX ทถก
พฒนาขนเปนครงแรกท University of Helsinkiประเทศ Finland โดยนกศกษาทชอ Linus B. Torvald
s• ถกแจกจายใหทดลองใชงานบนอนเตอรเนต • ตวเคอรเนลของลนกซไมไดใชซอรสโคดจาก AT&T หรอ
ระบบปฏบตการ UNIX อน• แอพพลเคชนซอฟตแวรหลกทใชงานบนลนกซสวนใหญ
พฒนามาจากโปรเเจกต GNU ท Free Software Foun dation (FSF)
ความเปนมาของ Linux• Linux พฒนามาจากมนนกซ (Minix) ซงเปนระบบปฏบต
การ UNIX เลกๆ ตวหนงทพฒนาขนโดย Andy Tanenbaum เพอประกอบการเรยนรในหนงสอเกยวกบ
การออกแบบระบบปฏบตการคอมพวเตอร • ลนกซถกพดถงเปนครงแรกในกลมขาว comp.os.minix
• ตว Linux จรงๆ แลวนนมลขสทธ แตวาเราสามารถใชงาน Linux โดยไมเสยคาใชจายใดโดยปฏบตตามเงอนไขของ
GNU Public License (GPL, บางทานอาจเรยก GopyLeft)
ความเปนมาของ Linux• ลนกซเวอรชน 001. ถกแจกจายใหทดลองใช
ราวๆ ปลายเดอนสงหาคม 1991 ในเวอรชนนมเพยงฮารดดสคไดรเวอรและระบบไฟลขนาดเลก
ใหใชงานเทานน ไมมแมแตฟลอบป ดสกไดรเวอร จะตองมระบบมนนกซอยแลวจงจะสามารถทำาการคอม
ไพลและทดลองใชงานได เนองจากมนยงไมมโหลดเดอรและคอมไพลเลอรทจะทำางานบนเคอรเนลนได
โดยตรง ตองอาศยการคอมไพลขามระบบ -(Cross compile) และบตระบบผานทางมนนกซ
ความเปนมาของ Linux• Linus เปดตวลนกซอยางเปนทางการครงแรกในวนท
5ตลาคม 1991 บนกลมขาว comp.os.minix ดวยเวอรชน 002 ซงลนกซ
ในเวอรชนนสามารถรน (( ( ( (((((( ( Again Shell), gcc (GNU C Compiler)
• หลงจากเวอรชน 003. Linus ไดเพมเวอรชนไปเปน 010. เนองจากระบบเรมทำางานไดมากขนและมผสนใจรวมพฒนามากขน หลงจากนนอกสองสามเวอรชน Linus ไดเพมเวอรชนขนเปน 095.
ความเปนมาของ Linux• มนาคม 1994 Linus กไดเปดตวลนกซ 10 ขน และ
เรมมผนำาไปใชงานกนอยางแพรหลายตงแตนนมา • ปจจบนลนกซไดพฒนามาถงเวอรชน 20 2015. ( . . )
แลว ซงมความความสามารถดานตางๆ พฒนาเพมขนจาก เวอรชน 10. มากมาย
• สามารถใชงาน Linux ไดโดยไมตองเสยคาใชจายในสวนลขสทธ แต Linux ไมใช Freeware หรอ Shareware ตว (( คอแกนกลางของตวปฏบตการ Linux) นน สงวนลขสทธโดย ((((( ((((((((
• สวนโปรแกรมประกอบอนๆ ทเขยนขนโดยผใดกจะเปนลขสทธของคนนน
ทำาไมตองเปนลนกซจดเดนทนาสนใจและเปนเหตผลททำาใหมผเปลยน
จากระบบปฏบตการอนๆ มาใชงานลนกซคอ• ลนกซเปนระบบปฏบตการทแจกฟร • ลนกซเปนระบบปฏบตการ UNIX ทสามารถรนได
บนเครองพซทวไปทมราคาไมแพง ตงแต 386 เปนตนไป
• ประสทธภาพสง• มคณภาพดเยยม
ทำาไมตองเปนลนกซ• เปนระบบปฏบตการแบบหลายผใชและหลายงาน
- - ( Multi user, Multi tasking )• มระบบ X Window สำาหรบการตดตอกบผใชในรป
แบบกราฟกซงสนบสนนโปรแกรมจดการ Window ( Window Manager ) หลายตว
• สนบสนนระบบเครอขายหลากหลายรปแบบ ไมวาจะ เปน อเธอรเนต , โทเกนรง , SLIP, PPP หรอ UUCP
• การใชงานรวมกบ DOS และ Windows ได
ทำาไมตองเปนลนกซ• ความสามารถในการใชงานไฟลรวมกบระบบปฏบตการอนๆ
ลนกซสนบสนนระบบไฟลของระบบปฏบตการหลายชนด เชน DOS
95 2( FAT), WindowsforWorkgroup( SMB), Windows ( VFAT), WindowsNT( NTFS), NetWare( NCP), OS/ ( HPFS ), MI NI X, NF S และ System V
• ความตองการทรพยากรของระบบ ระบบขนตำาทลนกซสามารถทำางานไดคอเครองพซทมหนวยประมวลผลกลาง
8 0 3 8 6 /SX หนวยความจำา 2 เมกะไบต ฟลอบปดสคขนาด 144. หรอ 12. เมกะไบต การดแสดงผล และจอภาพแบบโมโนโครม
ทำาไมตองเปนลนกซ• มผคอยใหความชวยเหลอมากมายเมอเกดปญหาขน
กบระบบ • ลนกซเปนระบบปฏบตการแบบเปด เกอบทก
โปรแกรมทรนบนลนกซและแมแตตวเคอรเนลเองจะถกแจกจายไปพรอมกบซอรสโคด
• ระบบจดการไฟล หรอแอพพลเคชนโปรแกรมพฒนา ขนมาใชงานเองไดโดยงาย ดงจะเหนไดจากสวนหนง
ของโปรแกรมเมอรทรวมพฒนาลนกซ เปนนกศกษา ทยงคงเรยนอยในมหาวทยาลยตางๆ ทวโลก
ความตองการทางดานฮารดแวร• เมนบอรดและหนวยประมวลผลกลาง : ขณะนลนกซ
สามารถทำางานไดบนหนวยประมวลผลกลาง Intel ในตระกล 80386 ขนไป 80386803868048680( / SX, /
486SX, Pentium, ((((((( ((( และ Pentium II ) รวมทงหนวยประมวลผลกลางจากบรษทอนๆ ทเขากนได เชน จาก AMD และ ((((( ถาคณใช
80386 หรอ 80486SX• เมนบอรดทใชจะตองมระบบบสแบบ ISA, EISA,VESA
หรอ PCI LocalBus
ความตองการทางดานฮารดแวร• หนวยความจำา : ลนกซตองการหนวยความจำาอยางนอย 2
เมกะไบต อยางไรกตาม คณควรจะมอยางนอย 4 เมกะไบตเพอไมใหระบบทำางานชาเกนไป
• ฮารดดสคคอนโทรลเลอร : ตองมคอนโทรลเลอรทเปน - ATstandard16( บต ) หรอ - (((8 บต ) สำาหรบฮารดดสกท
มการเชอมตอแบบ MFM, RLL และ IDE สวนคอนโทรลเลอร ฮารดดสคแบบ SCSI ทสามารถนำามาใชงานไดกมอยหลายรน
ดวยกน เชน Adaptec AHA1 5 4 2 B, AHA1 5 4 - 2 1742 1680 850C, AHA A, Future Domain , TMC ,
- Seagate ST 0 2 , UltraStore SCSI, Western Digit al WD7 0 0 0 FASST เปนตน
ความตองการทางดานฮารดแวร• พนทฮารดดสค : สวนใหญแลวจะขนอยกบความตองการและ
จำานวนซอฟตแวรทจะตดตง – สามารถตดตงลนกซลงบนฮารดดสคทมเนอทวางขนาด
- 1020 เมกะไบต– ถาเลอกตดตงแบบครบหมดจะกนเนอทประมาณ 300 เมกะไบต
• จอภาพและการดแสดงผล :– ลนกซสนบสนนจอภาพและการดแสดงผลทง Hercules, CGA,
EGA, VGA, IBM Monochrome และ SuperVGA สำาหรบการ แสดงผลในเทกซโหมด
– สำาหรบการแสดงผลในกราฟกโหมดนนจะขนอยกบระบบ X Window ทคณเลอกใช แตโดยปกตแลวจะใชไดกบการดแสดงผล
ทวๆ ไป
ความตองการทางดานฮารดแวร• อเธอรเนตการด : รายการคราวๆ ของอเธอรเนต
การดทลนกซสนบสนนไดแก 3 3 503 3 50316com c , c / ,
3509 3589 1000 2000Novell NE , NE 8003 8013Western Digital WD , WD - 2 7 245 , 27247 ,27250HP
- -600D Link DE
ความตองการทางดานฮารดแวร• อปกรณตอพวง
– เมาสและอปกรณชอนๆ : ลนกซสนบสนนทง serial mouse ทวๆ ไป เชน Logitech, MM series, Mouseman, Micr
osoft และยงสนบสนน Microsoft, Logitech และ ATIXL busmouse , mouse ทมการเชอมตอแบบ 2PS/
สำาหรบอปกรณชอนๆ เชน trackballs ซงสามารถจำาลองการ ทำางานเปน mouse ขางตนไดกสามารถใชไดเชนกน
– ซดรอม : ลนกซสนบสนนซดรอมไดรฟทมอนเตอรเฟสแบบ ( CSI เกอบทกรน เพยงแตะตองมคอนโทรลเลอร SCSI ทใช
กบลนกซได นอกจากนซดรอมไดรฟแบบอนๆ ทสามารถนำามา ใชงานกบลนกซได เชน - -NEC CDR 74, Sony CDU 541
- , CDU 3 1 a, Mitsumi และซดรอมแบบ IDE (ATAPI)
ความตองการทางดานฮารดแวร เทปไดรฟ : สนบสนนเทปไดรฟทมการเชอมตอแบบ SCSI และ
อนๆ เชน - - - QIC 117, QIC 40/80, QIC 3010/3020((((-(((((
โมเดมและเครองพมพ : มหลกการงายๆ กคอ ถาคณสามารถใช โมเดมหรอเครองพมพนนบน DOS หรอระบบปฏบตการอนๆ
ได คณกควรจะสามารถนำามาใชกบลนกซไดเชนกน ซาวนดการด : ทสามารถใชงานกบลนกซได เชน Adlib
(OPL2 ), Audio Excell DSP1 6 , Aztech Sound Galaxy NX Pro, Gravis Ultrasound, Logitech
SoundMan, Microsoft Sound System (AD1848 - 601), OAK OTI D cards (Mozart), Sound Blaste r และ Turtle Beach Wavefront cards (Maui, Tro
(((( เปนตน
การตดตอกบผใชในUNIX• การตดตอแบบตวอกขระ: Shell• การตดตอกบผใชโดยใชภาพ : X-Window
Shell• Shell คอโปรแกรมททำาหนาทอานและปฏบต
ตามคำาสงทผใชระบบปอนใหกบเครอง– Shell เปนโปรแกรมแรกททำางานหลงจากทผใชเขา
ใชระบบ(login) ไดสำาเรจ• Shell ยงเปนภาษาสำาหรบเขยนโปรแกรมอก
ดวย– ภาษาทเขยนดวย shell เรยกวา shell script– Shell มการทำางานตาม shell Script ใน
ลกษณะของ Interpreter
ชนดของ Shell• Shell ในตระกล Bourne - Shell• Shell ในตระกล C - Shell
Shell ในตระกลBourne Shell• Bourne Shell
– เปนshell ตวแรกในระบบ UNIX– มโครงสรางคลายภาษา ALGOL มเครองหมายเตรยมพรอมเปน
$– ชอไฟลของ shell : sh
• Korn Shell– พฒนาตอจาก Bourne Shell มเครองหมายเตรยมพรอมเปน $– ชอไฟลของ shell : ksh
• Bourne Again Shell– พฒนาตอจาก Bourne Shell แตเปนโปรแกรมทแจกฟร ม
เครองหมายเตรยมพรอมเปน $– ชอไฟลของ shell : bash
Shell ในตระกลBourne Shell(2)• Zee Shell
– เปน Shell ลกผสมระหวางตระกล Bourne Shell และ ตระกล C Shell และเปนโปรแกรมทแจกฟร
– ชอไฟลของ shell : zsh• bash และ zsh อยในโปรแกรมชด GNU ของ
The Free Software Foundation• bash และ zsh มคณสมบตใกลเคยงกน• zsh มคณสมบตคอนมาทาง Bourne Shell
มากกวา C Shell
Shell ในตระกล C Shell• - C Shell พฒนามาจากมหาวทยาลยแคลฟอรเนย(เบรก
เลย) สำาหรบใชใน UNIX ตระกล BSD มเครองหมาย เตรยมพรอมเปน %
– ชอไฟลของ shell : csh• Tenex C - Shell พฒนาตอจาก C - Shell สำาหรบใช
ในระบบปฏบตการ Tenex ซงเปน UNIX Compatible– ชอไฟลของ shell : tcsh– พฒนาโดยมหาวทยาลบ Carnegie-Mellon และพฒนาตอ
เนองมาโดยมหาวทยาลย Cornell– แจกฟร
การตดตอกบผใชโดยใชภาพ : X WindowX Window History• พฒนาท MIT (Massachusetts Institue of
Tecnology) ในป ค.ศ . 1980• MIT’s Project Athena and Digital
Equipment Corporation• เวอรชนแรกเผยแพรเมอ เดอนพฤษภาคม1984• ตนป1985 ม X1 - X6• X6 พฒนาเพอใชกบจอภาพ DEC’S QVSS บน
เครอง MIcroVAX เมอกลางป 1985
X Window• Brown University นำา X9 ใชบนเครอง IBM
RT/PC และพฒนามาเปน Version 10• Version 11
– Release 1 ใชเมอ กนยายน1987– Release 2 ใชเมอ มนาคม1988– Release 3 ใชเมอ กมภาพนธ1989– Release 4 ใชเมอ มกราคม1990– Release 5 ใชเมอ สงหาคม1991
• ปจจบน Version 11 Release 6
X Window System Concept• - The Server Client Model
– - Client Server Architecture for graphic application
– X Server เปนโปรแกรมท วงบนระบบและใชเขาถงสวนตาง ๆท เปน graphic Hardware ควบคมการแสดงผลบนจอภาพ
อนพต- เอาตพต เชนแปนพมพ เมาส และจอภาพ– X Client เปนโปรแกรมประยกตทใชตดตอกบ Server
• X Window เปน network-oriented graphic system
• X Client สามารถทำางานบนเครอง Server หรอremote workstation
X Window System Concept• Window Management
– Clients ทำางานภายใต X โดยสามารถแสดง windows ไดหลาย windows โดย windows ตางๆนนจะถกควบ คมดวบ X client โดยสวนทควบคมนเรยกวา window
maneger วงทำางานควบคไปกบ X client • Starting X
– startx– xinit, .xiniitrc
• Exiting X– เลอกเมน exit หรอ logout
Running X clients on a remote machine• บนเครอง client พมพ xhost + server_name telnet server_name DISPLAY=client_name:0.0 export DISPLAY
การตดตอเขาใชระบบ เราสามารถตดตอกบ host ได 3 วธดงน
• direct serial connection via dumb terminal
• direct serial connection via intelligence terminals (PC)
• network connection( via rlogin, telnet, ftp etc)
การ Login เขาสระบบ• เมอทำาการเชอมตอและตดตงอปกรณตางๆครบ
เรยบรอยแลวนน เมอเปดเครองเรมใชงาน หลงจาก ระบบพรอมทจะทำางานแลว หนาจอกจะมขอความ
คลาย ดงรป
2036 12Linux . . (k .compsci.buu.ac.th)(0 )
34 3Welcome to Burapha Linux . Release 12k login:
การ Login เขาสระบบ• เครองจะขน login prompt เพอเตรยม
พรอมรบการทำางาน เมอทานตองการเขาใช งานเครอง ตองใสชอ login และ
password หรอรหสผานของชอ loginนนๆ
• login prompt อาจจะเปน $ หรอ % ขน กบ shell ทใชงาน
การออกจากระบบ• เมอจบการการใชงานแลวกควร l ogout หรอออก
จากโปรแกรมทกำาลงทำางานอย กลบมาส l ogi n prompt เหมอนเดม
• การออกจากระบบ ใหพมพวา l ogout หรอ exit ท $ ตวอยาง เชน
$ exit
• ระบบกจะกลบมาส Login Prompt เหมอนเดม
ความสำาคญของชอผใชและรหสผาน• ไมควรให login และ password ของทาน
ตกไปอยกบคนอนเพราะ– คนๆ นนสามารถกระทำาการทกอยางบนเครอขาย
อนเตอรเนตในชอของทานเชนเขยน E-mail ไป ใหคนอน แตเปนชอของทาน หรอไปทำาลายขอมล
ตางๆ ได อนจะนำาความเดอดรอนมาใหกบทาน• อยาเปดหนาจอท login ของทานทงไว
แลวไปทำาอยางอน เพราะคนอนสามารถใชlogin ของทานไดในขณะนน
การแบงระดบผใช• ระดบผใชธรรมดา จะสามารถใชงานเครอง หรอ
โปรแกรมไดบางโปรแกรมเทานน• ระดบ Super User ( สวนใหญจะมชอ login
วา root) เปรยบเสมอนเปนผดแลระบบ– สามารถแกไขเปลยนแปลงทกอยางไดในเครอง– สามารถจำาแลงแปลงกายเปนผใชคนใดกได– อาน - เขยนขอมลของทกคนได– ควรเกบรกษา password ของ root นไวอยางด
และไมปลอยใหผทไมเกยวของทราบ
การเปลยนรหสผาน• สงทควรทำาเปนอนดบแรก เมอตดตงระบบเรยบรอย
และ ควรทำาเปนประจำาทกๆ เดอน คอ การเปลยนpassword (รหสผาน) ของ root และ admin
• หลกการกำาหนด password กคอ– ตงใหคนอนเดาไมได ไมควรเปนคำาทมในพจนานกรม หรอคำา
พดตดปากทใชกนบอยๆ– ควรจะมทงตวพมพเลกและใหญ เครองหมายตางๆ และ
ตวเลข ทงนเพอไมใหคนอนสามารถเดารหสผานของคณได งายควรใชความยาวไมตำากวา 5 ตว และผสมตวเลขบาง ตว
อกษรพเศษบาง ( เชน / ; ^ เปนตน)– ไมควรใชชอ วนท วนเกด หรอ ตวอกษรชดงายๆ เชน
123456 เปนอนขาดเนองจากสามารถทายไดงาย
Home directory Home directory เปน directory บาน
ของผใช ผใชชอ seree home directory คอ
/usr/home/seree หรอ/home/seree
แนวความคดทวไปเกยวกบโปรแกรมอรรถประโยชน• โปรแกรมเดยวทำาหนาทอยางเดยว• การนำาโปรแกรมอรรถประโยชนมาทำางานรวม
กนเพอใหเกดงานตามทตองการ• รปแบบทวไปของการเรยกใชงานโปรแกรม
อรรถประโยชน คำาสง [-flags] [ argument_list]