470 likes | 609 Views
ระบบปฏิบัติการยูนิกส์ ( UNIX Operating System ). อ.กันทิมา อ่อนละออ E-mail : kantima@www.sci.buu.ac.th. ยูนิกซ์คืออะไร. เป็นระบบปฏิบัติการชนิดหนี่ง ตอบสนองการทำงานแบบระบบเปิด(Open System) ไม่ผูกติดกับระบบใดระบบหนึ่งหรือเป็นอุปกรณ์ยี่ห้อเดียวกัน ใช้งานในลักษณะผู้ใช้หลายคน(Multi-users)
E N D
ระบบปฏิบัติการยูนิกส์( UNIX Operating System) อ.กันทิมา อ่อนละออ E-mail : kantima@www.sci.buu.ac.th E-mail:kantima@www.sci.buu.ac.th
ยูนิกซ์คืออะไร • เป็นระบบปฏิบัติการชนิดหนี่ง • ตอบสนองการทำงานแบบระบบเปิด(Open System) ไม่ผูกติดกับระบบใดระบบหนึ่งหรือเป็นอุปกรณ์ยี่ห้อเดียวกัน • ใช้งานในลักษณะผู้ใช้หลายคน(Multi-users) • สามารถทำงานได้หลายงานพร้อมกันในเวลาเดียวกัน (Multi-tasking) • มีความสามารถเชื่อมโยงเป็นระบบเครือข่าย และการจัดสรร ทรัพยากรร่วมกัน
องค์ประกอบของยูนิกซ์ • Kernel • File System • Shell • Utilities H/W
H/W Kernel • เป็นหัวใจของในการทำงานของระบบ ทำหน้าที่ • ควบคุมการทำงานงานในทั้งหมดของระบบคอมพิวเตอร์ • จัดสรรทรัพยากรของระบบ • บริหารหน่วยความจำ • ควบคุมอุปกรณ์ที่ติดตั้งทั้งภายในและภายนอก • Kernel ขึ้นอยู่กับชนิดของเครื่อง เป็นส่วนที่ติดต่อกับเครื่องโดยตรง
H/W File System • เป็นส่วนที่ใช้เก็บข้อมูล (Hard Disk) • จัดเก็บในรูปของแฟ้มข้อมูล(Files) และไดเร็กทอรี(directory) • จัดเก็บในรูปต้นไม้หัวกลับ • เรียกใช้อุปกรณ์ต่าง ๆ เหมือนกับเรียกใช้ไฟล์ข้อมูล
H/W Shell (command Interpreter) • ทำหน้าที่เป็นตัวกลางในการติดต่อระหว่างผู้ใช้กับ Kernel • แปลคำสั่งจากผู้ใช้ • คำสั่งสามารถนำมาเขียนเป็นชุดคำสั่งให้ทำงานเรียกว่า Shell script • กำหนดทิศทางการเข้าออกของ Input/Output
shell ที่นิยมใช้ • Bourne Shell มีโครงสร้างคล้ายภาษา ALGOL มีเครื่องหมายเตรียมพร้อมเป็น $ • C Shell เป็นเชลล์ที่มีไวยากรณ์คล้ายภาษา C มีเครื่องหมายเตรียมพร้อมเป็น % • Korn Shell เป็นเชลล์ที่การทำงานมีลักษณะโต้ตอบ และ Kernel มีขนาดใหญ่กว่าเชลล์อื่น
Utilities • ได้แก่ คำสั่งต่างๆที่ผู้ใช้ทั่วไปสามารถเรียกใช้ได้บน UNIX ลักษณะการเรียกใช้คำสั่ง Command [-option] [argument] • command ชื่อคำสั่ง • option ทางเลือกของแต่ละคำสั่งที่มีให้ • argument ข้อมูลที่จะส่งให้คำสั่งนำไปทำงาน E-mail:kantima@www.sci.buu.ac.th
ก้าวแรกของการเป็นผู้ใช้ระบบก้าวแรกของการเป็นผู้ใช้ระบบ • System Administration • ผู้ใช้ต้องได้รับการอนุญาติจาก System Administrationและต้องทราบ • User ID (UID) คือรหัสประจำตัวของผู้ใช้ • Group ID (GID) คือ กลุ่มการทำงานของผู้ใช้ • Password คือรหัสผ่าน
การเข้าใช้งานระบบ UNIX เข้าโปรแกรม Telnet พร้อมทั้งระบุชื่อโฮสต์ที่ต้องการเข้าไปใช้งาน เช่น hw.compsci.buu.ac.th Telnet hw.compsci.buu.ac.th
การตั้งรหัสผ่าน • รหัสผ่านต้องยาวอย่างน้อย 6 ตัว • ประกอบด้วยตัวเลข หรือตัวอักษรพิเศษอย่างน้อย 1 ตัว • การเปลี่ยนรหัสผ่านจะต้องเปลี่ยนไปจากเดิม 3 ตัว • การตั้งรหัสผ่านใช้คำสั่ง passwd
การใช้ Online Manual • ใช้คำสั่ง man • รูปแบบ $ man Command • ตัวอย่าง $ man ls • การออกจาก Online Manual พิมพ์ q
การเลิกใช้ระบบ(logout) • พิมพ์คำสั่ง • exit • logout • Ctrl - d
Unix File System E-mail:kantima@www.sci.buu.ac.th
ประเภทของไฟล์ • Regular File(-) เป็นไฟล์ปกติที่สร้างจาก Editor หรือสำเนามาจากไฟล์อื่น โดย • Directory (d) เป็นไฟล์ที่เก็บไฟล์ต่าง ๆ หรือ directory ใช้สัญลักษณ์ / แทน root directory • Character device file (c) เป็นไฟล์ชนิดพิเศษ เรียกว่า • Block device file (b) • UNIX domain sockets (s) อยู่ใน BSD Unix • Name pipes (p) ของ AT&T • Symbolic link (l)
การตั้งชื่อไฟล์หรือ directory • จะใช้ตัวอักษรใดในการตั้งชื่อก็ได้ ยกเว้นตัวอักษรต่อไปนี้ & * ( ) ; ‘ “ , < > / | • ตั้งชื่อได้ยาวไม่จำกัด • ตัวอักษรตัวเล็กหรือตัวใหญ่ถือว่าแตกต่างกัน • ในเชลล์จะรับคำสั่งรวม Argument หรือชื่อที่สั่งให้ทำงานได้ไม่เกิน 225 ตัว
การอ้างถึงชื่อแฟ้มข้อมูลหรือ directory • ระหว่างชื่อแฟ้มข้อมูลกับ directory หรือระหว่าง directory กับ directory ใช้เครื่องหมาย “/” เป็นตัวคั่น • Absolute Path Name เป็นการอ้างชื่อเต็มของแฟ้มหรือ directory เช่น /unix, /usr/home/seree, /etc/passwd • Relative Path Name เป็นการอ้างชื่อแฟ้มหรือ directory โดยมีการสัมพันธ์กับตำแหน่งปัจจุบัน . (current directory) .. (parent directory) ./office (relative from current directory) ../office (relative from parent directory)
Home directory • Home directory เป็น directory บ้านของผู้ใช้ • ผู้ใช้ชื่อ seree home directory คือ /usr2/home/seree
คำสั่งทั่วไปของยูนิกซ์คำสั่งทั่วไปของยูนิกซ์ • clear ลบจอภาพ • date แสดงวันที่ • logname แสดงชื่อผู้ใช้ • hostname แสดงชื่อ Host • cal แสดงปฏิทินเดือนปัจจุบันของเครื่อง • cal 1997 แสดงปฏิทินคศ. 1997 • cal 10 1997 แสดงปฏิทิน เดือนตุลาคม คศ. 1997
คำสั่งทั่วไปของยูนิกซ์คำสั่งทั่วไปของยูนิกซ์ • banner HELLO แสดงข้อความตัวใหญ่ • echo I Love You แสดงข้อความบนจอภาพ • whoami แสดงชื่อผู้ใช้งานขณะนั้น • who am i แสดงชื่อผู้ใช้งาน เวลาที่เข้าสู่ระบบ หมายเล เครื่อง • pwd แสดงชื่อ directory ที่ใช้งานขณะนั้น
คำสั่งที่เกี่ยวข้องกับ file และ directory
คำสั่ง ls คำสั่งนี้ใช้ในการแสดงรายชื่อไฟล์และไดเรกเทอรี่ ย่อยที่มีอยู่ รูปแบบ : ls [option] [filename] option -a แสดงรายชื่อไฟล์และไดเรกเทอรี่ย่อยที่มี อยู่ทั้งหมดรวมถึงไฟล์ที่ขึ้นต้นด้วย “.”ที่ซ่อนไว้ ซึ่งปกติจะไม่แสดง ให้เห็น -b แสดงตัวอักษรที่ไม่สามารถแสดงผล ได้แบบปกติ -c แสดงผลแบบหลายคอลัมน์ -d แสดงแค่ชื่อไดเรกเทอรี่โดยไม่แสดงชื่อ ไฟล์ที่อยู่ข้างใน
คำสั่ง ls (ต่อ) -f บังคับให้มีเครื่องหมาย “/” อยู่หลังชื่อไดเรกเทอรี่ และเครื่องหมาย “*” อยู่หลังชื่อไฟล์ที่รันได้ -l แสดงผลแบบยาว ตัวอย่าง % ls % ls -l % ls -la % ls -f
คำสั่ง cd (Change directory) • เป็นคำสั่งที่ย้าย ไปยัง directory อื่นที่ต้องการ • รูปแบบ cd directory_name • ตัวอย่าง cd /usr2/home/seree cd ../seree cd cd ..
คำสั่ง cp • เป็นคำสั่งสำเนาไฟล์ข้อมูลไฟล์เดียวหรือหลายไฟล์ เหมือนกับคำสั่ง COPY ที่ใช้กันอยู่บน DOS รูปแบบ cp [option] [source_filename] dest_filename -i จะมีการแจ้งเตือนและทำการถามเมื่อชื่อไฟล์ ปลายทางนั้นมีอยู่แล้ว -p บังคับให้ทำการคัดลอกคุณสมบัติทุกอย่างจาก ไฟล์ต้นฉบับ -r ถ้าหากว่าไฟล์ที่ต้องการนั้นเป็นไดเรกเทอรี่ ทาง เลือกนี้จะทำการคัดลอกทุก ๆ ไฟล์ในไดเรกเทอรี ไปยังที่ ๆ ต้องการ
คำสั่ง cp (ต่อ) ตัวอย่าง 1. สำเนาไฟล์ % cp letter letter.sav 2. สำเนาไฟล์ที่มีส่วนขยายเป็น c ไปไว้ใน directory ชื่อ archives % cp *.c archives 3. สำเนาไฟล์ชื่อ memoจาก directory ชื่อ /home/seree ไปยัง directory ปัจจุบัน % cp /home/seree/memo . 4.สำเนาไฟล์ชื่อ memo และ letter ไปยัง directory ชื่อ /home/jenny % cp memo letter /home/jenney
คำสั่ง mkdir • ใช้สำหรับสร้าง directory • รูปแบบ mkdir directory_name directory_name … • ตัวอย่าง % mkdir tutor
คำสั่ง rmdir • ใช้สำหรับลบ directory โดย directory ที่จะจะลบต้องเป็น directory ว่าง ถ้ามีแฟ้มอยู่จะต้องลบแฟ้มออกก่อน • รูปแบบ rmdir directory_name directory_name … • ตัวอย่าง % rmdir xyz
คำสั่ง rm • ใช้สำหรับลบแฟ้มข้อมูล สามารถดำเนินการพร้อมกันได้หลายแฟ้ม รูปแบบ : rm [-i] filename [filename] ... ตัวอย่าง % rm data.txt % rm -i report.txtt
คำสั่ง mv • ใช้สำหรับย้ายแฟ้มข้อมูล สามารถดำเนินการพร้อมกันได้หลายแฟ้ม รูปแบบ : mv filename filename mv filename [filename…] directory ตัวอย่าง % mv data.txt demo.txt % mv report.txt units
คำสั่ง w คำสั่ง“w”ใช้ในการตรวจสอบว่าในขณะนี้มีใครกำลังทำ อะไร อยู่ในระบบเดียวกันกับเราบ้าง รูปแบบ : w[ทางเลือก] [user-account] ตัวอย่าง : bucc% w 10:30 am up 6 days, 16:45, 3 users, load average 1.30 1.31 2.00 User tty login@ idle JCPU PCPU what u3510011 pts/11 6:22am 1 7:35 26 w
คำสั่ง who • เป็นคำสั่งที่ใช้แสดงรายชื่อของผู้ใช้ ทีกำลังใช้งานอยู่ในขณะนั้น • รูปแบบ who [am I] • ตัวอย่าง % who jenny tty01 Jul 25 11:01 alex tty11 Jul 25 18:11
คำสั่ง finger คำสั่ง “finger” ใช้ในการตรวจดูว่า มีใครกำลังใช้งาน อยู่ ในระบบที่เราต้องการตรวจสอบ รูปแบบ : finger [user-account] [@hostname...] ตัวอย่าง : 1. ใช้ในการตรวจดูผู้ใช้ในระบบ %finger Login Name TTY Idle When Where u3420245 Nongluck Chutratane pts/18 Mon 08.24 CS2.au.ac.th u3710855 Suhaalaj Barua pts/39 1 Mon 09:23 CS1.au.ac.th
คำสั่ง finger (ต่อ) % finger @nontri.ku.ac.th [nontri.ku.ac.jp] User RealName What Idle TTYHost Console Location dahlan dehlan Phan pine 0:53 co wine hn HIRQakl Nishin -csh 1:13 p3 fizz (cxsf:0.0) kazuo KazuoSatou pino 0:33 p1 fizz (:0.0) mleno Tsutomu Mleno pine 0:29 p4 beer allbu:s.o)
คำสั่ง pwd ใช้ในการตรวจดูตำแหน่งไดเรกเทอรี่ปัจจุบัน รูปแบบ : pwd ตัวอย่าง % pwd
คำสั่ง cat • เป็นคำสั่งใช้แสดง content ของไฟล์ ทั้งหมดโดยไม่มีการหยุดให้ดู • รูปแบบ cat [options] [file-list] ตัวอย่าง % cat list.txt % cat -n list.txt
คำสั่ง more • เป็นคำสั่งใช้แสดง content ของไฟล์ ทั้งหมดทีละจอภาพ ถ้าต้องการแสดงหน้าถัดไปทีละหน้าจอภาพ ต้องกด แป้น space bar ถ้าต้องการแสดงผลครั้งละบรรทัดต้องกดแป้น enter • รูปแบบ more filename [filename …] ตัวอย่าง % more list.txt
Permission • สิทธิการใช้งานไฟล์หรือ directory ในระบบยูนิกซ์ มีดังนี้ - Read Permission สิทธิในการอ่าน แทนด้วยอักษรr - Write Permission สิทธิในการเขียนอ่าน แทนด้วยอักษรw - Execute Permission สิทธิในการ run แทนด้วยอักษรx • ผู้ใช้สามารถดู Permission ของไฟล์หรือ directory ได้โดยการใช้คำสั่ง ls -l
สรุปการเปรียบเทียบคำสั่งบนระบบปฏิบัติการ DOS และ Unix ความหมายของคำสั่ง บน DOS บน Unix ลบแฟ้มข้อมูล del rm เปลี่ยนชื่อแฟ้มข้อมูล ren mv แสดงรายชื่อแฟ้มข้อมูล dir Is เปลี่ยน directory cd cd สร้าง directory md mkdir คัดลอกแฟ้มข้อมูล copy cp เปลี่ยนรหัสผ่าน - passwd
คำสั่งที่ใช้ในการติดต่อสื่อสารคำสั่งที่ใช้ในการติดต่อสื่อสาร คำสั่ง write ใช้ในการเขียนข้อความส่งไปยังคนที่ต้องการ ที่อยู่ในHost เดียวกันคำสั่ง นี้ไม่สามารถส่งข้อความไปยัง ผู้ใช้ที่อยู่ในระบบ อื่นๆ ได้ รูปแบบ write [destination-user] ตัวอย่าง % write u3615022 Hello khun toy? How are you going? กด Ctrl - d
คำสั่ง wall(write all) • เป็นคำสั่งที่ส่งข้อความไปแสดงบนหน้าจอภาพของผู้ใช้ทุกคนที่กำลัง login อยู่ ใช้งานได้บน host เดียวกัน • รูปแบบ wall
คำสั่ง mail • เป็นคำสั่งใช้สำหรับส่งจดหมายอีเล็กทรอนิก • รูปแบบ mailx username@hostname • ตัวอย่าง % mailx seree@bucc.buu.ac.th subject : <---------พิมพ์หัวเรื่อง พิมพ์รายละเอียดของจดหมาย พิมพ์ . (จุด)
คำสั่ง talk • เป็นคำสั่งที่ใช้ในการติดต่อสื่อสารกับผู้ที่ login อยู่ สามารถใช้บน host เดียวกันหรือต่าง host กันได้ • รูปแบบ talk username@hostname ผู้ส่ง : talk username@hostname usernameคือชื่อผู้รับที่กำลัง login hostname คือชื่อเครื่องที่ผู้รับใช้งาน
คำสั่ง talk(ต่อ) ผู้รับ : talk username@hostname ผู้รับจะต้องตอบผู้ส่งเมื่อมี messageปรากฏบนหน้าจอ ถ้าต้องการติดต่อสื่อสาร usernameคือชื่อผู้ส่ง hostname คือชื่อเครื่องที่ผู้ส่งใช้งาน • ถ้าต้องการเลิกการติดต่อสื่อสารให้กด ctrl - c
คำถาม ? E-mail:kantima@www.sci.buu.ac.th