วันพฤหัสบดีที่ 12 กุมภาพันธ์ พ.ศ. 2552

คำถามข้อสอบ ระบบเครือข่าย

1. ระบบเครือข่าย ATM เป็นระบบแบบใด
ก. ระบบไร้สาย
ข. ระบบเคลื่อนที่
ค. ระบบแบบสวิตซ์
ง. ระบบเปิด ปิด
เฉลย ข้อ ค. ระบบแบบสวิตซ์
2. 255.255.255.0 จำนวน HOST คือ
ก. 256 host
ข. 254 host
ค. 252 host
ง. 250 host
เฉลย ข้อ ข.254 host
3.ข้อใดเป็นวิธีการกำหนดให้มีการส่งและรับข้อมูลด้วยอัตราคงที่
ก. AAL1
ข. AAL2
ค. AAL3 / 4
ง. AAL5
เฉลย ข้อ ก. AAL1
4. HEC (Header Error Check) ทำหน้าที่อะไร
ก. สำรวจข้อมูล
ข. จัดเก็บข้อมูล
ค. ตรวจสอบข้อมูล
ง. จัดส่งข้อมูล
เฉลย ข้อ ค. ตรวจสอบข้อมูล
5.เครือข่ายอย่างง่ายที่สุดของ ATM ประกอบด้วยชิ้นส่วนเครือข่ายอะไรบ้าง
ก. ATM Switch
ข. ATM end point
ค. ถูกเฉพาะข้อ ก.
ง. ถูกทั้ง ก. และ ข.
เฉลย ข้อ ง. ถูกทั้ง ก. และ ข.
6. ข้อใดคือสิ่งที่สามารถใช้ในเครือข่าย ATM
ก. สายโคแอคเชียล
ข. สายไฟเบอร์ออปติค
ค. สายไขว้คู่
ง. ถูกทุกข้อ
เฉลย ข้อ ง. ถูกทุกข้อ
7.เครือข่าย ATM ใช้อะไรเป็นมาตรฐาน
ก. สัญญาณคลื่นวิทยุ
ข. คลื่นไฟฟ้า
ค. โปรโตคอล
ง. สัญญาณคลื่นแม่เหล็ก
เฉลย ข้อ ค. โปรโตคอล
8.การเชื่อมต่อแบบใด ถ้าแคเบิลอันหนึ่งอันใดมีปัญหาแล้ว จะทำให้ระบบมีปัญหาทั้งหมด
ก. BUS
ข. RING
ค. STAR
ง. BUS และ RING
เฉลย ข้อ ง.BUS และ RING
9. ข้อใดไม่ใช่คุณสมบัติที่ดีของโปรโตคอล ATM
ก. ไม่มีการกำหนดเส้นทางข้อมูลตายตัว (วงจรเสมือน)
ข. ไม่มีความผิดพลาดในการลิงค์กันระหว่างสถานี
ค. ไม่สามารถส่งข้อมูลด้วยอัตราเร็วสูงมากได้
ง. ใช้วงจรเสมือนทำให้การสวิตชิ่งมีความซับซ้อนน้อย และประหยัดซอฟต์แวร์ในการช่วยจัดเส้นทางข้อมูล
เฉลย ข้อ ค. ไม่สามารถส่งข้อมูลด้วยอัตราเร็วสูงมากได้
10.ข้อใดเป็นอุปกรณ์ศูนย์กลาง สำหรับเชี่อมต่อคอมพิวเตอร์
ก. HUB
ข. SWITCH
ค. ROUTER
ง. ถูกทั้ง ก.และ ข.
เฉลย ข้อ ง.ถูกทั้ง ก.และ ข.
ขอ้สอบWindows server 2003
1. ลักษณะเด่นของ Windows server 2003
ก. มีความปลอดภัยสูง
ข. บริการ Virtual Disk Service
ค. ในการช่วยให้การจัดเก็บและสำรองข้อมูล สามารถทำได้ง่ายดาย สะดวกขึ้น
ง. ถูกทุกข้อที่กล่าวมาเฉลยข้อ ง.ถูกทุกข้อที่กล่าวมา
2. คำว่า Windows หมายถึง
ก.ประตู
ข.หน้าต่าง
ค.บานเกล็ด
ง.เพดาน
เฉลยข้อ ข.หน้าต่าง
3. ข้อใดคือ ชื่อย่อเว็บเซิร์ฟเวอร์ของ Windows server 2003
ก. IIS
ข. SSI
ค. ISS
ง. ไม่มีข้อถูก
เฉลยข้อ ก. IIS
4. Windows Server 2003 x64 Editions คือ
ก. ทำงานร่วมกับโพรเซสเซอร์ x64
ข. การประมวลผลแบบ 64
ค. ข้อ ข.ถูก
ง. ถูกทั้งข้อ ก. และ ข้อ ข.
5. โปรแกมที่ใช้ ติดตั้งระบบปฏิบัติการเสมือนมีชื่อว่า จงเลือกคำตอบที่ถูกที่สุด
ก. VM WARE
ข. VM WARK
ค. VM Whare
ง ไม่มีข้อถูก
เฉลยข้อ ก.VM WARE
6.ถ้าเราติดตั้ง Windows server 2003 จากซีดีควรเลือกคำสั่งใดต่อไปนี้
ก. boot from CD drive
ข. boot from UHB drive
ค. ถูกทั้ง ก. และ ข.
ง. ไม่มีข้อถูก
เฉลยข้อ ก. boot from CD drive
7. RAM ควรมีขนาดเริ่มต้นเท่าใด สำหรับ Windows server 2003
ก. 124 mb
ข. 128 mb
ค. 254 mb
ง. 1 gb
เฉลยข้อ ข.128 mbเฉลยข้อ ง. ถูกทั้งข้อ ก. และ ข้อ ข.
8. Terminal Services มีประโยชน์อย่างไร
ก. เพื่อรันโปรแกม
ข. เพื่อรันแอพพลิเคชั่น
ค.รักษาความปลอดภัย
ง. ถูกทุกข้อ
เฉลยข้อข.เพื่อรันแอพพลิแคชั่น
9. Windows server 2003 รองรับการมีเซิร์ฟเวอร์ได้ ไม่เกินกี่เครื่อง
ก. 5 เครื่อง
ข. 6 เครื่อง
ค. 7 เครื่อง
ง. 8 เครือง
เฉลยข้อ ง. 8 เครือง
10. DFN ย่อมาจากอะไรต่อไปนี้
ก. Distributed File System
ข. Distribute File Systems
ค. Systems Distribute File
ง. ไม่มีข้อถูก
เฉลยข้อ ก. Distributed File System
IP ADDRESS
1.IPv4 มีกี่บิต
ก. 16 บิต
ข. 32 บิต
ค. 64 บิต
ง.128 บิต
เฉลย .ข32 บิต
2.หมายเลข netและ host ของ class c คืออะไร
ก.N.N.N.H
ข.N.N.H.H
ค.H.N.N.N
ง.N.H.H.H
เฉลย ก.N.N.N.H
3.IP Address คืออะไร
ก.หมายเลขประจำเครื่องคอมพิวเตอร์
ข.หมายเลขของระบบ LAN
ค.หมายเลขของระบบเครือข่ายคอมพิวเตอร์
ง.หมายเลข server
เฉลย ก.หมายเลขประจำเครื่องคอมพิวเตอร์
4.หมายเลข IP Address ของ class c เริ่มจากหมายเลขใด
ก. 191-223
ข. 191-333
ค. 192-223
ง. 192-240
เฉลย ค. 192-223
5.หมายเลข IP Address ของ class B เริ่มจากหมายเลขใด
ก.126-192
ข.126-193
ค.127-191
ง.128-191
เฉลย ง.128-191
6.หมายเลขประจำเครื่องคอมพิวเตอร์ ซึ่งประกอบด้วยตัวเลขกี่ชุด
ก. 2ชุด
ข. 3ชุด
ค. 4ชุด
ง. 5ชุด
เฉลย ค. 4ชุด
7.หมายเลข subnet mask ของ class A คือเท่าไร
ก.255.225.0.0
ข.255.255.0.0
ค.255.0.0.0
ง.255.255.255.0
เฉลย ค.255.0.0.0
8.หมายเลข netและ host ของ class A คืออะไร
ก.H.N.N.N
ข.N.N.N.H
ค.N.H.H.H
ง.N.N.H.H
เฉลย ข.N.N.N.H
9.หมายเลข subnet mask ของ class B คือเท่าไร
ก. 255.225.0.0
ข. 255.255.0.0
ค. 255.255.225.0
ง. 255.255.255.0
เฉลย ก. 255.225.0.0
10.หมายเลข subnet mask ของ class c คือเท่าไร
ก.255.0.0.0
ข.255.255.0.0
ค.255.255.255.0
ง.255.255.255.255
เฉลย ง.255.255.255.255

วันจันทร์ที่ 9 กุมภาพันธ์ พ.ศ. 2552

Ubuntu

อูบุนตู (Ubuntu)
เป็นลินุกซ์ดิสทริบิวชันที่พัฒนาต่อมาจากเดเบียน การพัฒนาสนับสนุนโดยบริษัท Canonical Ltd ซึ่งเป็นบริษัทของนายมาร์ก ชัทเทิลเวิร์ธ ชื่อของดิสทริบิวชันนั้นมาจากคำในภาษาซูลู และภาษาโคซา (ภาษาในแอฟริกาใต้) ว่า Ubuntu ซึ่งมีความหมายในภาษาอังกฤษคือ "humanity towards others"
อูบุนตูต่างจากเดเบียนตรงที่ออกรุ่นใหม่ทุก 6 เดือน และแต่ละรุ่นจะมีระยะเวลาในการสนับสนุนเป็นเวลา 18 เดือน รุ่นปัจจุบันของ Ubuntu คือ 8.10 รหัส Intrepid Ibex นั้น มูลนิธิ อูบุนตูได้ประกาศว่าจะขยายระยะเวลาสนับสนุนเป็น 3 ปี ซอฟต์แวร์ต่างๆ ที่รวมมาใน อูบุนตูนั้นเป็นซอฟต์แวร์เสรีทั้งหมด โดยจุดมุ่งหมายหลักของ อูบุนตูคือเป็นระบบปฏิบัติการสำหรับคนทั่วไป ที่มีโปรแกรมทันสมัย และมีเสถียรภาพในระดับที่ยอมรับได้
ความสามารถสำคัญ
1. นักพัฒนา Ubuntu จำนวนมากมาจากชุมชนเดเบียนและ GNOME โดยการออก Ubuntu รุ่นใหม่จะตรงกับรุ่นใหม่ของ GNOME อยู่เสมอ มีนักพัฒนาอีกหลายกลุ่มพยายามที่จะใช้ KDE กับ Ubuntu และทำให้เกิดโครงการ Kubuntu ขึ้น นอกจากนี้ยังมีโครงการ Xubuntu สำหรับ XFCE และตัว Shuttleworth เองยังประกาศโครงการ Gnubuntu ซึ่งใช้ซอฟต์แวร์เสรีทั้งหมด ตามอุดมคติของริชาร์ด สตอลแมน และโครงการ Edubuntu ซึ่งเป็นลีนุกซ์ที่ใช้ภายในโรงเรียนอีกด้วย
2. Ubuntu นั้นเน้นในเรื่องความง่ายในการใช้งานเป็นหลัก ใช้เครื่องมือ sudo สำหรับงานบริหารระบบ เช่นเดียวกับ Mac OS X
3. รองรับการทำงานกับทั้ง CPU ชนิด 32bit และชนิด 64bit
4. รูปแบบการติดตั้งแบบ Live CD ที่รันระบบปฏิบัติการจากแผ่นซีดี ให้ทดลองใช้ก่อนการติดตั้งจริง
5. ทุกโครงการของ Ubuntu นั้นไม่เสียค่าใช้จ่ายในการใช้งาน ผู้ใช้ทุกคนจากทุกประเทศสามารถขอรับซีดี Ubuntu ได้ฟรี (ทาง Ubuntu จะเป็นฝ่ายเสียค่าจัดส่งให้ทางไปรษณีย์) ใต้ชื่อโครงการ Ubuntu Shipit โครงการนี้ยังแบ่งย่อยเป็น Kubuntu Shipit, Xubuntu Shipit และ Edubuntu Shipit ด้วย
6. ส่วนติดต่อผู้ใช้หลังจากติดตั้งเสร็จจะเป็นสีน้ำตาลและส้ม ใช้ชื่อชุดตกแต่งนี้ว่า Human ซึ่งสามารถปรับเปลี่ยนได้
7. ใช้ระบบ APT และ Synaptic ในการจัดการโปรแกรมของระบบ
8. Linux TLE ซึ่งเป็น Linux พัฒนาโดยคนไทยตั้งแต่ version 8.0 ก็ใช้ Ubuntu เป็นฐานในการพัฒนา
รหัสรุ่น
โครงการ Ubuntu มีการออกรุ่นของระบบปฏิบัติการทุก 6 เดือน แต่ละรุ่นใช้เรียกโดยโค้ดเนม และเลขกำกับรุ่น ตามการพัฒนา
ซึ่งใช้ตามเลขปีคริสต์ศักราชและเดือนที่ออก เช่น การออกในเดือนตุลาคม ค.ศ. 2004 จะมีเลขรุ่นเป็น 4.10 ใช้เป็นหมายเลขรุ่นไปด้วย
เวอร์ชัน ชื่อเรียก รหัสการทดสอบ เปิดตัวเมื่อ ให้การสนับสนุนถึง ลักษณะสำคัญและสิ่งที่เปลี่ยนเปลง
4.10 Warty;Warthog
Sounder 20 ตุลาคม 2004[4]
เมษายน 2006[5]
ShipIt

5.04 Hoary Hedgehog
Array 8 เมษายน 2005[6]
31 ตุลาคม 2006[7]
ปรับปรุงระบบการจัดการ;ปรับปรุงระบบตรวจสอบ การใช้งานไดร์เวอร์readahead; grepmap; laptop suspend, hibernate and standby; dynamic frequency scaling;ฐานข้อมูลอุปกรณ์ที่รองรับ; Kickstart; ระบบการติดตั้งอุปกรณ์เชื่อมต่อภายนอก; UTF-8 by default; APT authentication

5.10 Breezy Badger
Colony 13 ตุลาคม 2005[8][9]
เมษายน 2007[10]
ปรับปรุงสัญลักษณะในการเริ่มระบบ; เพิ่มโปรแกรมการจัดการถอน/ติดตั้ง;ปรับปรุงการเลือกใช้ภาษา; รองรับการจัดการพื้นที่ในฮาร์ดดิส; Hewlett-Packardปรับปรุงการค้นหาเชื่อมต่อเครื่อมพิม์; OEMตรวจสอบการสนับสนุนแบบที่ติดตั้งภาใน; Launchpad integration

6.06 LTS Dapper Drake
Flight 1 มิถุนายน 2006[11][12]
มิถุนายน 2009 (desktops) Long Term Support (LTS) รองรับการได้รับการดูแลจากหน่วยงานระยะยาว. ระบบการเริ่มระบบภายในแผ่นซีดีในการติดตั้งใช้งานแบบชั่วคราว;ปรับรูปแบบการใช้งานบนซีดี; Usplashปรับปรุงการจัดการปิดระบบ; ปรับปรุงระบบการรับและเชื่อมต่อ ด้วย wired และ wireless; 'Humanlooks' เพิ่มระบบการดูแลด้วยบุคคลในการบันทึกข้อมูลอุปกรณ์ที่ได้รับการติดตั้ง Tango guidelines, based on Clearlooks and featuring orange colours instead of brown; LAMP installation option; installation to USB devices; GDebi graphical installer for package files [13]

มิถุนายน 2011 (servers)
6.10 Edgy Eft
Knot 26 ตุลาคม 2006[14][15]
เมษายน 2008
Ubuntu 'Human' theme heavily modified; Upstart; automated crash reports (Apport) ; Tomboy notetaking application; F-spot photo manager

7.04 Feisty Fawn
Herd 19 เมษายน 2007[16]
ตุลาคม 2008
Migration assistant; Kernel-based Virtual Machine support; easy codec and restricted drivers installation; Compiz desktop effects; Wi-Fi Protected Access ปรับปรุงการเข้ารหัส Wi-fi; PowerPC support dropped; Sudoku and chess games added; 'baobab' disk usage analyzer added; GNOME Control Center; Zeroconf for many devices
7.10 Gutsy Gibbon
Tribe 18 ตุลาคม 2007[17][18]
เมษายน 2009
Compiz Fusion by default;[19] AppArmor security framework;[20] fast desktop search;[21] fast user switching;[21] improvements in plug-in handling for Mozilla Firefox (Ubufox) ;[22] graphical configuration tool for X.org;[22] a revamped printing system with PDF printing by default;[22] Full NTFS support has been added by Canonical for better integration with Windows systems.
8.04 LTS Hardy Heron[23]
Alpha 24 เมษายน 2008[24]
เมษายน 2011 (desktops) Long Term Support (LTS) release;[25][26] Planned features include: Better Tango compliance;[27] robustness; compiz usability improvements; tracker integration;[28] Brasero disk burner, Transmission BitTorrent client and Vinagre VNC client by default[29]; PulseAudio by default[30]

เมษายน 2013 (servers)
8.10 Intrepid Ibex


การเปิดตัวทุกเวอร์ชันจะออกช้ากว่า GNOME ประมาณ 1 เดือน, และออกตามหลัง 1 เดือน เมื่อ X.org ออกเวอร์ชันใหม่. ดังนั้นทุกๆการเปิดตัวของ Ubuntu จะประกอบด้วยเวอร์ชันใหม่ของทั้งGNOME และ X
ตั้งแต่เวอร์ชัน6.06 จนถึง 8.04จะมีการติดป้ายชื่อ Long Term Support (LTS) เป็นการบอกว่ามันจะได้รับการสนับสนุนและการปรับปรุงเป็นเวลา 3 ปีสำหรับเครื่องเดสท็อปและ5 ปี สำหรับเครื่องแม่ข่าย, ด้วยการจ่ายค่าสนับสนุนทางเทคนิคของบริษัท Canonical
ประวัติและลำดับการพัฒนา
Ubuntu เปิดตัวเป็นครั้งแรกเมื่อวันที่ 20 ตุลาคม ค.ศ. 2004 โดยเริ่มจากการแยกตัวชั่วคราวออกมาทำจากโครงการ Debian GNU/Linux เมื่อเสร็จสิ้นคราวนั้นแล้วก็ได้มีการออกตัวใหม่ๆทุก 6 เดือน และมีการอับเดตระบบอยู่เรื่อยๆ Ubuntu เวอร์ชันใหม่ๆที่ออกมาก็ได้ใส่ GNOME เวอร์ชันล่าสุดเข้าไปด้วย โดยแผนการเปิดตัวทุกครั้งจะออกหลังจาก GNOME ออกหนึ่งเดือน ซึ่งตรงข้ามกับทางฝั่งที่แยกออกมาจาก Debian อื่นๆ เช่นพวก MEPIS, Xandros, Linspire, Progeny และ Libranet ทั้งหมดล้วนมีกรรมสิทธิ์ และไม่เปิดเผยCode ซึ่งเป็นส่วนที่อยู่ในรูปแบบธุรกิจ Ubuntu เป็นตัวปิดฉากหลักการของ Debian และมีการใช้งานฟรีมากที่สุดในเวลานี้
โลโก้ของ Ubuntu ยังคงใช้รูปแบบเดิมตั้งแต่เปิดตัวครั้งแรก ซึ่งสร้างโดย แอนดี้ ฟิสสิมอน ฟอนต์ได้รับการแจกมาจาก Lesser General Public License แล้วก็ได้มาเป็นโลโก้Ubuntu
ส่วนประกอบต่างๆของUbuntu ส่วนใหญ่มีพื้นฐานมาจากความไม่แน่นอนของ Debian โดยทั้งสองใช้ Debian's deb package format และ APT/Synaptic เป็นตัวจัดการการติดตั้งส่วนประกอบต่างๆ
Ubuntu ร่วมมือกับ Debian ในการผลักดันให้เปลี่ยนกลับไปเป็น Debian ถึงแม้ว่าว่าได้มีการวิพากษ์วิจารณ์ว่าไม่น่าจะเป็นไปได้ ส่วนประกอบของทั้งสองไม่สามารถเข้ากันได้ ผู้พัฒนาUbuntuหลายๆคนว่ามีตัวจัดการรหัสของส่วนประกอบของDebianอยู่ภายในตัวมันเอง อย่างไรก็ตาม แลน เมอดั๊ก ผู้คิดค้น Debian ได้วิจารณ์ในเรื่องความเข้ากันไม่ได้ในหลายๆอย่าง ระหว่างส่วนประกอบของ Ubuntu กับ Debian กล่าวไว้ว่า Ubuntu แตกต่างเป็นอย่างมากจาก Debian ในเรื่องความเข้ากันได้
นั้นคือแผนการที่จะแตกแยกโดยมีชื่อเรือกว่า Grumpy Groundhog มันควรจะมั่นคงแน่นอนในการพัฒนาและทดสอบ ผลักดันให้ซอร์สโค๊ด ออกไปโดยตรงจาก การควบคุมการแก้ไข ของโปรแกรมต่างต่างๆ และโปรแกรมประยุกต์นั้นก็ได้โอนย้ายไปเป็นส่วนของ Ubuntu นั่นควรจะอนุญาตให้ เหล่าpower users และ upstream developers ในการทดสอบโปรแกรมส่วนบุคคล พวกเขาน่าจะได้ทำหน้าที่ ถ้าโปรแกรมได้ถูกกำหนดเป็นส่วนประกอบที่ได้ทำการแจกจ่ายแล้ว นอกจากนี้แล้วยังต้องการที่จะสร้างส่วนประกอบขึ้นมาด้วยตัวของพวกเขาเอง มันควรจะสามารถจัดเตรียมล่วงหน้า ก่อนคำเตือนของการสร้างที่ผิดพลาด บนโครงสร้างที่แตกต่างกัน ซึ่งเป็นการเตรียมการเอาไว้ของ กัมไปร์ กราวฮ๊อก ร่วมมือกับ Debian Unstable ทุกๆ 6 เดือน และกัมไปร์ กราวฮ๊อก ได้ทำให้เป็นซอฟแวร์แบบสาธารณะแล้ว
ปัจจุบัน Ubuntu ได้รับเงินทุนจาก บริษัท Canonical ในวันที่ 8 กรกฎาคม ค.ศ. 2005 นายมาร์ก ชัทเทิลเวิร์ธ และ บริษัทCanonical ประกาศสร้าง Ubuntu Foundation และเริ่มให้ทุนสนับสนุน 10 ล้านเหรียญสหรัฐ จุดมุ่งหมายของการริเริ่มที่แน่นอนว่าจะสนับสนุนและพัฒนา เวอร์ชันต่อๆไปข้างหน้าของ Ubuntu แต่ในปี ค.ศ. 2006 จุดมุ่งหมายก็ได้หยุดลง นาย มาร์ก ชัทเทิลเวิร์ธ กล่าวว่าจุดมุ่งหมายที่จะได้เงินทุนฉุกเฉินจากความสัมพันธ์กับบริษัทCanonical คงจบลง
การนำเอาซอฟแวร์ที่มีลิขสิทธิ์มาใช้
Ubuntu มีการรับรองระบบเพื่ออยู่ในสมาคม third party software Ubuntuได้รับรองการเป็นเจ้าของซอฟแวร์ที่ทำงานได้ใน Ubuntu อย่างไรก็ตามหลายโปรแกรมที่ผู้ใช้คุ้นเคยของระบบปฏิบัติการที่ไม่ฟรี เช่น Microsoft Windows นั้นเข้ากันไม่ได้และไม่ได้ถูกรับรองจาก Ubuntu แต่ซอฟแวร์ที่มีลิขสิทธิ์บางตัวนั้นไม่ได้กำหนดในเรื่องการแจกจ่ายก็ได้มีการรวมเข้าไปเป็นส่วนหนึ่งของ Ubuntu เช่นกัน ซอฟแวร์บางตัวที่ไม่ได้รวมอยู่ด้วยใน Ubuntu
1. ซอฟแวร์ที่เปิดการทำงาน region-locked และวิดีโอ DVDs, ทั้งสองน่าจะได้รับอนุญาตให้ใช้งาน จึงใช้ libraryถอดรหัส DVD ของ Libdvdcss ซึ่งเป็น open-source ซึ่งเป็นประโยชน์มากสำหรับ Ubuntu และ Medibuntu
2. ปลั๊กอินของเว็บเบราว์เซอร์บางตัวก็มีเจ้าของลิขสิทธิ์ อย่างเช่น Adobe's (formerly Macromedia's) Shockwave (ที่ไม่ใช่เวอร์ชันของLinux) และ Flash
ระบบที่ต้องการ
ในที่สุดเวอร์ชันที่ผ่านของ Ubuntu นั้นสนับสนุนสถาปัตยกรรม Intel x86 และ AMD64 ของเครื่องเดสท็อปที่มีออกมา และ สถาปัตยกรรม Intel x86, AMD64 และ SPARC ของเครื่องแม่ข่าย แต่ก็ยังไม่สนับสนุนสถาปัตยกรรมของ PowerPC (ในเวอร์ชัน7.04 นั้นก็ยังพอที่จะสนับสนุนสถาปัตยกรรมPowerPC ) , IA-64 (Itanium) และ เครื่องเล่นเกมส์ PlayStation 3 สำหรับเครื่องคอมพิวเตอร์รุ่นเก่าๆที่ไม่ได้อยู่ในระบบที่แนะนำก็ยังพอมี Xubuntu,ที่มีพื้นฐานมาจาก Xfce,ที่ต้องการ หน่วยความจำหลัก และพื้นที่ว่างเพียงครึ่งเดียวที่แนะนำ
Server Edition
เครื่องที่เก่ามากๆก็เป็นไปได้ที่จะลงระบบปฏิบัติการนี้ได้ (เช่น 75 MHz Pentium หน่วยความ จำหลัก 32 MB) , ระบบขั้นต่ำที่แนะนำที่ได้ประสิทธิภาพที่สุดดังนี้
1. ไมโครโปรเซสเซอร์ 300 MHz สถาปัตยกรรมx86
2. หน่วยความจำหลัก 64 MB
3.พื้นที่ Harddisk 500 MB
4. การ์ดแสดงผลได้ที่ความละเอียด 640×480 pixel
5. ไดร์ฟ CD-ROM
Desktop Edition
สำหรับรุ่นที่ใช้กับเครื่องเดสท็อปนั้นมีการแนะนำระบบขั้นต่ำที่ได้ประสิทธิภาพที่สุดดังนี้
1. ไมโครโปรเซสเซอร์ 500 MHz สถาปัตยกรรมx86
2. หน่วยความจำหลัก 192 MB
3. พื้นที่ Harddisk 8 GB (ในการติดตั้งจริงต้องการ 4 GB )
4. การ์ดแสดงผลได้ที่ความละเอียด 1024×768 pixel
5. การ์ดประมวลผลทางเสียง (ถ้ามี)
6. การ์ดเชื่อมต่อกับระบบเน็ตเวิร์ก

Windows server 2003

วินโดวส์เซิร์ฟเวอร์เป็นระบบปฏิบัติการแรกที่ออกมาหลังจากไมโครซอฟท์ประกาศแนวทาง Trustworthy Computing จึงเป็นผลให้เกิดการเปลี่ยนแปลงเรื่องความปลอดภัย โดยเน้นความปลอดภัยเป็นหลัก เช่นหลังจากการตั้งแต่ติดตั้งเสร็จนั้น ไม่มีส่วนประกอบเซิร์ฟเวอร์ที่เปิดการใช้งานเพื่อลดช่องทางโจมตีตั้งแต่แรก เริ่ม และได้มีการเปลี่ยนแปลงอย่างมากใน IIS 6.0 โดยเกือบเขียนขึ้นมาใหม่หมด เพื่อเพิ่มความปลอดภัยประสิทธิภาพการทำงาน
ในปีพ.ศ. 2548 ไมโครซอฟท์ได้ประกาศ วินโดวส์เซิร์ฟเวอร์ "ลองฮอร์น" ซึ่งจะเป็นรุ่นต่อจากวินโดวส์ เซิร์ฟเวอร์ 2003 โดยมีกำหนดการที่จะออกครึ่งปีแรกใน พ.ศ. 2550
วินโดวส์เซิร์ฟเวอร์ได้แบ่งเป็นรุ่นดังนี้:
• Windows Small Business Server 2003
• Windows Server 2003 Web Edition
• Windows Server 2003 Standard Edition
• Windows Server 2003 Enterprise Edition
• Windows Server 2003 Datacenter Edition
• Windows Compute Cluster Server 2003

การติดตั้งระบบปฏิบัติการ Windows Server 2003

ปล. หากซ้ำกันขออภัยด้วยนะคับ เนื่องจากหาแล้วแต่ไม่เจอ คิดว่าน่าจะมีประโยชน์สำหรับผู้ที่เริ่มศึกษาเบื้องต้น

ก่อนอื่น ก็เข้าไปทำการลงทะเบียน เพื่อจะได้ลิงค์สำหรับดาวน์โหลดและ CD-Key ที่จะใช้ในการติดตั้งมาก่อน โดยสามารถหาได้จาก https://microsoft.order-5.com/windowsserver2003evaldl/ เลือกที่ Microsoft Windows Server 2003, Enterprise Edition (32-bit)

โดยให้เข้าไปทำการลงทะเบียน กรอกรายละเอียดต่าง ๆ และอีเมล์ที่ใช้งานได้ เพื่อรอรับลิงค์สำหรับการดาวน์โหลด และจะมี CD-Key ที่ใช้ในการติดตั้งให้มาในนั้นด้วย รอสักครู่ก็จะได้รับเมล์กลับมาครับ

หลัง จากที่ดาวน์โหลดมาเรียบร้อยแล้ว ซึ่งจะได้ไฟล์ x09-22207.iso ซึ่งเป็นไฟล์ Image ของซีดี ที่สามารถนำไปเขียนลงแผ่นซีดี (หมายความว่าคุณจะต้องมีเครื่องเขียนแผ่นซีดีด้วย) หรือถ้าหากใครไม่มี CD Writer แต่อยากทดลองใช้ จะเปิดด้วยโปรแกรม WinISO หรือ Deamon Tools ก็ได้ โดยที่ไฟล์ในแผ่นนั้น ก็คือแผ่นซีดีสำหรับติดตั้ง คล้าย ๆ กับ Windows XP ทุกอย่างครับ ต่อไปก็เพียงแค่ทำการติดตั้ง Windows Server 2003 ลงไป โดยขั้นตอนเหมือนกับ การติดตั้ง Windows XP ทุกประการ ใช้ CD-Key ที่ได้รับมาจากอีเมล์นั่นแหละครับ ทำการติดตั้งไปให้เรียบร้อยก่อน

หน้าตาของการติดตั้ง Windows Server 2003 ครับ คล้าย ๆ กับการติดตั้ง Windows XP ทุกอย่าง



หลังจากที่ติดตั้งเรียบร้อย และบูตเครื่องมาใหม่ จะพบกับหน้าแรกของการ Logon ใช้งาน Windows ครับ

กด Ctrl + Alt + Del พร้อม ๆ กันเพื่อเข้าหน้าจอของการใส่ username และ password ครับ ใส่ระหัสผ่านที่กำหนดไว้ ในขั้นตอนการติดตั้งลงไป หรือถ้าไม่ได้กำหนดรหัสผ่าน ก็กด OK ได้เลย


ครั้งแรกที่เข้า Windows จะมาที่หน้าจอของการตั้งค่า Server ครับ กดปิดไปได้เลย หรือถ้าไม่ต้องการให้มีการแสดงหน้าจอนี้ ก็เลือกที่ปุ่มด้านล่างซ้ายมือได้

เมื่อเข้ามาหน้าจอของ Windows ครั้งแรก ก็จะคล้าย ๆ กับ Windows XP คือจะมีไอคอนของ Recycle Bin อันเดียว ลองมาทำการกำหนด ค่าการแสดงผลของหน้าจอ Desktop กันก่อน โดยกดเมาส์ขวาที่หน้าจอ เลือกที่ properties เพื่อปรับเปลี่ยนการแสดงผลครับ

เลือก Desktop Background เป็น Windows Server 2003 และที่ปุ่ม Customize Desktop ก็เลือกให้แสดง My Document, My Network Places, My Computer และ Internet Explorer ครับ

เอาหละครับ ได้แล้ว หน้าตาของ Windows Server 2003 ครับ สวยงามไม่น้อยทีเดียว

ก่อนอื่น มาลองสำรวจหน้าตาของเมนูต่าง ๆ กันก่อน ส่วนมากจะคล้ายกับ Windows XP มาก แต่พอทำการ Shutdown ก็จะพบกับหน้าต่างที่ ดูแปลกออกไป คือ ทุกครั้งก่อนที่จะทำการ Shutdown จะต้องบอกสาเหตุด้วยเสมอครับ จึงจะทำการ Shutdown ได้

ตอนนี้ก็เสร็จในส่วนของการติดตั้งปกติแล้วครับ ต่อไปก็เป็นการปรับแต่งค่าต่าง ๆ เพื่อให้ Windows 2003 น่าใช้งานมากขึ้นอีกหน่อย

การปรับแต่ง Windows Server 2003 ให้ใช้งานได้คล่องตัวมากขึ้น

เอา หละครับ ต่อไปเป็นเทคนิคการปรับแต่งระบบ Windows Server 2003 ให้สามารถทำงานได้คล่องตัวมากยิ่งขึ้น อย่างที่ได้บอกไว้แล้ว ว่าระบบปฏิบัติการตัวนี้ เน้นการทำงานในรูปแบบของ Server มากกว่าที่จะเป็น Desktop ธรรมดาทั่วไป ดังนั้น หากต้องการให้เครื่องสามารถ ดูหนังฟังเพลง หรือเล่นเกมส์ได้เต็มที่ ก็ต้องมีการปรับแต่งกันนิดหน่อยก่อนครับ

การปรับแต่งระบบการแสดงผลของการ์ดจอ

โดย กดเมาส์ขวาที่หน้าจอ เลือก properties และ Setting >> Advanced >> Troubleshoot ปรับค่าของ Hardware acceleeator ให้อยู่ในตำแหน่งขวามือสุดหรือ Full ครับ แล้วกดที่ OK จนกลับไปหน้าจอ Desktop



จากนั้น ที่เมนู Start Menu ตรงช่อง Run พิมพ์คำว่า dxdiag และกด Enter และเลือกที่ป้าย Display จะเห็นว่า DirectDraw Acceleration จะเป็น Disable อยู่ ก็ทำการกดที่ปุ่ม Enable ให้เรียบร้อยซะก่อน เสร็จแล้วกดที่ปุ่ม Exit ครับ

การปรับแต่ง Performance ของระบบ

ต่อไป ก็ทำการปรับแต่ง Performance ของระบบ โดยกดเมาส์ขวาที่ไอคอน My Computer บนหน้าจอ เลือกที่ properties เลือกที่ Advance >> Performance Setting >> Advanced เปลี่ยนที่ช่อง Adjust for best processor of และ Adjust for best performance of ให้เป็นที่ Programs แทน Background service ครับ แล้วกดที่ OK

การปรับแต่งและเปิดการใช้งาน Service ต่าง ๆ

ต่อมา เป็นการเปิดใช้งานระบบ Themes โดยเข้าที่ Control Panel >> Administrative Tools >> Service >> Themes ดับเบิลคลิกเข้าไปที่ Themes และเปลี่ยนช่อง Startup Type ให้เป็น Automatic แล้วกด OK ครับ


ที่จุดเดียวกันนี้ ก็ต้องทำการเปิด Service ของระบบเสียงด้วย โดยเลือกช่อง Service ของ Windows Audio และดับเบิลคลิกเข้าไป ทำการเปลี่ยน Startup Type ให้เป็น Automatic ด้วยและกด OK

การปรับแต่งการใช้งานการ์ดเสียงให้มีประสิทธิภาพเต็มที่

ต่อ ไปก็ทำการปรับแต่งระบบเสียง โดยเข้าไปที่ Control Panel >> Sound and Audio Device ที่ด้านล่างใต้ช่อง Speaker Setting กดที่ปุ่ม Advanced เลือกที่ Performance และเปลี่ยนช่อง Hardware accelerator ให้ไปทางขวามือสุดครับแล้วกด OK

การปรับแต่งระบบความปลอดภัยของ Internet Explorer

เนื่องจาก IE6.0 ที่มีติดมากับ Windows Server 2003 จะมีการตั้งค่าของระบบความปลอดภัยไว้สูงสุด ซึ่งถ้าหากนำมาใช้เล่นเน็ต จะพบปัญหาต่าง ๆ ค่อนข้างมาก โดยเฉพาะการเข้าเว็บไซต์ที่มีการใช้งาน cookies เช่น hotmail ดังนั้น ต้องทำการปรับ ระดับความปลอดภัยของ IE ลงมาให้น้องกว่าปกติสักระดับหนึ่ง โดยเปิด IE ขึ้นมา เลือกที่เมนู Tools >> Internet Options >> Security และเลื่อนแถบ Security Level ให้เป็น Medium ครับ



การปรับแต่ง เพื่อให้เข้า Windows ได้ทันทีโดยไม่ต้อง Logon ให้เสียเวลา

ทุก ครั้งที่เปิดเครื่อง จะต้องทำการกด CTRL+ ALT+DEL ก่อนเสมอ และใส่ username กับ password จึงจะสามารถ Logon เข้าใช้งาน Windows 2003 ได้ หากต้องการให้เปิดเครื่องคอมพิวเตอร์แล้ว สามารถเข้าใช้งาน Windows ได้ทันทีโดยไม่ต้องทำการ Logon ก็สามารถทำได้ดังนี้

เริ่มต้นจาก เอาหน้าจอการ Logon ออก โดยเข้าที่ Control Panel >> Administrative Tools >> Local Security Policy ทางขวามือเลือก Interactive Logon: Do not require CTRL + ALT + DEL ดับเบิลคลิกและเปลี่ยนเป็น Enable แล้วกด OK ครับ


จากนั้น ปรับแต่งให้ระบบทำการ Logon เข้า Windows ทันที โดยไม่ต้องใส่ Password เริ่มต้นจาก ที่ Start Menu >> Run พิมพ์คำว่า rundll32 netplwiz.dll,UsersRunDll (ระวังเรื่องการเว้นวรรคให้ดีนะครับ) และกด Enter จากนั้น เอาเครื่องหมายถูกหน้าช่อง Users must enter a user name and password to use this computer ออกไปและกดที่ปุ่ม Apply ด้านล่าง

จะได้หน้าต่างของการใส่ Password ของ Administrator ให้ใส่ Password ของ Admin ที่ตั้งไว้ลงไป และกดปุ่ม OK ครับ


ทดลอง Restart เครื่องใหม่ ถ้าทำถูกต้อง ก็จะเข้ามาหน้าจอของ Windows ได้เลยโดยไม่ต้องใส่ password ครับ

การปรับแต่งหน้าต่างการ Shutdown ให้เป็นแบบปกติเหมือน Windows ตัวอื่น ๆ

บาง ที การที่จะต้อง Shutdown แล้วต้องคอยใส่สาเหตุของการ Shutdown ทุกครั้งที่น่าเบื่อเหมือนกัน คราวนี้มาดูขั้นตอนการ เปลี่ยนหน้าตาของเมนูการ Shutdown ให้เป็นแบบ Windows รุ่นเก่า ๆ ดีกว่า เริ่มต้นจากที่ Start >> Run พิมพ์คำว่า MMC และกด Enter จากนั้น ที่เมนู File เลือก Add/Remove Snap-in... กดที่ปุ่ม Add >> Group Policy Object Editor กดที่ปุ่ม Add ตามตัวอย่างภาพด้านล่างนี้

เมื่อกด Add แล้วจะมีช่อง Local Computer ก็กดที่ปุ่ม Finish และ Close และ OK จากนั้น ก็กลับมาเลือกที่ Local Computer Policy ทางซ้ายมือ เลือกที่ Computer Configuration >> Administrative Templates >> เลือกที่โฟลเดอร์ System และเลือกดับเบิลคลิกที่ Display Shutdown Event Tracker ทางขวามือจะได้ตามภาพด้านล่าง

เลือก Disabled และกดปุ่ม OK จากนั้นก็ออกจากหน้าต่างนี้ได้เลย จากนั้น ก็ทดลองทำการ Shutdown ดูครับ จะได้หน้าจอที่เปลี่ยนแปลง ไปแล้ว และไม่ต้องใส่สาเหตุของการ Shutdown อีกต่อไป

การปรับแต่งระบบ ให้ทำงานเร็วขึ้นในส่วนอื่น ๆ

ทำการปิดส่วน ของ Error Report โดยเข้าที่ Control Panel >> System >> Advanced >> Error Reporting เลือกให้เป็น Disable error reporting แล้วกด OK


ทำการปิดส่วนของ Automatic Update โดยเข้าที่ช่อง Automatic Update และเอาเครื่องหมายถูกอกไปตามภาพด้านล่าง

ปิดระบบ Remote Control โดยเอาเครื่องหมายถูกออกไป ตามภาพด้านล่างนี้ เสร็จแล้วกด OK ครับ

เรียบร้อยครับ ก็ทดลองใช้งานกันดูเอง บางคนอาจจะชอบ บางคนอาจจะไม่ชอบก็ได้ ไม่ว่ากันอยู่แล้วครับ ผมก็ขอจบการแนะนำ Windows Server 2003 ไว้แค่นี้ครับ

ข้อมูลเพิ่มเติม สำหรับผู้ที่คิดจะใช้งาน Windows Server 2003

1. ต้องเข้าใจก่อนว่า Windows 2003 ชื่อก็บอกว่าเป็น Server ครับ อาจจะไม่เหมาะกับการใฃ้งานทั่วไปนัก
2. ข้อดีของ Windows 2003 คือความสเถียรที่มีค่อนข้างมาก แทบจะไม่ต้องบูตเครื่องใหม่ ระหว่างการใช้งานเลย
3. หลายคนบอกว่า Windows 2003 ไม่เหมาะกับการเล่นเกมส์ แต่ผลการทดสอบ 3DMark ได้คะแนนเท่ากับ Windows XP
4. Driver ส่วนมากจะใช้ driver ของ 2K/XP ได้เลย เท่าที่ทดลอง จะมีอุปกรณ์บางชิ้นเท่านั้น ที่ต้องใช้ driver ของ 2003
5. โปรแกรมป้องกันไวรัสที่ใช้ได้คือ Norton Antivirus Corporation Edition ส่วน McAfee, PC-Cillin ปกติใช้ไม่ได้
6. ไฟล์ที่ดาวน์โหลดจาก microsoft จะเป็นรุ่นทดลองใช้งาน เท่าที่ทราบยังไม่มีวิธีการทำให้ใช้งานได้ตลอดไปครับ
7. ข้อมูลเพิ่มเติมจากข้อ 6. สำหรับคนที่คิดจะแคร็ก LH-Net-XP-Crack ใช้ไม่ได้และ Reset 5.02 ก็ไม่ได้ผลนะครับ
ข้อมูลจากhttp://www.thaiadmin.org/board/index.php?topic=41725.0

เครือข่ายคอมพิวเตอร์

เครือข่ายคอมพิวเตอร์
เครือข่ายคอมพิวเตอร์ประกอบด้วยเครื่องคอมพิวเตอร์หลายเครื่องมาเชื่อมต่อกันเพื่อวัตถุประสงค์คือ
เพื่อให้ผู้ใช้สามารถติดต่อสื่อสารกัน
เพื่อให้ใช้ทรัพยากรร่วมกัน
เพื่อใช้ข้อมูลหรือแลกเปลี่ยนข้อมูลซึ่งกันและกัน
ประเภทของระบบเครือข่าย
โดยแบ่งตามลักษณะการติดตั้งทางภูมิศาสตร์ แบ่งได้เป็น
1. เครือข่ายท้องถิ่น (Local Area Network : Lan)
เป็นเครือข่ายระยะใกล้ ใช้บริเวณเฉพาะที่เช่น ภายในอาคารเดียวกัน หรือภายในบิรเวณเดียวกัน ระบบแลนจะช่วยให้มีการติดต่อกันได้สะดวก ช่วยลดต้นทุน ช่วยเพิ่มประสิทธิภาพในการใช้งานอุปกรณ์ฮาร์ดแวร์ร่วมกัน และใช้ข้อมูลร่วมกันได้อย่างคุ้มค่า
2. เครือข่ายระดับเมือง (Metropolitan Area Network : Man)
เป็นเครือข่ายขนาดกลางใช้ภายในเมืองหรือจังหวัด ตัวอย่างเช่น เคเบิลทีวี
3. เครือข่ายระดับประเทศ (Wide Area Network : Wan)
เป็นเครือข่ายขนาดใหญ่ ติดตั้งใช้งานบริเวณกว้างมีสถานีหรือจุดเชื่อมมากมาย และใช้สื่อกลางหลายชนิด เช่น ไมโครเวฟ ดาวเทียม
4. เครือข่ายระหว่างประเทศ (International Network)
เป็นเครือข่ายที่ใช้ติดต่อระหว่างประเทศ โดยใช้สายเคเบิล หรือดาวเทียม

รูปแบบการเชื่อมต่อเครือข่ายการเชื่อมต่อเครือข่ายมีอยู่ด้วยกันหลายลักษณะ แต่ลักษณะที่นิยมใช้นั้นมีอยู่ด้วยกัน 4 ลักษณะ ได้แก่ แบบดาว (StarNetwork) นั้นจะเป็นลักษณะของการต่อเครือข่ายที่ Work station แต่ละตัวต่อรวมเข้าสู่ศูนย์กลางสวิตซ์ เพื่อสลับตำแหน่งของเส้นทางของข้อมูลใด ๆ ในระบบ ดังนั้นใน โทโปโลยี แบบดาว คอมพิวเตอร์จะติดต่อกันได้ใน 1 ครั้ง ต่อ 1 คู่สถานีเท่านั้น เมื่อสถานีใดต้องการส่งข้องมูลมันจะส่งข้อมูลไปยังศูนย์กลางสวิทซ์ก่อน เพื่อบอกให้ศูนย์กลาง สวิตซ์มันสลับตำแหน่งของคู่สถานีไปยังสถานีที่ต้องการติดต่อด้วย ดังนั้นข้อมูลจึงไม่เกิดการชนกันเอง ทำให้การสื่อสารได้รวดเร็วเมื่อสถานีใดสถานีหนึ่งเสีย ทั้งระบบจึงยังคงใช้งานได้ ในการค้นหาข้อบกพร่องจุดเสียต่างๆ จึงหาได้ง่ายตามไปด้วย แต่ก็มีข้อเสียที่ว่าต้องใช้งบประมาณสูงในการติดตั้งครั้งแรก
ลักษณะการเชื่อมต่อจะเป็นดังรูป
ข้อดี
ติดตั้งและดูแลง่าย
แม้ว่าสายที่เชื่อมต่อไปยังบางโหลดจะขาด โหลดที่เหลืออยู่ก็ยังจะสามารถทำงานได้ ทำให้ระบบเน็ตเวิร์กยังคงสามารถทำงานได้เป็นปกติ
การมี Central node อยู่ตรงกลางเป็นตัวเชื่อมระบบ ถ้าระบบเกิดทำงานบกพร่องเสียหาย ทำให้เรารู้ได้ทันทีว่าจะไปแก้ปัญหาที่ใด
ข้อเสีย
เสียค่าใช้จ่ายมาก ทั้งในด้านของเครื่องที่จะใช้เป็น central node และค่าใช้จ่ายในการติดตั้งสายเคเบิลในสถานีงาน
การขยายระบบให้ใหญ่ขึ้นทำได้ยาก เพราะการขยายแต่ละครั้งจะต้องเกี่ยวเนื่องกับโหลดอื่นๆ ทั้งระบบ
เครื่องคอมพิวเตอร์ศูนย์กลางมีราคาแพง แบบ วงแหวน (Ring Network)

ได้ถูกออกแบบให้ใช้ Media Access Units (MAU) ต่อรวมกันแบบเรียงลำดับเป็นวงแหวน แล้วจึงต่อ คอมพิวเตอร์ (PC) ที่เป็น Workstation หรือ Server เข้ากับ MAU ใน MAU 1 ตัวจะสามารถต่อออกไปได้ถึง 8 สถานี เมื่อสถานีถัดไปนั้นรับรู้ว่าต้องรับข้อมูล แล้วมันจึงส่งข้อมูลกลับ เป็นการตอบรับ เมื่อสถานีที่จะส่งข้อมูลได้รัยสัญญาณตอบรับ แล้วมันจึงส่งข้อมูลครั้งแรก แล้วมันจะลบข้อมูลออกจากระบบ เพื่อให้ได้ใช้ข้อมูลอื่นๆ ต่อไป ดังนั้นทุกสถานีบน โทโปโลยี วงแหวนจะได้ทำงานทั้งหมดซึ่งจะคอยเป็นผู้รับและผู้ส่งแล้วยังเป็นรีพีทเตอร์ในตัวอีกด้วย ข้อมูลที่ผ่านไปแต่ละสถานี นั้น ข้อมูลที่เป็นตำแหน่งที่อยู่ตรงกับ สถานีใด สถานีนั้นจะรับข้อมูลเก็บไว้ แต่มันจะไม่ลบข้อมูลออกจากระบบ มันยังคงส่งข้อมูลต่อไป ดังนั้นผู้ส่งข้อมูลครั้งแรกเท่านั้นที่จะเป็นผู้ลบข้อมูลออกจากระบบ ครั้นเมื่อสถานีส่ง TOKEN มาถามสถานีถัดไปแล้วแต่กลับไม่ได้รับคำตอบ สถานีส่ง TOKEN จะทวนซ้ำข้อมูลเป็นครั้งที่สอง ถ้ายังคงไม่ได้รับคำตอบ จึงส่งข้อมูลออกไปได้ เหตุการณ์ดังกล่าวนี้ เป็นอีกแนวทางหนึ่งในการแก้ปัญหาที่ไม่ให้ระบบหยุดชะงักการทำงานลงของระบบ เนื่องจากสถานีหนึ่งเกิดการเสียหาย หรือชำรุด ระบบจึงยังคงสามารถทำงานต่อไปได้
ข้อดี
ใช้เคเบิลและเนื้อที่ในการติดตั้งน้อย
คอมพิวเตอร์ทุกเครื่องในเน็ตเวิร์กมีโอกาสที่จะส่งข้อมูลได้อย่างทัดเทียมกัน
ข้อเสีย
หากโหลดใดโหลดหนึ่งเกิดปัญหาขึ้นจะค้นหาได้ยากว่าต้นเหตุอยู่ที่ไหน และวงแหวนจะขาดออก แบบบัส (BusNetwork) เป็นลักษณะของการนำเครื่องคอมพิวเตอร์มาเชื่อมต่อ เป็นระบบเครือข่าย ด้วยสายเคเบิลยาวต่อเนื่องกันไปเรื่อย ๆ โดยมีคอนเน็คเตอร์ในการเชื่อมต่อ โดยลักษณะของการส่งหรือรับข้อมูล จะเป็นการส่งข้อมูล ทีละเครื่องในช่วงเวลาหนึ่ง ๆ เท่านั้นจากนั้นเครื่องปลายทาง ก็จะส่งสัญญาณข้อมูลกลับมา และในการเชื่อมต่อในระบบ Bus นี้จะต้องมี T-Connector ที่เป็นตัวกลางในการเชื่อมต่อ และมี Terminator เป็นอุปกรณ์ปิดปลายสายสัญญาณ ของทั้งระบบ ซึ่ง Terminaltor จะคอยเป็นตัวดูดซับสัญญาณไม่ให้มีการไหลกับไป กวนกับระบบสัญญาณอื่นในสาย ซึ่งโดยทั่วไป จะมีค่าความต้านทานประมาณ 50 โอห์ม บางครั้งถ้าไม่มี Terminator เราสามารถให้ตัว R ทั่วไปที่ใช้ในอุปกรณ์อิเล็คทรอนิคส์ขนาด 50 โอห์มแทนได้เหมือนกัน
ข้อดี
ไม่ต้องเสียค่าใช้จ่ายในการวางสายเคเบิลมากนัก
สามารถขยายระบบได้ง่าย
เสียค่าใช้จ่ายน้อย
ข้อเสีย
อาจเกิดข้อผิดพลาดง่าย เนื่องจากทุกเครื่องคอมพิวเตอร์ต่อยู่บนสายสัญญาณเพียงเส้นเดียว ดังนั้นหากมีการขาดที่ตำแหน่งใดตำแหน่งหนึ่ง ก็จะทำให้เครื่องอื่นส่วนใหญ่หรือทั้งหมดในระบบไม่สามารถใช้งานได้ตามไปด้วย
การตรวจหาโหนดเสีย ทำได้ยากเนื่องจากขณะใดขณะหนึ่งจะมีคอมพิวเตอร์เพียงเครื่องเดียวเท่านั้นที่สามารถส่งข้อความออกมาบนสายสัญญาณ ดังนั้นถ้ามีเครื่องคอมพิวเตอร์จำนวนมากๆ อาจทำให้เกิดการคับคั่งของเน็ตเวิร์ก ซึ่งจะทำให้ระบบช้าลงได้

แบบผสม (Hybrid Network)
เป็นเครือข่ายคอมพิวเตอร์ที่ผสมผสานระหว่างรูปแบบต่างๆ หลายๆ แบบเข้าด้วยกัน คือจะมีเครือข่ายคอมพิวเตอร์ย่อย หลายๆ เครือข่ายเพื่อให้เกิดประสิทธิภาพสูงสุดในการทำงานเครือข่ายบริเวณกว้าง เครือข่ายแบบนี้จะเชื่อมต่อเครือข่ายเล็ก-ใหญ่หลากหลายเผ่า พันธ์
เข้าด้วยกันเป็นเครือข่ายเดียว ซึ่งเครือข่ายที่ถูกเชื่อมต่ออาจจะอยู่ห่างกันคนละจังหวัด หรือ อาจจะอยู่คนละประเทศก็เป็นได้

การเข้าถึงระยะไกล
คุณสมบัติเด่นอย่างหนึ่งของเครือข่ายแบบผสมก็คือ ผู้ใช้สามารถเชื่อม ต่อกับเครือข่ายจากระยะไกลเช่น อยู่ที่
บ้าน หรือ อยู่ภาคสนามได้ ในการ เชื่อมต่อก็จะได้คอมพิวเตอร์สั่งโมเด็มหมุนสัญญาณให้วิ่งผ่านสาย โทรศัพท์ไปเชื่อมต่อกับเครือข่ายหลังจากการเชื่อมต่อผู้ใช้สามารถเข้าไปเรียกใช้ข้อมูลได้เสมือนกับว่ากำลังใช้เครือข่ายที่บริษัท การบริหารเครือข่าย เนื่องจากเครือข่ายผสมเป็นการผสมผสานเครือข่ายหลายแบบเข้าด้วย กัน ซึ่งแต่ละเครือข่ายก็มีรายละเอียดทางเทคนิคแตกต่างกันไป ดังนั้น การบริหารเครือข่ายก็อาจจะยากกว่าเครือข่ายแบบอื่น ๆด้วยเหตุนี้ บริษัทที่มีเครือข่ายผสมขนาดใหญ่ของตัวเองก็มักจะตั้งแผนก ที่ทำหน้าที่ดูแลและบริหารเครือข่ายนี้โดยเฉพาะ ค่าใช้จ่าย
โดยปกติเครือข่ายแบบผสมจะมีราคาแพงกว่าเครือข่ายแบบต่างๆ เพราะ เครือข่ายแบบนี้เป็นเครือข่ายขนาดใหญ่ และมีความซับซ้อนสูง นอกจาก นี้ยังต้องมีการลงทุนเกี่ยวกับระบบรักษาความปลอดภัยมากกว่า เครือข่ายอื่นอีกด้วย เนื่องจากเป็นการเชื่อมต่อระยะไกล อุปกรณ์ที่ใช้การสื่อสารข้อมูลคอมพิวเตอร์
โมเด็ม (Modem)
ฮับ หรือ รีพีทเตอร์ (Hub, Repeater) เป็นอุปกรณ์ที่ทวน และขยายสัญญาณ เพื่อส่งต่อไปยังอุปกรณ์อื่น ให้ได้ระยะทางที่ยาวไกลขึ้น ไม่มีการเปลี่ยนแปลงข้อมูลก่อนและหลัง การรับ-ส่ง และไม่มีการใช้ซอฟท์แวร์ใดๆ มาเกี่ยวข้องกับอุปกรณ์ชนิดนี้ การติดตั้งจึงทำได้ง่าย ข้อเสียคือ ความเร็วในการส่งข้อมูล จะเฉลี่ยลดลงเท่ากันทุกเครื่อง เมื่อมีคอมพิวเตอร์มาเชื่อมต่อมากขึ้น
สวิทช์ หรือ บริดจ์ (Switch, Bridge) เป็นอุปกรณ์สำหรับเชื่อมต่อ เครือข่ายท้องถิ่น หรือ แลน (LAN) ประเภท
เดียวกัน ใช้โปรโตคอลเดียวกัน สองวงเข้าด้วยกัน เช่น ใช้เชื่อมต่อ อีเธอร์เน็ตแลน (Ethernet LAN) หรือ โทเคนริงก์แลน (Token Ring LAN) ทั้งนี้ สวิทช์ หรือ บริดจ์ จะมีความสามารถในการเชื่อมต่อ ฮาร์ดแวร์ และตรวจสอบข้อผิดพลาด ของการส่งข้อมูลได้ด้วย ความเร็วในการส่งข้อมูล ก็มิได้ลดลง และติดตั้งง่าย
เร้าเตอร์ (Router) เป็นอุปกรณ์ที่ทำงานคล้าย สวิทช์ แต่จะสามารถเชื่อมต่อ ระบบที่ใช้สื่อ หรือสายสัญญาณ
ต่างชนิด กันได้ เช่น เชื่อมต่อ อีเธอร์เน็ตแลน (Ethernet LAN) ที่ส่งข้อมูลแบบ ยูทีพี (UTP: Unshield Twisted Pair) เข้ากับ อีเธอร์เน็ตอีกเครือข่าย แต่ใช้สายแบบโคแอ็กเชียล (Coaxial cable) ได้ นอกจากนี้ยังช่วยเลือก หรือกำหนดเส้นทางที่จะส่งข้อมูลผ่าน และแปลงข้อมูลให้เหมาะสมกับการนำส่ง แน่นอนว่าการติดตั้งย่อมยุ่งยากมากขึ้น
เกทเวย์ (Gateway) เป็นอุปกรณ์ที่มีความสามารถสูงสุด ในการเชื่อมต่อเครือข่ายต่างๆ เข้าด้วยกัน โดยไม่มีขีดจำกัด ทั้งระหว่างเครือข่ายต่างระบบ หรือแม้กระทั่งโปรโตคอล จะแตกต่างกันออกไป เกทเวย์ จะแปลงโปรโตคอล ให้เหมาะสมกับอุปกรณ์ที่ต่างชนิดกัน จัดเป็นอุปกรณ์ที่มีราคาแพง และติดตั้งใช้งานยุ่งยาก เกตเวย์บางตัว จะรวมคุณสมบัติในการเป็น เร้าเตอร์ ด้วยในตัว หรือแม้กระทั่ง อาจรวมเอาฟังก์ชั่นการทำงาน ด้านการรักษาความปลอดภัย ที่เรียกว่า ไฟร์วอลล์ (Firewall) เข้าไว้ด้วย

Linux

อนาคตของลีนุกซ์
ลีนุกซ์นั้นมีนักพัฒนาโปรแกรมจากทั่วโลกช่วยกันทำให้การขยายตัวของลีนุกซ์เป็นไปอย่างรวดเร็วโดยในส่วนของแกนระบบปฏิบัติการ หรือเคอร์เนลนั้นจะมีการพัฒนาเป็นรุ่นที่ 2.2 (Linux Kernel 2.2) ซึ่งได้เพิ่มขีดความสามารถและสนับสนุนการทำงานแบบหลายตัวประมวลผลแบบ SMP (Symmetrical Multi Processors) ซึ่งทำให้ระบบลีนุกซ์สามารุนำไปใช้สำหรับทำงานเป็นเซิร์ฟเวอร์ขนาดใหญ่ได้ และยังมีโครงการสนับสนุนการใช้งานบรระบบลีนุกซ์อีกหลายโครงการ เช่น KDE (The K Desktop Environment) และ GNOME (GNU Network Object Model Environment) ซึ่งจะช่วยพัฒนา desktop บนลีนุกซ์ให้สมบูรณ์เทียบเท่ากับ Windows 98 ของไมโครซอฟท์ และบรรดาบริษัทผู้ผลิตซอฟท์แวร์ทางด้านระบบฐานข้อมูลชั้นนำ อย่างเช่น Informix, Oracle, IBM DB2 ก็เริ่มให้มีสนับสนุนการใช้งานบนระบบลีนุกซ์ แล้วเช่นเดียวกัน
เตรียมความพร้อมก่อนใช้ลีนุกซ์
ก่อนที่จะทำการติดตั้งก็ต้องเตรียมความพร้อมทางด้านอุปกรณ์ฮาร์ดแวร์และซอฟต์แวร์ให้เป็นที่เรียบร้อยก่อน ระบบลีนุกซ์ต้องการฮาร์ดแวร์ที่มีคุณสมบัต ิขั้นต่ำสุดดังต่อไปนี้
1. หน่วยประมวลผลกลางของ Intel 80386 ขึ้นไป
2. หน่วยประมวลผลทางคณิตศาสตร์ มีหรือไม่มีก็ได้ เพราะระบบปฏิบัติการ Red Hat Linux ได้มีการจำลอง หน่วยประมวลผลทางคณิตศาสตร์ไว้ในระดับของเคอร์เนล (Kernel) แล้ว
3. หน่วยความจำอย่างน้อย 8 เมกะไบต์ แต่แนะนำให้มีอย่างน้อย 16 เมกะไบต์จะทำให้ระบบมีประสิทธิภาพที่ดีกว่า
4. ฮาร์ดดิสก์อย่างน้อย 101 เมกะไบต์ สำหรับการติดตั้งแบบพื้นฐาน 266 เมกะไบต์ สำหรับการติดตั้งแบบทั่วไป และ 716 เมกะไบต์ สำหรับการติดตั้งแบบทั้งหมดตัวเลขที่ระบุทั้งหมดเฉพาะส่วนระบบปฏิบัติการ ถ้าต้องการใช้เป็น File Server หรือ Database Server จะ ต้องเผื่อเนื้อที่ไว้สำหรับใช้งานด้วย ส่วนแหล่งของโปรแกรมลีนุกซ์นั้นสามารถหาได้ฟรีตามเว็บไซท์ เช่น www.linux.org/dist/ftp.html
สิ่งที่ควรทราบก่อนการติดตั้ง
1. คุณสมบัติของฮาร์ดดิสก็ที่ต้องการติดตั้ง
 จำนวนของฮาร์ดดิสก็ที่ต้องการติดตั้ง
 ขนาดความจุของฮาร์ดดิสก์ที่จะใช้ในการติดตั้ง
 ประเภทการเชื่อมต่อของฮาร์ดดิสก์ที่จะใช้ในการติดตั้ง IDE, EIDE หรือ SCSI
 มีการใช้ประเภทการเชื่อมต่อของฮาร์ดดิสก์หลายๆ ประเภทในเครื่องเดียวกันหรือไม่
2. ขนาดของหน่วยความจำหลัก เพื่อที่จะคำนวณหาขนาดของ Linux Swap Partition
3. ประเภทการเชื่อมต่อของเครื่องอ่านซีดีรอม IDE (ATAPI), SCSI
4. รุ่นและยี่ห้อของแผงวงจรเชื่อมต่อ SCSI
5. รุ่นและยี่ห้อของแผงวงจรเชื่อมต่อเครือข่าย
6. จำนวนปุ่มกด และประเภทเชื่อมต่อของเมาส์
7. รุ่นและยี่ห้อของแผงวงจรเชื่อมต่อจอภาพ รุ่นและยี่ห้อของจอภาพ
8. รายละเอียดการกำหนดโปรโตคอล TCP/IP ของเครื่องที่ต้องการติดตั้ง
 IP Address
 Net Mask
 GateWay Address
 Name Server Address
 Domain Name
 Host Name

หน่วยที่ 11. ระบบปฏิบัติการ Linux
[แสดง image]
ปรับปรุง : 2548-02-08 ()
สาระการเรียนรู้
1. ประวัติความเป็นมา (History)
2. หลักการออกแบบ
3. ระบบแฟ้ม (File System)
4. คำสั่ง (Command)
5. การรักษาความปลอดภัย (Security)
6. ระบบเครื่องบริการ

จุดประสงค์การสอน
1. เข้าใจประวัติความเป็นมา (History)
2. เข้าใจหลักการออกแบบ
3. เข้าใจระบบแฟ้ม (File System)
4. สามารถใช้คำสั่งของ Linux ได้
5. เข้าใจการรักษาความปลอดภัย (Security)
6. เข้าใจระบบเครื่องบริการ
7. สามารถติดตั้ง และเปิดบริการต่าง ๆ ได้
________________________________________

บทนำ
คุณรู้สึกเบื่อความไร้ประสิทธิภาพของโอเอสที่คุณใช้อยู่บ้างไหม การทำมัลติทาสกิ้งแบบพิการ การอินเทอร์เฟสที่เลวร้ายกับอินเทอร์เนต (เดาได้ไหมว่าหมายถึงโอเอสของใคร) หากคุณเป็นนักแกะรื้อค้นระบบ ต้องการจะดึงพลังของฮาร์ดแวร์ที่มีอยู่ออกมาให้เต็มที่ คุณคงจะรู้อยู่แล้วว่าโอเอสที่ใช้ๆกันอยู่นั้นช่างไร้พลังเสียเหลือเกิน แถมยังต้องการทรัพยากรฮาร์ดแวร์มาก เรียกได้ว่าสวยแต่รูป จูบไม่หอม หากคุณเกิดอาการอย่างนี้ขึ้นมาล่ะก็ คุณคิดไม่ผิดแล้วล่ะครับที่อ่านบทความนี้ ผมกำลังจะแนะนำคุณสู่อาณาจักรแห่งการบุกเบิก การผจญภัยแห่งใหม่ สิ่งที่คุณคาดเดาไม่ได้กำลังรอคุณอยู่ (ไม่ใช่จูแมนจินะ) คำฝรั่งบอกว่าไม่มีอาหารกลางวันมื้อฟรี แปลเป็นไทยว่าไม่มีอะไรได้มาง่ายๆ ลีนุกซ์ก็เหมือนกันครับ ถึงแม้จะแจกจ่ายฟรี และมีแอพพลิเคชันที่ทรงประสิทธิภาพมาก แต่ก็ต้องแลกกับการที่คุณจะต้องใช้คำสั่งที่ค่อนข้างยุ่งยาก แล้วก็จำเป็นจะต้องอดทนกับการทดลองครั้งแล้วครั้งเล่าจนกว่าจะได้ผลงานที่พอ ใจ บางทีการติดตั้งลีนุกซ์ครั้งแรกของคุณอาจจะไม่ได้ทำครั้งเดียวเสร็จ เหมือนกับการติดตั้งโอเอสทั่วๆไป คุณจะต้องใช้ความพยายามมากขึ้น ถ้าคุณเห็นว่าอุปสรรคเล็กน้อยข้างต้นนี้ไม่สามารถหยุดความอยากรู้อยากเห็น ไม่สามารถหยุดวิญญาณนักสำรวจของคุณได้ คุณก็พร้อมแล้วที่จะเข้าไปสู่โลกแห่งระบบปฎิบัติการที่ทรงพลังที่สุดระบบ หนึ่ง ที่มีอยู่ในโลกนี้
ลีนุกซ์คืออะไร
ลีนุกซ์ระบบปฏิบัติการแบบ 32 บิต ที่เป็นยูนิกซ์โคลน สำหรับเครื่องพีซี และแจกจ่ายให้ใช้ฟรี สนับสนุนการใช้งานแบบหลากงาน หลายผู้ใช้ (MultiUser-MultiTasking) มีระบบ X วินโดวส์ ซึ่งเป็นระบบการติดต่อผู้ใช้แบบกราฟฟิก ที่ไม่ขึ้นกับโอเอสหรือฮาร์ดแวร์ใดๆ (มักใช้กันมากในระบบยูนิกซ์) และมาตรฐานการสื่อสาร TCP/IP ที่ใช้เป็นมาตรฐานการสื่อสารในอินเทอร์เนตมาให้ในตัว ลีนุกซ์มีความเข้ากันได้ (compatible) กับ มาตรฐาน POSIX ซึ่งเป็นมาตรฐานอินเทอร์เฟสที่ระบบยูนิกซ์ส่วนใหญ่จะต้องมีและมีรูปแบบบาง ส่วนที่คล้ายกับระบบปฏิบัติการยูนิกซ์จากค่าย Berkeley และ System V โดยความหมายทางเทคนิคแล้วลีนุกซ์ เป็นเพียงเคอร์เนล (kernel) ของระบบปฏิบัติการ ซึ่งจะทำหน้าที่ในด้านของการจัดสรรและบริหารโพรเซสงาน การจัดการไฟล์และอุปกรณ์ I/O ต่างๆ แต่ผู้ใช้ทั่วๆไปจะรู้จักลีนุกซ์ผ่านทางแอพพลิเคชั่นและระบบอินเทอร์เฟสที่ เขาเหล่านั้นเห็น (เช่น Shell หรือ X วินโดวส์) ถ้าคุณรันลีนุกซ์บนเครื่อง 386 หรือ 486 ของคุณ มันจะเปลี่ยนพีซีของคุณให้กลายเป็นยูนิกซ์เวอร์กสเตชันที่มีความสามารถสูง เคยมีผู้เทียบประสิทธิภาพระหว่างลีนุกซ์บนเครื่องเพนเทียม และเครื่องเวอร์กสเตชันของซันในระดับกลาง และได้ผลออกมาว่าให้ประสิทธิภาพที่ใกล้เคียงกัน และนอกจากแพลตฟอร์มอินเทลแล้ว ปัจจุบันลีนุกซ์ยังได้ทำการพัฒนาระบบเพื่อให้สามารถใช้งานได้บนแพลตฟอร์ มอื่นๆด้วย เช่น DEC Alpha , Motorolla Power-PC , MIPS เมื่อคุณสร้างแอพพลิเคชันขึ้นมาบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งแล้ว คุณก็สามารถย้ายแอพพลิเคชันของคุณไปวิ่งบนแพลตฟอร์มอื่นได้ไม่ยาก ลีนุกซ์มีทีมพัฒนาโปรแกรมที่ต่อเนื่อง ไม่จำกัดจำนวนของอาสาสมัครผู้ร่วมงาน และส่วนใหญ่จะติดต่อกันผ่านทางอินเทอร์เนต เพราะที่อยู่อาศัยจริงๆของแต่ละคนอาจจะอยู่ไกลคนละซีกโลกก็ได้ และมีแผนงานการพัฒนาในระยะยาว ทำให้เรามั่นใจได้ว่า ลีนุกซ์เป็นระบบปฏิบัติการที่มีอนาคต และจะยังคงพัฒนาต่อไปได้ตราบนานเท่านาน
ประวัติของลีนุกซ์
ลีนุกซ์ถือกำเนิดขึ้นในฟินแลนด์ ปี คศ. 1980 โดยลีนุส โทรวัลด์ส (Linus Trovalds) นักศึกษาภาควิชาวิทยาการคอมพิวเตอร์ (Computer Science) ในมหาวิทยาลัยเฮลซิงกิ ลีนุส เห็นว่าระบบมินิกซ์ (Minix) ที่เป็นระบบยูนิกซ์บนพีซีในขณะนั้น ซึ่งทำการพัฒนาโดย ศ.แอนดรูว์ ทาเนนบาวม์ (Andrew S. Tanenbaum) ยังมีความสามารถไม่เพียงพอแก่ความต้องการ จึงได้เริ่มต้นทำการพัฒนาระบบยูนิกซ์ของตนเองขึ้นมา โดยจุดประสงค์อีกประการ คือต้องการทำความเข้าใจในวิชาระบบปฏิบัติการคอมพิวเตอร์ด้วยเมื่อเขาเริ่ม พัฒนาลีนุกซ์ไปช่วงหนึ่งแล้ว เขาก็ได้ทำการชักชวนให้นักพัฒนาโปรแกรมอื่นๆมาช่วยทำการพัฒนาลีนุกซ์ ซึ่งความร่วมมือส่วนใหญ่ก็จะเป็นความร่วมมือผ่านทางอินเทอร์เนต ลีนุสจะเป็นคนรวบรวมโปรแกรมที่ผู้พัฒนาต่างๆได้ร่วมกันทำการพัฒนาขึ้นมาและ แจกจ่ายให้ทดลองใช้เพื่อทดสอบหาข้อบกพร่อง ที่น่าสนใจก็คืองานต่างๆเหล่านี้ผู้คนทั้งหมดต่างก็ทำงานโดยไม่คิดค่าตอบแทน และทำงานผ่านอินเทอร์เนตทั้งหมด ปัจจุบันเวอร์ชันล่าสุดของระบบลีนุกซ์ที่ได้ประกาศออกมาคือเวอร์ชัน 2.0.13 ข้อสังเกตในเรื่องเลขรหัสเวอร์ชันนี้ก็คือ ถ้ารหัสเวอร์ชันหลังทศนิยมตัวแรกเป็นเลขคู่เช่น 1.0.x,1.2.x เวอร์ชันเหล่านี้จะถือว่าเป็นเวอร์ชันที่เสถียรแล้วและมีความมั่นคงในระดับ หนึ่ง แต่ถ้าเป็นเลขคี่เช่น 1.1.x, 1.3.x จะถือว่าเป็นเวอร์ชันทดสอบ ซึ่งในเวอร์ชันเหล่านี้จะมีการเพิ่มเติมความสามารถใหม่ๆลงไป และยังต้องทำการทดสอบหาข้อผิดพลาดต่างๆอยู่
[img]http://www.win.tue.nl/~aeb/linux/lk/tux.jpg + torvalds.jpg>[/img]
ทำไมถึงต้องเป็นลีนุกซ์
ข้อความบางส่วนจากหนังสือ "Running Linux" ของ Matt Welsh and Lar Kaufman เนื่องจากเป็นระบบปฏิบัติการที่ฟรี คุณสามารถจะขอจากผู้ที่มีลีนุกซ์ หรือจะดาวน์โหลดจากอินเทอร์เนต หรือบีบีเอสได้โดยไม่ผิดกฏหมาย เนื่องจากมีผู้นิยมใช้มาก ทำให้มีผู้นำลีนุกซ์ไปแก้ไขให้สามารถใช้งานได้บนตัวประมวลผลกลางหลากหลาย ตั้งแต่อินเทล, โมโตโรลา, ดิจิตอลอัลฟา, พาวเวอร์พีซี, ไปจนถึง สปาร์คของซัน นอกจากนี้ยังมีผู้พัฒนาโปรแกรมประยุกต์ออกมากันมากมาย มีประสิทธิภาพและมีคุณภาพสูง ลีนุกซ์เป็นระบบปฏิบัติการ 32 บิตเต็มรูปแบบ ซึ่ง สามารถจะดึงเอาพลังของเครื่องคอมพิวเตอร์ออกมาได้อย่างเต็มกำลัง ลีนุกซ์ถูกพัฒนา จากผู้พัฒนานับร้อยทั่วโลก แต่ Linus จะเป็นคนวางทิศทางในการพัฒนาด้วยตัวเอง มีคุณลักษณะของระบบ UNIX เต็มรูปแบบ และเป็นระบบหลากผู้ใช้ หลายงานอย่าง แท้จริง ลีนุกซ์มีระบบอินเทอร์เฟสแบบกราฟฟิคที่เรียกกันว่า X Windows ซึ่งเป็น มาตรฐานของระบบยูนิกซ์ทั่วๆไป และสามารถใช้ window manager ได้หลายชนิด ตามความต้องการ นอกจากนี้ยังสนับสนุนโปรโตคอลแบบ TCP/IP ,SLIP, PPP, UUCP และอื่นๆ คุณสามารถหาข้อมูลเพิ่มเติมได้ง่าย มีเอกสารหลากหลาย (กรุณาดูข้างล่าง) และผู้คนมากมายคอยสนับสนุนคุณผ่านอินเทอร์เนต หรือคุณอาจจะหาการสนับสนุนจากบริษัทที่ปรึกษา หรือจากบริษัทผู้จัดจำหน่ายระบบลีนุกซ์ก็ได้ มีเหตุผลหลายประการที่สามารถอธิบายได้ว่าทำไมผู้คนถึงชอบลีนุกซ์ แต่โดยส่วนตัวแล้ว น่าจะเป็นเพราะการพัฒนาอย่างรวดเร็วของลีนุกซ์ เนื่องจากคุณสามารถเห็นการเปลี่ยน แปลงตัวเคอร์เนล และการพัฒนาโปรแกรมประยุกต์ใหม่ๆออกมาอย่างรวดเร็ว ซึ่งไม่เคยพบเห็นในระบบที่แจกจ่ายฟรีแบบนี้ที่ไหนมาก่อนเลย ผู้ใช้งานและแอพพลิเคชันบนลีนุกซ์ บรรดาผู้ใช้งานบนลีนุกซ์มีได้หลากหลาย ไม่ว่าจะเป็นระดับเคอร์นัลแฮกเกอร์ ซึ่งจะทำการศึกษาเกี่ยวกับการทำงานของระบบปฏิบัติการในระดับลึก ไปจนถึงเอนด์ยูเซอร์หรือผู้ใช้ทั่วไป คุณสามารถใช้ลีนุกซ์ทำประโยชน์ได้หลายอย่าง ไม่ว่าจะเอาไว้ทำการศึกษาระบบยูนิกซ์ หรือคุณสามารถจะศึกษาตัวอย่างการเขียนรหัสโปรแกรมที่ดีได้ หากต้องการจะใช้แอพพลิเคชันบนดอส หรือบนวินโดว์ส ลีนุกซ์ก็จะมีดอสอีมูเลเตอร์ (DOSEMU) และวินโดว์สอีมูเลเตอร์ (WINE) ให้ สำหรับอีมูเลเตอร์ทั้งสองตัวนี้ยังอยู่ในขั้นทดสอบ และยังรันแอพพลิเคชันของดอสกับวินโดว์สได้ไม่มาก แต่ทีมพัฒนาโปรแกรมทั้งสองนี้ก็ยังทำการพัฒนาต่อไปเรื่อยๆ และตั้งเป้าหมายว่าจะต้องรันแอพพลิเคชันของดอสกับวินโดวส์ให้ได้มากที่สุด เท่าที่จะทำได้ ล่าสุดทางบริษัท Caldera ได้ทำการซื้อลิขสิทธ์ WABI 2.2 ซึ่งเป็นอีมูเลเตอร์สำหรับรันแอพพลิเคชันของวินโดว์ส ที่ใช้ในเวอร์กสเตชันของซันมาใส่ในผลิตภัณฑ์ OpenLinux ของตน
11.1 ประวัติความเป็นมา (History)
ระบบปฏิบัติการเก่าแก่ที่ถูกพัฒนาขึ้นในปี 1969 โดยบริษัทเอทีแอนด์ที (AT&T หรือ American Telephone & Telegraph) เพื่อใช้กับเครื่องมินิคอมพิวเตอร์ โดยแรกเริ่มจะถูกใช้เพื่องานวิจัยหรือเพื่อการศึกษาในมหาวิทยาลัยเท่านั้น ต่อมาได้ถูกนำมาใช้ในทางธุรกิจและเป็นที่นิยมแพร่หลายมาจนถึงปัจจุบัน เนื่องจากยูนิกซ์เป็นระบบปฏิบัติการสำหรับผู้ใช้หลายคน(Multi-User) และสนับสนุนการทำงานแบบหลายงาน (Multi-task) ที่เปิดโอกาสผู้ใช้สามารถรันงานได้มากกว่าหนึ่งงานในเวลาเดียวกัน และเนื่องจากเป็นระบบปฏิบัติการที่ถูกพัฒนาขึ้นด้วยภาษาซี ไม่ใช่แอสเซมบลี ดังนั้นจึงมีคุณสมบัติที่เด่นกว่าระบบปฏิบัติการอื่น ๆ คือ การไม่ยึดติดอยู่กับฮาร์ดแวร์ (Hardware independent) ดังนั้นจึงสามารถใช้งานยูนิกซ์ได้กับเครื่องคอมพิวเตอร์เกือบทุกแบบทุก ประเภทตั้งแต่ไมโครคอมพิวเตอร์ มินิคอมพิวเตอร์ไปจนถึงเมนเฟรมคอมพิวเตอร์ และนอกจากนี้ยังมีการเพิ่มเติมความสามารถทางด้านการเชื่อมต่อเข้ากับระบบ เครือข่ายอีกด้วย
หลายบริษัทได้หันมาสนใจยูนิกซ์ AT&T จึงได้ออกใบอนุญาตให้กับบริษัทผู้ผลิตมินิคอมพิวเตอร์และเครื่องเวอร์กสเต ชันทั้งหลาย เป็นผลให้ยูนิกซ์ได้รับการปรับปรุงแก้ไขและถูกขายให้กับบริษัทอื่น ๆ อีกหลายบริษัท ซึ่งก็ได้มีการพัฒนายูนิกซ์เวอร์ชันใหม่ ๆ ออกมามากมาย ตัวอย่างเช่น ยูนิกซ์เวอร์ชัน AIX จากบริษัทไอบีเอ็ม Solaris จากบริษัทซันไมโครซิสเต็ม NextStep จากบริษัท Next หรือ Motif จากบริษัทไอบีเอ็ม ดิจิตัลอีควิบเมนท์ และฮิวเลทท์แพ็คการ์ด (Hewlett-Packard) ที่ร่วมกันพัฒนา Motif ขึ้นมา หรือแม้แต่ในปัจจุบันที่มีกลุ่มผู้คนจากทั่วโลกได้ร่วมกันพัฒนายูนิกซ์ เวอร์ชันสำหรับไมโครคอมพิวเตอร์ที่เรียกว่า ไลนักซ์หรือลีนุกซ์ (Linux) ออกมา ซึ่งเกิดจากการแลกเปลี่ยนความเห็นกันบนอินเตอร์เน็ตที่ต้องการจะพัฒนา ยูนิกซ์สำหรับเครื่องไมโครคอมพิวเตอร์ ที่มีประสิทธิภาพเท่ากับเครื่องขนาดใหญ่ ซึ่งจะเป็นการลดต้นทุนและค่าใช้จ่ายกว่าการใช้ยูนิกซ์สำหรับเครื่องขนาดใหญ่
ยูนิกซ์ยังเป็นระบบปฏิบัติการที่มีเครื่องมือ (tools) หรือโปรแกรมอำนวยความสะดวก (utilities) และเซลล์ (shell) ที่ช่วยนักเขียนโปรแกรมสามารถพัฒนาโปรแกรมประยุกต์บนยูนิกซ์ได้อย่างมี ประสิทธิภาพ นอกจากนี้ โครงสร้างระบบไฟล์ยังเหมือนกับระบบปฏิบัติการดอส แต่คำสั่งอาจแตกต่างกันไปบ้าง
ข้อด้อยของยูนิกซ์คือ ผู้ใช้ส่วนใหญ่จะต้องจดจำคำสั่งต่าง ๆ ของยูนิกซ์ ซึ่งค่อนข้างยากต่อการจดจำ แต่ในปัจจุบันผู้ผลิตเครื่องที่ใช้ระบบปฏิบัติการยูนิกซ์ ก็ได้พัฒนาโปรแกรมที่มีลักษณะเป็น GUI (Graphic User Interface) จึงช่วยให้การใช้งานยูนิกซ์ง่ายขึ้น นอกจากนี้การที่ยูนิกซ์ถูกพัฒนาเป็นหลายเวอร์ชันจากหลายบริษัท ซึ่งแต่ละเวอร์ชันอาจมีข้อแตกต่างกันบ้างเล็กน้อย จึงทำให้มีผู้มองว่ายูนิกซ์ไม่มีความเป็นมาตรฐานเดียวกัน
แต่เนื่องจากยูนิกซ์เป็นระบบปฏิบัติการที่สามารถใช้งานได้กับ เครื่องคอมพิวเตอร์หลายประเภทหลายแบบ ดังนั้นจึงเป็นระบบปฏิบัติการที่นิยมใช้มากในระบบเครือข่ายขนาดใหญ่ที่มีการ เชื่อมเครื่องคอมพิวเตอร์ แต่ละประเภทเข้าด้วยกันในลักษณะของเครือข่ายอินเตอร์เน็ต
จุดเด่นของ LINUX
1. เป็นระบบที่ใช้ได้ฟรี
2. เป็นระบบปฏิบัติการแบบเปิด
3. คอมแพติเบิลกับ Unix
4. ทำงานได้บน PC ทั่วไป
5. ทำงานร่วมกับ DOS และ Windows ได้
6. ใช้แฟ้มร่วมกับระบบปฏิบัติการอื่นได้
7. มีความสามารถด้าน network หลายรูปแบบ
8. มีประสิทธิภาพสูงในการใช้ Hardware
9. Kernel มีประสิทธิภาพสูง
10. มีการใช้ Dynamic linked shared libraries
11. การช่วยเหลือเมื่อเกิดปัญหา

11.2 หลักการออกแบบ
1. Direct blocks
2. Indirect blocks
3. Double indirect blocks
4. Triple indirect blocks
[img]http://www.bb-zone.com/SLGFG/figures/Inode.gif + demos-fs.gif>[/img]

11.3 ระบบแฟ้ม (File System)
http://www.cs.wisc.edu/~bart/537/lecturenotes/s24.html
The file descriptor information has to be stored on disk, so it will stay around even when the OS does not.
- In Unix, all the descriptors are stored in a fixed size array on disk. The descriptors also contain protection and accounting information.
- A special area of disk is used for this (disk contains two parts: the fixed-size descriptor array, and the remainder, which is allocated for data and indirect blocks).
- The size of the descriptor array is determined when the disk is initialized, and cannot be changed. In Unix, the descriptor is called an i-node, and its index in the array is called its i-number. Internally, the OS uses the i-number to refer to the file.
- When a file is open, its descriptor is kept in main memory. When the file is closed, the descriptor is stored back to disk.
[img]http://www.cs.wisc.edu/~bart/537/lecturenotes/figures/s26.unix.gif + inode.gif + demos-fs.gif[/img]
ext2 : the standard in Linux
ext3 : further development of ext2 (currently beta status), will be able to do journaling

General overview of the Linux file system
http://www.faqs.org/docs/linux_intro/sect_03_01.html
ls -l แสดงจำนวน folder ในแต่ละห้อง
ls -i แสดง inode ของแต่ละแฟ้ม
df -h แสดงพื้นที่แต่ละ partition
[img]http://www.faqs.org/docs/linux_intro/images/FS-layout.png[/img]
ภาพแสดงระบบแฟ้มของ ext2 ในระบบปฏิบัติการ linux
http://www.bb-zone.com/SLGFG/chapter1.html
http://www.cs.wisc.edu/~bart/537/lecturenotes/s24.html
http://www.csie.ntu.edu.tw/~pangfeng/System%20Programming/Lecture_Note_2.htm
http://vandali.org/DanieleMasini/sorgentiinfolinux.php รวมภาพเกี่ยวกับ linux เพียบ
1. Direct blocks
2. Indirect blocks
3. Double indirect blocks
4. Triple indirect blocks
[img] web Inode.gif + demos-fs.gif[/img]

11.4 คำสั่ง (Command)
คำสั่งน่ารู้ในระบบปฏิบัติการ Unix หรือ Linux
1. man แสดงคำอธิบายคำสั่ง เพื่อช่วยในการนำไปใช้
2. ls แสดงรายชื่อแฟ้มใน directory ปัจจุบัน
3. id แสดงชื่อผู้ใช้คนปัจจุบัน
4. who แสดงชื่อผู้ใช้ที่กำลัง online อยู่
5. pwd แสดงชื่อ directory ปัจจุบัน
6. date แสดงวันที่ และเวลาปัจจุบัน
7. banner (คำสั่งนี้ใช้งานไม่ได้ใน RedHat 9)
8. ps แสดงกระบวนการที่กำลังทำงานอยู่
9. kill ยกเลิกกระบวนการที่กำลังทำงานอยู่
10. mail ส่งอีเมล
11. sort จัดเรียงข้อมูลใน text file
12. clear ล้างจอภาพ
13. more แสดงข้อมูลจาก text file แบบแยกหน้า
14. passwd เปลี่ยนรหัสผ่าน
15. cal แสดงปฏิทิน
16. echo แสดงตัวอักษร
17. talk สนทนากับผู้ใช้ในระบบ
18. grep ค้นหาตัวอักษรจาก text file

Process handling commands from http://www.linuxforum.com/linux/sect_04_05.html
at Queue jobs for later execution.
atq Lists the user's pending jobs.
atrm Deletes jobs, determined by their job number.
batch Executes commands when system load level permits.
crontab Maintain crontab files for individual users.
halt Stop the system.
init runlevel Process control initialization.
jobs Lists currently executing jobs.
kill Terminate a process.
mesg Control write access to your terminal.
netstat Display network connections, routing tables, interface statistics,
masquerade connections and multicast memberships.
nice Run a program with modified scheduling priority.
ps Report process status.
pstree Display a tree of processes.
reboot Stop the system.
renice Alter priority of running processes.
shutdown Bring the system down.
sleep Delay for a specified time.
time Time a command or report resource usage.
top Display top CPU processes.
uptime Show how long the system has been running.
vmstat Report virtual memory statistics.
w Show who is logged on and what they are doing.
wall Send a message to everybody's terminals.
who Show who is logged on.
write Send a message to another user.


11.5 การรักษาความปลอดภัย (Security)
1. Firewall
Firewall คือ ฮาร์ดแวร์และซอฟต์แวร์ที่องค์กรต่างๆมีไว้เพื่อป้องกันเครือข่ายคอมพิวเตอร์ ภายในของตนจากอันตรายที่มาจากเครือข่ายคอมพิวเตอร์ภายนอก เช่น ผู้บุกรุก หรือ Hacker Firewall จะอนุญาตให้เฉพาะข้อมูลที่มีคุณลักษณะตรงกับเงื่อนไขที่กำหนดไว้ผ่านเข้าออก ระบบเครือข่ายภายในเท่านั้น อย่างไรก็ดี Firewall นั้นไม่สามารถป้องกันอันตรายที่มาจากอินเทอร์เน็ตได้ทุกรูปแบบ ไวรัสก็เป็นหนึ่งในนั้น ดังนั้นจึงไม่สามารถรับรองได้ว่าความปลอดภัยหรือความลับของข้อมูลจะมีอยู่ ร้อยเปอร์เซนต์ถึงแม้ว่าจะมีการใช้ Firewall แล้วก็ตาม
เครื่องบริการรักษาความปลอดภัยของข้อมูล มีหลายที่หลายด้าน เช่น กรองแพ็กเกจ เฝ้าตรวจ ตรวจสอบการใช้ bandwidth หรือเก็บข้อมูลที่ local host ใช้งานบ่อย ไว้ให้ local host อื่น ๆ เรียกใช้ด้วยความเร็ว ซึ่งหลักการของ firewall ที่สำคัญมีดังนี้
1. ให้บริการเฉพาะที่ต้องการเปิด
2. ให้บริการใครบ้าง
3. ให้สมาชิกในแต่ละกลุ่ม สามารถใช้ได้เฉพาะที่เหมาะสม
4. กำหนดความปลอดภัยอย่างไร ให้แต่ละบริการ
Firewall ประกอบด้วย
1. Package filters เป็นหน้าที่ของ router ทำหน้าที่กรอง IP(Internet Protocol) TCP(Transmission Control Protocol) และ UDP(User Datagram Protocol) ถ้าข้อมูลที่ส่งมาไม่เป็นไปตามกฎ ก็จะเข้าเครือข่ายไม่ได้
2. Proxy server ทำให้เครื่องภายนอกทั้งหมดไม่รู้จักเครื่องภายในเครือข่าย เพราะทุกกิจกรรมต้องผ่านการแปลง IP ของ Proxy server
A firewall is a set of related programs, located at a network gateway server, that protects the resources of a private network from users from other networks. (The term also implies the security policy that is used with the programs.) An enterprise with an intranet that allows its workers access to the wider Internet installs a firewall to prevent outsiders from accessing its own private data resources and for controlling what outside resources its own users have access to.
Basically, a firewall, working closely with a router program, filter all network packet to determine whether to forward them toward their destination. A firewall also includes or works with a proxy server that makes network requests on behalf of workstation users. A firewall is often installed in a specially designated computer separate from the rest of the network so that no incoming request can get directly at private network resources.
There are a number of firewall screening methods. A simple one is to screen requests to make sure they come from acceptable (previously identified) domain name and Internet Protocol addresses. For mobile users, firewalls allow remote access in to the private network by the use of secure logon procedures and authentication certificates.
2. IDS (Intrusion Detection Systems)
IDS คือระบบตรวจสอบการบุกรุกเข้าสู่ระบบ ตรวจสอบมักวางไว้ทั้งหน้า firewall และหลัง firewall เพื่อตรวจสอบการบุกรุก และตรวจสอบผลการใช้ firewall ว่ากรองได้มากน้อยเพียงใด ตัวอย่างการบุกรุกเช่น DoS, Port scan หรือ Code red เป็นต้น สำหรับโปรแกรมที่นิยมนำมาใช้ศึกษาคือ BlackIce ซึ่งหา download ได้ไม่ยากนัก
3. Crack
คือ การเปลี่ยนการทำงานของโปรแกรม ให้ผิดไปจากที่ผู้สร้างโปรแกรมสร้างขึ้น เช่น ผู้สร้างโปรแกรมใส่รหัสผ่าน ผู้ใช้ต้องซื้อรหัสผ่านมาใช้ แต่ cracker จะแก้โปรแกรมโดยการยกเลิกการตรวจสอบรหัสผ่านนั้น สำหรับโปรแกรมที่ถูกนำมาใช้ เช่น WinHex และ SoftICE เป็นต้น
4. Hack
คือ การเข้าไปในระบบที่ผู้ทำการ hack ไม่มีสิทธิ์ การเข้าไปในเครื่องบริการที่มีระบบรักษาความปลอดภัย เป็นเป้าหมายสำคัญของ hacker เมื่อเข้าไปได้แล้วอาจกระทำการใด ๆ ทั้งที่เป็นประโยชน์ หรือโทษ กับระบบ ก็ขึ้นอยู่กับ hacker แต่ละคน ตัวอย่าง URL ที่ใช้ hack IIS บน Win 2000 คือ
http://localhost/scripts/..%255c../winnt/system32/cmd.exe?/c dir c:\
ผลการ hack ครั้งนี้คือการแสดงรายชื่อแฟ้มใน drive C ของ web server หรือหาโปรแกรม xperl.sh จากเว็บเผยแพร่ข้อมูลการ hack มาทดสอบใน Redhat 6.2 ซึ่งผลการ run xperl.sh จะทำให้ user ธรรมดา กลายเป็น root ทันที

ความปลอดภัยบนเครือข่าย (จาก doothai.com)
เช้ามืดวันหนึ่งของฤดูหนาว ในขณะที่ผู้คนกำลัง หลับไหลใต้ผ้าห่มผืนอุ่นอย่างสบาย อากาศในกรุงเทพฯ เวลานี้ช่างน่านอนเสียจริง แต่สำหรับเด็กชายอ๊อด เขากลับนั่งอยู่หน้าจอคอมพิวเตอร์ ที่ต่อเข้ากับอินเตอร์เน็ต ท่ามกลางความมืด ก็มีเพียงแสงจากมอนิเตอร์ ที่ฉาดฉายให้เห็นรอยยิ้มน้อยๆ ของเด็กชาย ในวัยซุกซนคนนี้ เมื่อมองไปยังหน้าจอคอมพิวเตอร์ เด็กน้อยกำลังพยายามล็อกอิน เข้าไปยัง เครื่องคอมพิวเตอร์ของ บริษัทไฟแนนซ์แห่งหนึ่ง ที่ถูกทางการปิดไป เด็กน้อยกำลังพยายามเข้าไป แก้ไขไฟล์การผ่อนชำระรถยนต์ เพื่อที่จะทำให้ข้อมูลรถของพ่อเขา หายไปจากระบบ รถที่ค้างชำระมากว่า 6 เดือน และรอโดนยึด จะได้ปราศจากตัวตนอีกต่อไป การกระทำของหนูน้อยคนนี้ คนทั่วๆไป มักจะคิดว่า และขนานนามเขาว่า Hacker แท้จริงแล้ว ชีวิตของ Hacker นั้นเป็นอย่างไร
อันที่จริงแล้ว ความเข้าใจของคนทั่วไป ที่มีต่อ Hacker นั้น ไม่ค่อยจะถูกต้องเท่าไรนัก แท้จริงแล้วในหมู่ของ Hacker เองนั้น กลับไม่ยอมรับ การกระทำแบบเจ้าหนูคนนี้ Hacker นิยามคนแบบนี้ว่า Cracker เพราะ Hacker นั้นไม่นิยม การหาประโยชน์ บนความเดือดร้อนของคนอื่น ในขณะที่ Cracker นั้น ใช้ประโยชน์จากความชาญฉลาด ของตนเอง เพื่อให้ได้มา ซึ่งสิ่งที่ตนเองต้องการ Hacker ต้องการทำในสิ่งที่เป็นการ ปลดโซ่ตรวน และพันธนาการ เพื่อความเป็นอิสระของตนเอง และผู้อื่น จากสิ่งที่พวกเขาคิดว่าไม่ถูกต้อง ทั้งหลาย
Hacker เชื่อในเรื่องของ พลังและอำนาจ ที่เขาสามารถควบคุม Cyberspace ได้ พวกเขาชอบที่จะค้นหา ความคิด วิธีการใหม่ๆ ที่จะปลดพันธนาการทั้งหลาย ที่ผูกมัดพวกเขาอยู่ เช่น พวกเขาเชื่อว่า ค่าโทรศัพท์ไปต่างประเทศ หรือต่างจังหวัด แพงเกินไป เนื่องจาก พวกผูกขาด (monopoly) อย่างองค์การโทรศัพท์ หรือ บริษัทเอกชน ขูดเลือดจากประชาชน คิดกำไรเกินควร พวกเขาจะคิดหาวิธีที่จะใช้โทรศัพท์ทางไกลฟรี เช่นการหา access code ที่ทำให้ควบคุมชุมสายได้ การต่อ oscillator เข้ากับสายโทรศัพท์เพื่อสร้างสัญญาณ Hacker ยินดีจ่ายค่าโทรศัพท์ท้องถิ่น ซึ่งมีราคาถูก แต่ไม่ยินยอมจ่ายค่าทางไกล เพราะพวกเขา คิดว่าราคาไม่ยุติธรรม และหากพวกเขาทำสำเร็จ พวกเขาจะไม่รีรอที่จะแพร่ขยาย ภูมิความรู้นี้ ไปสู่ Hacker คนอื่นๆ พวก Hacker จึงมีสังคมที่ค่อนข้างจะแข็งแกร่ง บางคนที่ไม่ ค่อยรู้เรื่องเกี่ยวกับ Hacker ก็มักจะ เสียดสีว่าเป็นพวก Digital Hippy บ้าง เป็น พวก Cyberpunk บ้าง ความจริง Hacker แตกต่างจากคนเหล่านั้น โดยสิ้นเชิง
Hacker เป็นคนที่มีความอุตสาหะ ใฝ่รู้ เป็นพื้นฐาน นอกจากนั้น เขายังเป็นคนที่ รักสันติ รังเกียจความรุนแรง และความเห็นแก่ตัว Hacker ชอบความท้าทาย พวกเขาชอบ ที่จะได้มาซึ่งความสามารถในการควบคุม ทั้งตัวเขาเอง และ Cyberspace ที่เขาอยู่ เขาพยายามชี้นำ Cyberspace เช่น ถ้าเขาเห็นว่า รัฐบาลอินโดนีเซีย ทำไม่ถูกในเรื่อง ติมอร์ตะวันออก เขาก็เข้าไปแก้ Homepage ของรัฐบาลอินโดนีเซียให้ มีข้อมูลที่ถูกต้อง Hacker ต่อต้านการละเมิดสิทธิมนุษยชน เขาเจาะเข้าไปใน computer ของรัฐบาล อินโดนีเซีย เพื่อลงโทษที่อินโดนีเซียทำไม่ถูกในเรื่องนี้ Hacker ทำตัวเหมือน Robinhood เช่น เข้าไปโอนเงินของ บริษัทน้ำมัน เพื่อไปยังกองทุนเด็ก
Hacker เชื่อว่า การรวมตัวของพวกเขา จะนำเสรีภาพมาสู่คนที่ไร้โอกาสได้ เขารวมตัวกันเพื่อกดดันกลุ่มที่เขาคิดว่า เห็นแก่ตัว และทำไม่ถูกต้อง ดังนั้นเราจึงไม่ค่อยเห็น Hacker เจาะระบบขององค์กร ที่เป็นสาธารณะอย่างสถาบันศึกษานัก ในขณะที่ องค์กรรัฐบาล องค์กรทหาร หรือ บริษัทขนาดใหญ่ ล้วนตกเป็นเป้าหมายของบรรดา Hacker
ความสนุก เป็นสิ่งที่ Hacker ต้องการนอกเหนือ จากการที่ได้ต่อต้าน การผูกมัด หรือความเห็นแก่ตัวของผู้ที่มั่งคั่ง Hacker อาจจะเพลิดเพลิน จากการที่เขาสามารถแกะ เลขบัตรเครดิต ทั้งที่เขาจะไม่เคยนำมันไปใช้เลย Hacker เป็นผู้ที่เห็นใจผู้อื่น เขาจึงไม่อาจนำ เลขบัตรเครดิตไปใช้ประโยชน์ เขาเพียงแต่สนุกที่สามารถแกะ หรือ ถอดรหัสให้ได้มันมา
5. Law และ License
การปฏิรูปกฎหมายเทคโนโลยีสารสนเทศ (Information Technology Law) มีกฎหมายบังคับใช้ 6 ฉบับ
1. กฎหมายธุรกรรมอิเล็กทรอนิกส์ (Electronic Transaction Law)
2. กฎหมายลายมือชื่อทางอิเล็กทรอนิกส์ (Electronic Signatures Law)
3. กฎหมายอาชญกรรมทางคอมพิวเตอร์ (Computer Crime Law)
4. กฎหมายการโอนเงินทางอิเล็กทรอนิกส์ (Electronic Fund Transfer Law)
5. กฎหมายการคุ้มครองข้อมูลส่วนบุคคล (Data Protection Law)
6. กฎหมายลำดับรองของรัญธรรมนูณมาตรา 78 เกี่ยวกับการจัดโครงสร้างพื้นฐานสารสนเทศให้ทั่วถึง และเท่าเทียมกัน (Universal Access Law)

11.6 ระบบเครื่องบริการ
1. Web server
คือ บริการ HTTP(HyperText Transfer Protocol) เพื่อให้ผู้ใช้สามารถอ่านข้อมูล ทั้งภาพ และเสียง จากเครื่องบริการ ผ่าน Browser เช่นบริการ http://www.thaiall.com หรือ http://localhost เป็นต้น
เครื่องบริการ ที่รอรับคำร้องขอจาก web browser ข้อมูลที่จะส่งไปอาจเป็นเว็บเพจ ภาพ หรือเสียง เป็นต้น สำหรับโปรแกรมที่ได้รับความนิยม ให้นำมาเปิดบริการ web คือ Apache web server หรือ Microsoft web server
DNS server คืออะไร
Domain Name System server เป็นเครื่องบริการแปลงชื่อเว็บเป็นหมายเลข IP ซึ่งการแปลงชื่อนี้อาจเกิดในเครื่อง local เอง จาก cache ในเครื่อง local หรือจากเครื่องบริการของผู้ให้บริการ
2. FTP server
FTP(File Transfer Protocol)
คือ เครื่องบริการการรับ-ส่งข้อมูล ซึ่งเปิดให้ผู้ใช้ที่เป็นสมาชิกเข้าใช้ แต่บางเครื่องอาจเป็นให้ผู้ใช้ทั่วไปเข้าใช้ โดยใช้รหัสสมาชิก anonymous ซึ่งเป็นที่รู้กันทั่วโลกว่าเป็นรหัสผู้ใช้สำหรับผู้ที่ไม่ประสงค์ออกนาม
FTP คือโปรโตคอลสำหรับถ่ายโอนข้อมูล โดยเครื่องที่เปิดบริการ FTP จะเปิด TCP port 21 ไว้ การเชื่อมต่อของ FTP มี 2 mode
1. FTP standard mode คือ การเชื่อมต่อที่ server เชื่อมต่อกับ client ผ่าน port 20 เป็น Out going port ส่วน port ฝั่ง client จะแล้วแต่ตกลงกัน แต่ถ้า client มี firewall ที่ไม่บริการ ftp ก็จะติดต่อไม่ได้
2. FTP passive mode คือ การเชื่อมต่อที่ client เป็นผู้เชื่อมต่อไปยัง server เพื่อใช้หมายเลข port ที่แล้วแต่จะตกลงในการส่งข้อมูล
3. Mail server
คือ เครื่องบริการรับ-ส่งจดหมายสำหรับสมาชิก บริการที่มีให้ใช้เช่น ส่งจดหมาย รับจดหมาย ส่ง attach file หรือการมี address book เป็นต้น ตัวอย่าง mail server ที่เป็นที่รู้จักทั่วไป เช่น hotmail.com หรือ thaimail.com เป็นต้น
SMTP server คืออะไร
Simple mail transfer protocol server คือเครื่องบริการส่ง e-mail ไปยังเครื่องบริการอื่น ๆ สำหรับ SMTP ส่วนใหญ่จะไม่ยอมให้คนนอกองค์กร หรือ IP ที่อยู่นอกองค์กรใช้งาน SMTP เพราะอาจมีคนในโลกใบนี้มาแอบใช้ ทำให้บริการ SMTP ทำงานหนักให้กับคนภายนอกโดยไม่เกิดประโยชน์ใด ๆ หากเครื่องของท่านบริการ SMTP แก่คนนอก แสดงว่าไม่ได้กำหนด RELAY ไว้ เพราะชาวโลกอาจใช้เครื่องมือค้นหา "OPEN RELAY" แล้วพบว่าเครื่องของท่านเป็นเครื่องหนึ่งที่ไม่ได้ทำ RELAY ไว้ก็ได้ และที่อันตรายคือ อาจมีชาวโลกบางคนใช้โปรแกรม MOBI+ กำหนดให้เครื่อง SMTP ของท่าน bomb mail ไปยัง mail box ของเป้าหมาย และหมายเลขเครื่องที่โจมตี ก็คือ เครื่อง SMTP ของท่านนั่นเอง
POP server คืออะไร
Post office protocol server คือบริการรับ-ส่งเมลจาก mail server กับเครื่องของสมาชิก บริการนี้ ทำให้สามารถอ่าน mail ด้วยมือถือ หรือ PDA แต่ถ้าท่านใช้ mail ของ thaimail.com จะเป็น web-based mail ที่เปิดอ่าน e-mail ได้จาก web เท่านั้น จะเปิดด้วย outlook หรือ pda ไม่ได้
4. Database server
คือ เครื่องบริการข้อมูล ที่เปิดให้ผู้ใช้เพิ่มข้อมูล ลบ หรือแก้ไข สำหรับโปรแกรมบริการระบบฐานข้อมูลที่นิยมใช้ ได้แก่ MYSQL หรือ Microsoft Access เป็นต้น โดยผู้ใช้ต้องเขียนโปรแกรมสั่งประมวลผล ปรับปรุงข้อมูล หรือนำข้อมูลในส่วนที่ตนเองมีสิทธิ์ ไปใช้ตามต้องการ
5. Proxy หรือ NAT server
พร็อกซี่ เซิร์ฟเวอร์(Proxy server)
คือ เครื่องที่อยู่ตรงกลางระหว่างเครื่องลูกกับอินเทอร์เน็ต เพราะเครื่องลูกในเครือข่ายทั้งหมดจะไม่ติดต่อกับอินเทอร์เน็ตโดยตรง เมื่อเครื่องลูกเรียกดูข้อมูล จะส่งคำขอให้เครื่อง Proxy server และค้นหาข้อมูลนั้นใน เครื่อง Proxy server ว่ามีหรือไม่ หากมีก็จะส่งกลับไปให้เครื่องลูก โดยไม่ออกไปหาจากแหล่งข้อมูลจริง เพราะข้อมูลนั้นถูกเก็บในหน่วยความจำของเครื่อง Proxy server แล้ว จึงเป็นการลดภาระของระบบเครือข่าย ที่จะออกไปนอกเครือข่ายโดยไม่จำเป็น จะเห็นว่า Proxy server ทำหน้าที่เป็น Cache server ทำหน้าที่เก็บข้อมูลที่ผู้ใช้เคยร้องขอ หากมีการร้องขอข้อมูลที่ไม่มีใน proxy ก็จะออกไปหาในอินเทอร์เน็ต แล้วนำกลับมาเก็บใน cache เมื่อผู้ใช้ท่านอื่นต้องการ ก็จะนำจาก cache ไปใช้ได้ทันที สำหรับ Proxy server ที่นิยมใช้ใน Linux เช่น Squid มักให้บริการที่ port 3128 เป็นต้น
Proxy server คือ เครื่องบริการที่ทำหน้าที่แปลง address ของเครื่องต้นทางเมื่อมี package ส่งไปยัง local host หรือแปลง address ปลายทาง เมื่อมี package ส่งไปยัง localhost โดยลักษณะที่ชัดเจนของ proxy server คือการทำ caching ทำให้ local host เข้าถึงข้อมูล ซ้ำ ๆ กันได้โดยตรงจากเครื่องบริการ ใน local network ไม่ต้องออกไปนอกเครือข่ายโดยไม่จำเป็น
NAT (Network Address Translation)
คือ คุณสมบัติหนึ่งของการแจก IP หรือการทำ IP Sharing เพราะในเครือข่ายขนาดใหญ่จะใช้ Local IP หรือ Fake IP แต่จะมี Real IP อยู่บางส่วน โปรแกรมเครื่องบริการบางโปรแกรมมีหน้าที่กำหนด Local IP ให้เครื่องลูก เมื่อเครื่องลูกต้องการออกไปอ่านข้อมูลจากอินเทอร์เน็ต ก็จะใช้ Real IP ออกไป จากลักษณะดังกล่าง อาจทำให้เครื่องที่เป็น NAT server ทำหน้าที่เป็น Firewall ปกป้องเครื่องลูก เพราะจะไม่มีใครทราบ Local IP ของเครื่องในองค์กรได้ เนื่องจากการออกไปสู่อินเทอร์เน็ตจะใช้ IP ของ NAT server เสมอ จึงไม่มีใครเจาะเข้าสู่เครื่องลูกได้โดยตรง การเป็น NAT server อาจไม่จำเป็นต้องใช้คุณสมบัติ Cache server ก็ได้ เพราะเครื่องที่เป็น Proxy server ที่มีศักยภาพต่ำ จะล่มได้เร็วกว่าเครื่องที่ทำหน้าที่เป็น NAT เพียงอย่างเดียว สำหรับโปรแกรมที่ทำหน้าที่เป็น NAT server เช่น WinGate, WinRoute, WinProxy หรือ ICS(Internet Connection Sharing) เป็นต้น
6. DHCP server
DHCP(Dynamic Host Configuration Protocol)
คือ โปรโตคอลที่ใช้ในการกำหนด IP Address อัตโนมัติแก่เครื่องลูกข่ายบนระบบ ที่ติดตั้ง TCP/IP สำหรับ DHCP server มีหน้าที่แจก IP ในเครือข่ายไม่ให้ซ้ำ เป็นการลดความซ้ำซ้อน เมื่อเครื่องลูกเริ่ม boot ก็จะขอ IP address, Subnet mark, หมายเลข DNS และ Default gateway

ขั้นตอนการเชื่อมต่อของเครื่องลูกกับ DHCP server
1. เครื่องลูกค้นหาเครื่อง DHCP server ในเครือข่าย โดยส่ง DHCP discover เพื่อร้องขอ IP address
2. DHCP server จะค้นหา IP ที่ว่างอยู่ในฐานข้อมูล แล้วส่ง DHCP offer กลังไปให้เครื่องลูก
3. เมื่อเครื่องลูกได้รับ IP ก็จะส่งสัญญาณตอบกลับ DHCP Request ให้เครื่องแม่ทราบ
4. DHCP server ส่งสัญญาณ DHCP Ack กลับไปให้เครื่องลูก เพื่อแจ้งว่าเริ่มใช้งานได้

11.7 ปฏิบัติการฝึกใช้คำสั่งในระบบปฏิบัติการ Redhat Linux
- ฝึกติดตั้งระบบปฏิบัติการ linux และให้บริการแบบต่าง ๆ
- ฝึกใช้งานคำสั่งต่อไปนี้
จากหนังสือ Korn shell โดย john valley แปลโดย ชนินทร์ เชาวมิตร 2538
ar at atq atrm awk banner basenamebatch bdiff bfs cal calendar cancel cat chgrp chmod chown clear cmp col comm compress cp cpio crontab crypt csh csplit ct ctags cu cutdate dc dd deroff df diff dircmp dirname disable du echo ed edit egrep enable env ex expr exstr face factor false fgrep file find finger fmli fmt fmtmsg fold ftp gcore gencat getopt getoptcvt gettxt grep group hashcheck hashmake head iconv id ipcrm ipcs ismpx join jterm jwin kill ksh last layers line listusers ln login logname lp lpstat ls mail mailalias mailx makekey mesg mkdir mkmsgs more mv nawk newform newgrp news nice nl nohup notify od pack page pcat passwd paste pg pr printf priocntl ps pwd rcp relogin rlogin rm rmdir rsh ruptime rwho sag sar script sdiff sed sh shl sleep sort spell spellin split srchtxt strchg strconf strings stty su sum sync tabs tail talk tar tee telnet test tftp timex touch tputtr true truss tty uname uncompress uniq units unpack vacation vi wc who whois write xargs zcat
- ค้นคว้าข้อมูลเกี่ยวกับ ระบบปฏิบัติการ Linux จากอินเทอร์เน็ต แล้วทำรายงาน และส่งตัวแทนนำเสนอหน้าชั้น
แนะนำเว็บไซต์ประกอบการค้นคว้าบางส่วน
+ http://com2000.s5.com/linuxborn.html
+ http://www.bb-zone.com/SLGFG/
+ http://www.december.com/unix/tutor/filesystem.html อธิบาย unix file system
+ http://tille.soti.org/training/unix/c74.html อธิบาย unix file system
+ http://www.levenez.com/unix/ ยอดเยี่ยม ละเอียด และมีภาพ
+ http://www.princeton.edu/~mike/unixpeople.htm บุคคลที่เกี่ยวข้องกับ Unix
+ http://www.school.net.th/library/snet1/software/linux/

IP Address

ก่อน ที่จะไปทำความรู้จักกับ Subnetmask เราจะต้องมาทำความเข้าใจ กับ เรื่องของ IP Address เสียก่อน เพราะไม่งั้นท่านทั้งหลายจะงง และหลงทางมาก ถ้าไม่ทำความเข้าใจกับ เรื่องของ IP Address ให้ดีเสียก่อน

IP Address คืออะไร

IP Address คือหมายเลขประจำเครื่องคอมพิวเตอร์ ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด เช่น 192.168.100.1 หรือ 172.16.10.1 เป็นต้น
มาตรฐานของ IP Address ปัจจุบันเป็นมาตรฐาน version 4 หรือที่เรียกกันสั้น ๆ ว่า IPv4 วึ่งกำหนดให้ ip address มีทั้งหมด
32 bit หรือ 4 byte แต่ล่ะ byte จะถูกคั่นด้วยจุด (.) ภายในหมายเลขที่เราเห็นยังถูกแบ่งออกเป็น 2 ส่วนดังนี้

1. Network Address หรือ Subnet Address
2. Host Address

บนเครื่อง computer ที่ใช้ TCP/IP Protocol จะมีหมายเลข IP Address กำกับอยู่ address นี้ เป็นอยู่ใน Layer 3 ของ OSI model ซึ่งสามารถเปลี่ยนแปลงได้ตลอดเวลา (Logical address) และบนเครื่อง computerไม่ว่าจะใช้ Protocol ใด ๆ ก็ตามจะต้องมีหมายเลข ที่เรียกว่า MAC Address ประจำอยุ่ที่ Network card เสมอ MAC Address นี้เป็น Hardware Address ที่เปลี่ยนแปลงไม่ได้ เว้นแต่จะเปลี่ยน Network card

Class ของแต่่ะ IP Address


Class IP Address Network Address Host Address
A w.x.y.z w x.y.z
B w.x.y.z w.x y.z
C w.x.y.z w.x.y z

คำถาม: ทำไมต้องแบ่งเป็น Classต่าง ๆ เพื่ออะไร

เพื่อความเป็นระเบียบไงครับ ทางองค์กรกลางที่ดูแลเรื่องของ IP Address จึงได้มีการจัด Class หรือ หมวดหมู่ของ IP Address
ไว้ทั้งหมด 5 Class โดย Class ของ Address จะเป็นตัวกำหนดว่า Bit ใดบ้างใน หมายเลข IP Addressที่ต้องถูกใช้เพื่อ
เป็น Network Address และ Bit ใดบ้าง ที่ต้องถูกใช้เป็น Host Address นอกจากนั้น Class ยังเป็นตัวกำหนดด้วยว่า
จำนวนของ Network Segment ที่มีได้ใน Class นั้น ๆ มีเท่าไร และจำนวนของเครื่องคอมพิวเตอร์ที่สามารถมีได้ ภายใน
Network Segment นั้น ๆ มีเท่าไร

Class D

Class นี้จะไม่ถูกนำมาใช้กำหนดให้กับเครื่องคอมพิวเตอร์ทั่วไป แต่จะถูกใช้สำหรับการส่งข้อมูลแบบ Multicast
ของบาง Application


Multicast คือ เป็นการส่งจากเครื่องต้นทางหนึ่งไปยัง กลุ่ม ของเครื่องปลายทางอีกกลุ่มหนึ่ง แต่ไม่ใช่ ทุกเครืองใน Network Segment นั่น ๆ
Class E

Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ

วิธีสังเกต ว่า IP Address นี้อยู่ Class อะไร

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 1-126 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class A
(IP address 127 นั่น จะเป็น Loopback Address ของ Class นี้น่ะครับหรือ ของคอมท่านเอง )

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 128-191 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class B

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 192-223 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class C

• ส่วน 224 ขึ้นไปจะเป็น Multicast Address ที่กล่าวไว้ข้างต้น

อย่างที่ทราบกันดีน่ะครับว่า Network Segment ของ องค์กรที่ต้องติดต่อกับ internet ภายนอก จะต้องใช้ Public IP Address ที่ได้ รับการจัดสรร จาก ISP (Internet Service Provider) หรือจากหน่วยงานที่ท่ารับผิดชอบ

สำหรับ Network ภายในทไมไ่ด้เชื่อมต่อกับ internet โดยตรง เราสามารถใช้ Address ที่ขึ้นต้นด้วย IP Address เหล่านี้ Address ดังกล่าวจะถูกสงวน (reserved) ไว้สำหรับใช้ใน Network ภายในเท่านั้น
ช่วงของ IP Address Class ของ Network จำนวนของ Network ที่เป็นไปได้
10.0.0.0 - 10.255.255.255 A 1 Class A
172.16.0.0 - 172.31.255.255 B 16 Class B
192.168.0.0 - 192.168.255.255 C 256 Class C

Private Address ดังกล่าวได้รับการกำหนดไว้ใน มาตรฐาน RFC 1918
เอา ล่ะครับ หลังจากที่เราทำความรู้จัก ในเรื่องของ IP Address อย่างดีแล้ว คราวนี้ล่ะได้เริ่ม เกี่ยวกับ Subnet ซะที กว่าจะมาถึงจุดนี้ก็ต้องเหนื่อยกันหน่อยน่ะ อย่าท้อน่ะครับ นี่เพิ่งจะเริ่มเอง
Subnet Mask คืออะไร ??

Subnet mask เป็น Parameter อีกตัวหนึ่งที่ต้องระบุควบคู่กับหมายเลข IP Address หน้าทีของ Subnet mask ก้คืิอ การช่วยในการแยกแยะว่าส่วนใดภายในหมายเลข IP Address เป็น Network Address และส่วนใดเป็นหมายเลข Host Address ดังนั้น ท่านจะสังเกตได้ว่า เมื่อเราระบุ IP Address ให้กับเครื่องคอมพิวเตอร์์ เราจำเป็นต้องระบุ Subnet mask ลงไปด้วยทุกครั้ง


บทความการคำนวณ หา Subnet นี้ ไม่ได้ลงรายละเอียด ถึงขนาด Bit น่ะครับ เพราะตัวผมเองไม่เกงเรื่องพวกนี้ ผมคิดว่าถ้า หาตาม internet หรือ หนังสือจะทำให้เข้าใจง่ายกว่าที่อ่านจากบทความนี้ ผมจะเน้นเรื่องของการ คำนวณยังไงให้ไว ให้ถูกต้องแม่นยำเพื่อใช้สำหรับ สอบ หรือ ประโยชน์อื่นๆ น่ะครับ
Default Subnet mask ของแต่ล่ะ Class ดั้งนี้

• Class A จะมี Subnet mask เป็น 255.0.0.0 หรือเลขฐานสองดัง้นี้
11111111.00000000.00000000.00000000
(รวมเลข 1 ให้หมด ก็จะได้เท่ากับ 255)

• Class B จะมี Subnet mask เป็น 255.255.0.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.00000000.00000000

• Class C จะมี Subnet mask เป็น 255.255.255.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.11111111.00000000
มาถึงจุดนี้ผมอยากให้ท่านสังเกตว่า
" ตำแหน่งของ Bit ไหน ในหมายเลข IP Address ที่ถูกกันไว้ให้เป็น Network Address หรือ Subnet Address จะมีค่าของ Bit ตำแหน่งที่ตรงกันใน Subnet mask เป็น 1 เสมอ"


หลักการพื้นฐานของการทำ Subnet

หลัก การทำงานมีอยู่ว่า เราจะต้องยืม bitในตำแหน่งที่แต่เดิมเคยเป็น Host Address มาใช้เป็น Sub-network Address ด้วยการแก้ไขค่า Subnet mask ให้เป็นค่าใหม่ที่เหมาะสม

สูตรการคำนวณ 2 ยกกำลัง n - 2 = ??ู

การวางแผน คำนวณ Subnet

1. หาจำนวน Segment ทั้งหมดที่ต้องการ Subnet address จำนวนใน Segment ในที่นี้ นับจำนวน network ที่อยุ่ในแต่ล่ะฝั่งอขง Router หรือของ switch Layer 3 หรือ หากมีการ implement VLAN จะนับจำนวนของ VLANก็ได้

2. จำนวนเครื่อง computer ทั้งหมดในแต่ล่ะ Segment (ในที่นี้เราสมมุติ ว่าจำนวนเครืื่อง มีจำนวนใกล้เคียงกัน)

3. หาจำนวน bit ที่จะต้องยืมมาใช้เป็น Subnet Address โดยพิจารณาจาก ข้อ.1 และ ข้อ.2 โดยอาศัยสูตรง่าย ๆ
ถ้ายืมมาจำนวน x bit แล้ว ถ้านำเอา 2 มายกกำลังด้วย x แล้ว หักลบออกอีก 2 แล้วได้ค่ามากกว่า หรือ เท่ากับจำนวน
Subnet address ที่เราต้องการ
ขั้นต่อมา ก้ต้องนำ bit ที่เหลือจากการยืมมา เข้าสูตรเดิมคือ 2 ยกกำลัง n -2 = ??

4. นำ subnet mask ที่ได้มาคำนวณร่วมกับหมายเลข Network Address เดิมเพื่อหา Subnet Address ทั้งหมดที่เป็นไปได้ เพื่อที่จะนำไปกำหนดให้กับ Network แต่ล่ะ Segment

5. คำนวณหมายเลข IP Address ที่เป็นไปได้ทั้งหมดในแต่ล่ะ Subnet แล้วนำไป กำหนดให้กับเครื่อง computer เครื่อง server และแต่ล่ะ interface ของ router จนครบ

ตัวอย่างการคำนวณ น่ะครับ
Network Address 192.168.100.0
Subnetmask 255.255.255.192 (/26)


• ได้ทั้งหมดกี่ subnet

้bit ที่ถูกยืมมา 2
255.255.255.11000000
ดั้งนั้น จำนวน subnet ที่ได้คือ 2 ยกกำลัง 2 - 2 = 2 subnet

• ได้ทั้งหมดกี่ Host
Bit ที่เหลือจากการยืมจากข้างบน คือ 6
ก็นำมาเข้าตามสูตรเหมือนกัน 2 ยกกำลัง 6 - 2 = 62 host << ที่จะนำไปใช้กับเครื่อง ใ 1 วง network

• หมายเลข Subnet ที่ถูกต้องเป็นหมายเลขอะไรบ้าง ??
Subnet แรก 192.168.100.0 1 000000 192.168.100.64
Subnet สอง 192.168.100. 1 0 000000 192.168.100.128

• หมายเลข Host ในแต่ล่ะ subnet เป็นอย่างไร ?
Subnet แรก 192.168.100.64
ที่ใช้ได้ 192.168.100.65 - 192.168.100.126

Subnet สุดท้าย 192.168.100.128
ที่ใช้ได้ 192.168.100.129 - 192.168.100.190

___________________________________
อีกตัวอย่างการคำนวณ น่ะครับ
Network Address 192.168.100.0
Subnetmask 255.255.255.224 (/27)


• ได้ทั้งหมดกี่ subnet

้bit ที่ถูกยืมมา 3
255.255.255.1 1 1 00000
ดั้งนั้น จำนวน subnet ที่ได้คือ 2 ยกกำลัง 3 - 2 = 6 subnet

• ได้ทั้งหมดกี่ Host
Bit ที่เหลือจากการยืมจากข้างบน คือ 5
ก็นำมาเข้าตามสูตรเหมือนกัน 2 ยกกำลัง 5 - 2 = 30 host << ที่จะนำไปใช้กับเครื่อง ใ 1 วง network

• หมายเลข Subnet ที่ถูกต้องเป็นหมายเลขอะไรบ้าง ??

Subnet Zero คือ 192.168.100.0 - 192.168.100.31 << ไม่ใช่น่ะครับ วงนี้
Subnet แรก คือ 192.168.100.32 - 192.168.100.63
Subnet สอง คือ 192.168.100.64 - 192.168.100.95
Subnet สาม คือ 192.168.100.96 - 192.168.100.127
Subnet สี่ คือ 192.168.100.128 - 192.168.100.159
Subnet ห้า คือ 192.168.100.160 - 192.168.100.191
Subnet หก คือ 192.168.100.192 - 192.168.100.223
Broadcast คือ 192.168.100.224 - 192.168.100.255 << อันนี้ก็ไม่ใช่น่ะครับ

จะ เห็นได้ว่า มีแค่เพียง 6 subnet เท่านั้น ที่ใช้ได้ แต่ในทางปฏิบัติ เราสามารถใช้ คำสั่ง subnet zero ได้น่ะครับให้สามารถใช้งานได้ แต่ทีผมแนะนำให้ ลบออกสอง คือในทางทฤษฏี น่ะครับ แต่ก็ควรทำน่ะ

มาถึงจุดนี้ก้ต้องทำได้กัน้บางแล้วน่ะครับ แต่มันยังไม่จบหรอกน่ะครับ ยังมีความซับซ้อนมากขึ้นไปอีก

unix เบื้องต้น

unix เบื้องต้น
1. Unix
เป็นโปรแกรมจัดการระบบงาน (Operating system) ในเครือข่ายคอมพิวเตอร์ระบบหนึ่ง ได้รับการออกแบบโดยห้องปฏิบัติการเบลล์ของบริษัท AT&T ในปี คศ. 1969 ถึงแม้ว่าระบบ Unix จะคิดค้นมานานแล้ว แต่ยังเป็นที่นิยมใช้กันมากมาจนถึงปัจจุบัน โดยเฉพาะระบบ พื้นฐานของอินเตอร์เนต เนื่องจากมีความคล่องตัวสูง ตลอดจนสามารถใช้ได้กับเครื่องคอมพิวเตอร์หลายชนิด นอกจากนั้น Unix ยังเป็นระบบ ใช้ในลักษณะผู้ใช้ร่วมกันหลายคน (Mutiuser) และงานหลายงานในขณะเดียวกัน (Mutitasking) ผู้ใช้สามารถดัดแปลง หรือเพิ่มคำสั่งใน Unix ด้วยตนเองเพื่อความสะดวกได้ ในปัจจุบันพบว่าระบบ Unix ไม่จำเป็นต้องใช้เครื่องที่มีขนาดใหญ่ราคาแพง เช่น SunOS IBM AIX HP เนื่องจากได้มีกลุ่มคิดค้นระบบ Unix ที่สามารถใช้กับเครื่อง PC 486 ธรรมดา เราเรียกระบบปฏิบัติการนี้ว่า Linux เขียนได้ใช้ระบบดังกล่าวเป็นระบบหลักในการศึกษาและเขียนเป็นตำราใน http://passkorn.hypermart.net
2. Unix Kernel
Kernel เป็นส่วนของ Unix ที่ทำหน้าที่จัดการ Hardware ต่างๆของคอมพิวเตอร์ เช่น จอภาพ แป้นพิมพ์ CPU เครื่องพิมพ์ CD ROM ฯลฯ
ในปัจจุบันจะพบว่ามี Unix Kernel Programes ผลิตออกมาหลายบริษัทด้วยกัน เช่น Unix System V , BSD Unix ฯลฯ
3.Shell
โดยปกติผู้ใช้จะไม่สามารถติดต่อหรือใช้ Unix Kernel โดยตรง แต่จะมี software ที่เป็นตัวตีความหมายคำสั่งของผู้ใช้ให้กับ Unix Kernael อีกทีหนึ่ง ดังภาพ

Software ที่ทำหน้าที่นี้เรียกโดยทั่วไปว่า "Shell" เช่นกันก็จะมีผู้ผลิต Shell ขึ้มาอย่างมากมาย แต่ที่นิยมใช้งานมากที่สุดคือ "Bourne Shell" ซึ่งถูกเรียกตามผู้คิด คนแรกก็คือ Steven Bourne จะสามารถสังเกตได้โดยเครื่องคอมพิวเตอร์ที่อยู่ใน Bourne Shell จะมี "พร้อม" (prompt) เป็น $ "C shell" เป็น shell ที่นิยมใช้กันมากเช่นกัน โดยผู้เขียนคนแรก ก็คือ Bill Joy (เป็นคนเขียน vi บนยูนิกซ์ด้วยเช่นกัน) ปัจจุบัน Bill Joy ทำงาน ให้กับบริษัท Sun Microsystems (เขาเป็นผู้ร่วมก่อตั้งบริษัทคนหนึ่งด้วย) "C shell" จะมีเครื่องหมาย prompt เป็น % และยังมี "Korn shell" มี prompt เป็น $ Korn shell เป็นการนำเอาข้อดีของ Bourne และ C shell มารวมกัน ถ้าจะเข้าสู่ C shell ให้พิมพ์ csh ถ้าจะเข้าสู่ Korn shell ให้พิมพ์ ksh ส่วนใหญ่เมื่อผู้ใช้ login ระบบเข้ามามักจะเป็น Bourne กล่าวนำก่อนเข้าเรื่อง

ระบบปฏิบัติการ (Operating System) คือ กลุ่มของคำสั่งที่ร่วมกันทำงาน เพื่อควบคุมการทำงานของ Hardware และ software Applucation อื่นๆ ของคอมพิวเตอร์ เราอาจจะแบ่ง OS ตามลักษณะการใช้งานออกเป็น 2 จำพวกคือ

1.Single-User เป็น OS ที่ในขณะใดขณะหนึ่งจะให้บริการแก้ผู้ใช้เพียงคนเดียว เป็นระบบปฏิบัติการขนาดเล็ก สะดวกในการควบคุมการทำงาน เช่น DOS Windows95/98 ฯลฯ

2.Multi-User เป็น OS ที่ให้ผู้ใช้มากกว่าหนึ่งคนเข้าทำงานได้พร้อม ๆ กัน โดยการต่อออกเป็น terminal ย่อยๆ ใช้กับระบบขนาดใหญ่ เป็น OS ที่ไม่ยึดติดกับระบบเครื่องระบบใดระบบหนึ่ง เป็น OS ที่เป็น Multi-user และ Multi-tasking เช่น Unix , Novell , Linux , SunOS ฯลฯ

หน้าที่ของ OS ที่เป็น Multi User

I/O คือการนำเข้าและจัดเก็บข้อมูลลงบนอุปกรณ์ของคอมพิวเตอร์ เช่น การบันทึกลง disk หรือการแสดงผลทาง จอภาพหรือ พริ้นเตอร์

การจัดการข้อมูล คือการจัดเก็บข้อมูลเป็นไฟล์(files)หรือรวมกันเป็น directory

Command คือคำสั่งที่จะให้ผู้ใช้พิมพ์ให้ คอมพิวเตอร์ประมวลผล

Time Sharing การบริหารเวลาสำหรับการทำงานพร้อมกันหลายๆ งานหรือหลายๆ คน

โปรแกรม ที่ช่วยในการพัฒนาโปรแกรม เช่น Complier ต่างที่มีอยู่บน OS แต่ละตัว เช่นใน linux ก็จะมีภาษาต่างๆเช่น C , C++ และอื่นๆอีกหลายภาษา

ระบบความปลอดภัยของข้อมูลของแต่ละ user ที่คนอื่นไม่สามารถเข้ามากระทำได้โดยมิได้รับอนุญาต

การติดต่อกันเป็นเครือข่ายเพื่อใช้ทรัพยากรร่วมกัน

________________________________________
คำสั่ง
คำสั่ง telnet
เป็นคำสั่งที่เปลี่ยน host ที่ใช้อยู่ไปยัง host อื่น (ใน Windows 95 ก็มี)
รูปแบบ $ telnet hostname
เช่น c:> telnet student.rit.ac.th เปลี่ยนไปใช้ host ชื่อ student.rit.ac.th
$ telnet 202.44.130.165 เปลี่ยนไปใช้ host ที่มี IP = 202.44.130.165
$ telnet 0 telnet เข้า host ที่ใช้อยู่นะขณะนั้น
เมื่อเข้าไปได้แล้วก็จะต้องใส่ login และ password และเข้าสู่ระบบยูนิกส์นั้นเอง

คำสั่ง ftp
ftp เป็นคำสั่งที่ใช้ถ่ายโอนไฟล์ข้อมูลจากที่หนึ่ง ไปยังอีกที่หนึ่ง โดยการติดต่อกับ host ที่เป็น ftp นั้นจะต้องมี user name และมี password ที่สร้างขึ้นไว้แล้ว แต่ก็มี ftp host ที่เป็น public อยู่ไม่น้อยเช่นกัน ดังนั้นจะมี user name ที่เป็น publicเช่นกัน คือ user ที่ชื่อว่า anonymous ส่วน password ของ user anonymous นี้จะใช้เป็น E-mail ของผู้ที่จะ connect เข้าไปและโปรแกรมส่วนใหญ่ก็จะอยู่ใน directory ชื่อ pub
รูปแบบ $ ftp hostname
เช่น c:windows> ftp wihok.itgo.com
$ ftp ftp.nectec.or.th
คำสั่ง ftp จะมีคำสั่งย่อยที่สำคัญๆ ได้แก่
ftp> help ใช้เมื่อต้องการดูคำสั่งที่มีอยู่ใในคำสั่ง ftp
ftp> open hostname ใช้เมื่อต้องการ connect ไปยัง host ที่ต้องการ
ftp> close ใช้เมื่อต้องการ disconnect ออกจาก host ที่ใช้งานอยู่
ftp> bye หรือ quit ใช้เมื่อต้องการออกจากคำสั่ง ftp
ftp> ls หรีอ dir ใช้แสดงชื่อไฟล์ที่มีอยู่ใน current directory ของ host นั้น
ftp> get ใช้โอนไฟล์ทีละไฟล์จาก host ปลายทางมายัง localhost หรือเครื่องของเรานั้นเอง
ftp> mget ใช้โอนไฟล์ทีละหลายๆไฟล์จาก host ปลายทางมายัง localhost
ftp> put ใช้โอนไฟล์ทีละไฟล์จาก localhost ไปเก็บยัง host ปลายทาง
ftp> mput ใช้โอนไฟล์ทีละหลายๆไฟล์จาก localhost ไปเก็บยัง host ปลายทาง
ftp> cd ใช้เปลี่ยน directory
ftp> delete และ mdelete ใช้ลบไฟล์

คำสั่ง ls
มีค่าเหมือนกับ คำสั่ง dir ของ dos
รูปแบบ $ ls [-option] [file]
option ที่สำคัญ

l แสดงแบบไฟล์ละบรรทัด แสดง permission , เจ้าของไฟล์ , ชนิด , ขนาด , เวลาที่สร้าง
a แสดงไฟล์ที่ซ่อนไว้ ( dir /ah)
p แสดงไฟล์โดยมี / ต่อท้าย directory
F แสดงไฟล์โดยมีสัญญลักษณ์ชนิดของไฟล์ต่อท้ายไฟล์คือ
/ = directory
* = execute file
@ = link file
ld แสดงเฉพาะ directory (dir /ad)
R แสดงไฟล์ที่อยู่ใน directory ด้วย (dir /s)

เช่น
$ ls
$ ls -la

คำสั่ง more
แสดงข้อมูลทีละหน้าจอ อาจใช้ร่วมกับเครื่องหมาย pipe line ( | ) หากต้องการดูหน้าถัดไปกด space ดูบรรทัดถัดไปกด Enter เช่น
$ ls -la | more
$ more filename

คำสั่ง cat
มีค่าเหมือนกับ คำสั่ง type ของ dos ใช้ดูข้อมูลในไฟล์ เช่น
$ cat filename

คำสั่ง clear
มีค่าเหมือนกับ คำสั่ง cls ของ dos ใช้ลบหน้าจอ terminal ให้ว่าง
$ clear

คำสั่ง date
ใช้แสดง วันที่ และ เวลา
$ date 17 May 1999

คำสั่ง cal
ใช้แสดง ปฏิทินของระบบ
รูปแบบ $ cal month year เช่น
$ cal 07 1999

คำสั่ง logname
คำสั่งแสดงชื่อผู้ใช้ขณะใช้งาน
$ logname

คำสั่ง id
ใช้แสดงชื่อและกลุ่มมของผู้ใช้งาน
$ id

คำสั่ง tty
แสดงหมายเลข terminal ที่ใช้งานอยู่
$ tty

คำสั่ง hostname
คำสั่งแสดงชื่อเครื่องที่ใช้อยู่
$ hostname

คำสั่ง uname
คำสั่งแสดง ชื่อและรุ่นของ OS ชื่อและรุ่นของ cpu ชื่อเครื่อง
$ uname -a

คำสั่ง history
คำสั่งที่ใช้ดูคำสั่งที่ใช้ไปแล้วก่อนหน้านี้
$ history
เวลาเรียกใช้ต้องมี ! แล้วตามด้วยหมายเลขคำสั่งที่ต้องการ

คำสั่ง echo และ banner
$ echo "Hello" ใช้แสดงข้อความ "Hello" ขนาดปกติ
$ banner "Hello" ใช้แสดงข้อความ "Hello" ขนาดใหญ่

คำสั่ง who , w และ finger
ใช้แสดงว่าใครใช้งานอยู่บ้างขณะนั้น
$ who
$ w
$ finger ดูผู้ใช้ที่ host เดียวกัน
$ finger @daidy.bu..ac.th ดูผู้ใช้โดยระบุ Host ที่จะดู
$ finger wihok ดูผู้ใช้โดยระบุคนที่จะดูลงไป
$ who am i แสดงชื่อผู้ใช้ เวลาที่เข้าใช้งาน และ หมายเลขเครื่อง
$ whoami เหมือนกับคำสั่ง logname

คำสั่ง pwd
แสดง directory ที่เราอยู่ปัจจุบัน
$ pwd

คำสั่ง mkdir
ใช้สร้าง directory เทียบเท่า MD ใน DOS
$ mkdir dir_name

คำสั่ง cp
ใช้ copy ไฟล์หนึ่ง ไปยังอกไฟล์หนึ่ง
รูปแบบ $ cp [-irfp] file_source file_target
option -i หากมีการทับข้อมูลเดิมจะรอถามก่อนที่จะทับ
option -r copy ไฟล์ทั้งหมดรวมทั้ง directory ด้วย
option -f ไม่แสดงข้อความความผิดพลาดออกหน้าจอ
option -p ยืนยันเวลาและความเป็นเจ้าของเดิม
$ cp file_test /tmp/file_test

คำสั่ง mv
ใช้ move หรือเปลี่ยนชื่อไฟล์
รูปแบบ $ mv [-if] file_source file_target
ความหมายของ option เช่นเดียวกับ cp
$ mv index.html main.html เปลี่ยนชื่อไฟล์ index.html เป็น main.html

คำสั่ง rm
ใช้ลบไฟล์หรือ directory โดยที่ยังมีข้อมูลภายในเทียบเท่า del และ deltree ของ dos
รูปแบบ $ rm [-irf] filename
$ rm -r dir_name ลบ dir_name โดยที่ dir_name เป็น directory ว่างหรือไม่ว่างก็ได้
$ rm -i * ลบทุกไฟล์โดยรอถามตอบ

คำสั่ง rmdir
ใช้ลบ directory ที่ว่าง เทียบเท่ากับ rd ของ Dos
$ rmdir dir_name

คำสั่ง alias
ใช้ย่อคำสั่งให้สั้นลง
$ alias l = ls -l
$ alias c = clear

คำสั่ง unalias
ใช้ยกเลิก alias เช่น
$ unalias c

คำสั่ง type
ใช้ตรวจสอบว่าคำสั่งที่ใช้เก็บอยู่ที่ใดของระบบ
รูปแบบ $ type command
$ type clear

คำสั่ง find
ใช้ค้นหาไฟล์ที่ต้องการ เช่น
$ find /usr/bin -name "*sh" -print หาไฟล์ที่ลงท้ายด้วย sh จาก /usr/bin

คำสั่ง grep
ใช้คนหาข้อความที่ต้องการจากไฟล์
$ grep ข้อความ file

คำสั่ง man
man เป็นคำสั่งที่เป็นคู่มือการใช้คำสั่งแต่ละคำสั่งเช่น
$ man ls
$ man cp

คำสั่ง write
ใช้ส่งข้อความไปปรากฎที่หน้าจอของเครื่องที่ระบุในคำสั่งไม่สามารถใช้ข้าม host ได้
เช่น $ write s0460003

คำสั่ง mesg
$ mesg ดู status การรับการติดต่อของ terminal
$ mesg y เปิดให้ terminal สามารถรับการติดต่อได้
$ mesg n ปิดไม่ให้ terminal สามารถรับการติดต่อได้

คำสั่ง talk
ใช้ ติดต่อสื่อสารแบบสองทาง เหมือนกับการคุยโดยผู้ส่ง ๆ ไปแล้วรอการตอบกลับจาก ผู้รับ สามารถหยุดการติดต่อโดย Ctrl + c สามารถใช้ข้าม host ได้
รูปแบบ $ talk username@hostname

คำสั่ง pine
ใช้อ่านและส่งจดหมายข้างในจะมี menu ให้ใช้
คำสั่ง tar

ใช้ สำหรับ รวมไฟล์ย่อยให้เป็นไฟล์ Packet คล้ายๆกับการ zip หลายๆไฟล์ให้เป็นไฟล์เดียวแต่ขนาดไฟล์ไม่ได้ลดลงอย่างการ zip โดยไฟล์ output ที่ได้จะตั้งชื่อเป็น filename.tar หรือการแตกไฟล์ packet จาก filename.tar ให้เป็นไฟล์ย่อยมักจะใช้คู่กับ gzip หรือ compress เพื่อทำการลดขนาด packet ให้เล็กลง

รูปแบบการใช้

$ tar -option output input
-option ประกอบด้วย -cvf , -tvf , -xvf แสดงดังด้านล่าง
output คือ ไฟล์.tar หรืออาจจะเป็น device เช่น tape ก็ได้
input คือ ไฟล์หรือกลุ่มไฟล์หรือ directory หรือรวมกันทั้งหมดที่กล่าวมา
$ tar -cvf Output_file.tar /home/myhome/*
Option -cvf ใช้สำหรับการรวมไฟล์ย่อยไปสู่ไฟล์ .tar จากตัวอย่าง รวมไฟล์ทุกไฟล์ที่อยู่ใน /home/myhome/ เข้าสู่ไฟล์ชื่อ Output_file.tar
$ tar -tvf filename.tar
Option -tvf ใช้แตกไฟล์ .tar เป็นไฟล์ย่อยๆแบบ preview คือแสดงให้ดูไม่ได้แตกจริงอาจใช้คู่กับ คำสั่งอื่น เพื่อให้ได้ประโยชน์ตามต้องการ เช่น tar -tvf filename.tar |more
$ tar -xvf filename.tar
Option -xvf ใช้แตกไฟล์ .tar เป็นไฟล์ย่อยๆ โดยจะแตกลง ณ current directory

คำสั่ง gzip

ใช้ zip หรือ Unzip ไฟล์ packet โดยมากแล้วจะเป็น .tar เช่น
$ gzip filename.tar ผลที่ได้จะได้ไฟล์ซึ่งมีการ zip แล้วชื่อ filename.tar.gz
$ gzip -d filename.tar.gz ใช้ unzip ไฟล์ผลที่ได้จะเป็น filename.tar

คำสั่ง Compress และ Uncompress

หลังจากการ compress แล้วจะได้เป็นชื่อไฟล์เดิมแต่ต่อท้ายด้วย .Z การใช้งานเหมือนกับ gzip และ gzip -d เช่น
$ compress -v file.tar จะได้ไฟล์ชื่อ file.tar.Z โดย Option -v จะเป็นการ verify การ compress
$ uncompress -v file.tar.Z

________________________________________

Operating System Component

1.Kernel คือหัวใจของระบบจะควบคุมการทำงานภายในทั้งหมดของระบบคอมพิวเตอร์ เช่น การเตรียมทรัพยากรต่างๆของระบบ การจัดเก็บข้อมูล การบริหารหน่วยความจำ การควมคุมอุปกรณ์ต่างๆที่ต่ออยู่ ตัว kernel จะขึ้นกับ ชนิดของเครื่องดังนั้นเราต้องใช้ kernel คนละตัวกันหากใช้เครื่องคนละตระกูลกัน

2.File System (FS) คือโครงสร้างการจัดเก็บข้อมูลในฮาร็ดดิสก์ เพื่อให้ OS สามารถอ่านเขียน ใช้ไฟล์ที่ต้องการได้อย่างมีประสิทธิภาพ โดยที่ OS แต่ละตัวจะมี FS ที่แตกต่างกัน เช่น

Operating System File System
DOS/Windows95 FAT12,FAT16
Windows98/95-osr FAT12,FAT16,FAT32
Windows NT NTFS,FAT16,HPFS
OS/2 FAT12,FAT16,HPFS
Linux EXT2,VFAT,HPFS,NTFS,etc.

SunOS UFS
ฯลฯ ฯลฯ

หมาย เหตุ เนื่องจาก Linux ใช้ File System แบบ Ext2 (Extended Files System 2) จึงทำให้ Linux สามารถมองเห็นดิสก์ก้อนที่ใหญ่มากมีขนาดถึง 4 เทราไบต์(Tbytes) หรือขนาด 4000 Gbytes นั้นละ

3.Shell เป็น command Interpreter เป็นตัวกลางติดต่อระหว่าง user กับ kernel คอยรับคำสั่งที่จะพิมพ์เข้าไปแล้วแปลคำสั่งนั้นต่อไป นอกจากนี้แล้วยังสามารถที่จะนำเอาคำสั่งต่างๆ มาเขียนเป็นโปรแกรมเรียกว่า Shell Script และ shell ยังสามารถกำหนดทิศทาง Input / Output ได้ด้วย การเปลี่ยนทิศทางจะมีเครื่องหมายที่จำเป็นคือ
> การเปลี่ยนทิศทางของ output
< การเปลี่ยนทิศทางของ input
>> การเปลี่ยนทิศทางของ output ไปต่อท้ายไฟล์

การทำงานผ่าน shell มี 2 ลักษณะคือ

Synchronous execution เป็นการทำงานตามลำดับของคำสั่งทีละคำสั่งจนเสร็จแล้วจึงจะขึ้น prompt เพื่อป้อนคำสั่งต่อไป เรียกว่าการทำงานแแบบฉากหน้า ( foreground mode) เช่น

$ ls -l (เป็นการ list ดูไฟล์แบบยาวใน directory ปัจจุบัน)

Asynchronous execution จะทำงานตามคำสั่งโดยที่งานเก่าจะเสร็จแล้วหรือยังไม่เสร็จก็ตามแต่ shell จะกำหนด prompt และสร้าง shell ใหม่ขึ้นมาเพื่อรองรับงานใหม่ต่อไป เรียกว่าการทำงานแบบฉากหลัง (background mode) การทำงานแบบนี้ทำได้โดยเติมเครื่องหมาย ampersand (&) ไว้ที่ท้ายคำสั่งนั้นเช่น

$ netscape & (เรียกโปรแกรม netscape แล้วขึ้น prompt โดยไม่ต้องรอให้ออกจาก netscape ก่อน)

Shell ที่นิยมใช้

Bourne Shell (sh) เป็น starndard shell ที่มีใใน unix ทุกตัวสามารถย้าย shell script ไปยัง unix ระบบอื่นได้โครงสร้างเป็นแบบ Algol สามารถใช้งาน Procedure ได้ จะมี default prompt เป็น "$"

C Shell (csh) มีโครงสร้างคล้ายภาษา C ทำงานได้ดีกว่า bourne shell มีไฟล์ที่เก็บคำสั่งที่ใช้ไปแล้ว ทำงานกับ shell script ของ bourne shell ไม่ได้ default prompt เป็น "%"

Korn Shell (ksh) ทำงานได้ดีกว่า sh และ csh แต่ไม่ได้มีใน unix ทุกตัว ksh มีขนาดใหญ่กว่า shell อื่น ๆ เขียน shell script ได้ง่ายขึ้นและรัดกุม เป็น Standard IEEE PDSIX 1003.2 default prompt เป็น "$"

Bourne Again Shell (bash) เป็นการพัฒนา sh ให้สามารถมีแฟ้มคำสั่งที่ใช้ไปแล้ว และเพิ่มขีดความสามารถเพิ่มขึ้นอีกหลายอย่าง (default of Linux) default prompt เป็น "$"

ฯลฯ

4.Utilities คำสั่งต่างที่ทำงานได้บน ระบบงาน unix จึงทำให้ kernel มีขนาดเล็ก เพราะจะมีเฉพาะหน้าที่สำคัญเท่านั้น

ประเภทของไฟล์ใน Unix
ไฟล์ ในระบบยูนิกซ์นั้นจะขึ้นอยู่กับผู้สร้างยูนิกซ์แต่ละตัวซึ่งมีทั้งแตกต่าง และเหมือนกัน และการตั้งชื่อไฟล์ในระบบยูนิกซ์ส่วนใหญ่จะสามารถตั้งชื่อได้ยาวถึง 255 ตัวอักษรโดยที่ตัวอักษรตัวเล็ก และตัวอักษรตัวใหญ่นั้นมีความแตกต่างกัน สามารถใช้ตัวเลขหรือขีดเส้นใต้ร่วมด้วยก็ได้ แต่ไม่ควรใช้เครื่องหมายเหล่านี้มาตั้งชื่อ เช่น ^ " ' , - ? ] () ~ ! $ @ # <> $ / และหากไฟล์ใดที่ตั้งชื่อขึ้นต้นด้วยจุด "." จะทำให้ไฟล์นั้นเป็น hidden file คือไฟล์ที่ถูกซ่อนไว้ จะไม่สามารถมองเห็นได้โดยใช้คำสั่งทั่วไปจะต้องมี option เพิ่มเติม

Regular files คือไฟล็ทั่วไปที่สร้างขึ้นได้ด้วย Text Editor หรืออาจจะสำเนามาจากไฟล์อื่น หรืออาจจะเป็นโปรแกรมใช้งานต่างๆก็ได้

Directory files คือไฟล์ที่เก็บไฟล์ทั่วไปหรือจะเก็บไฟล์ที่เป็น Directory ด้วยกัน ที่เรียกว่า Sub Directory ก็ได้ โดยที่ Directory บนสุด (root) ของ ยูนิกซ์จะแทนด้วย " / "

Special files เป็นไฟล์พิเศษจะมีอยู่สองแบบคือ Character device file และ Block device file ทั้งสองแบบจะเป็นไฟล์ device driverโดยส่วนใหญ่จะเก็บไว้ที่ /dev แต่ไฟล์ทั้งสองจะแตกต่างกัน ที่การรับส่งข้อมูล นั่นคือ Character device file จะรับส่งข้อมูลที่ละตัวอักษร แต่ Block device file จะรับส่งข้อมูลเป็นบล็อก

Unix demain seckets ใน BSD Unix หรือ Name pipes ใน AT&T Unix

Symbolic Link files หรือไฟล์เชื่อมต่อ การเชื่อมต่อของไฟล์มี 2 ลักษณะคือ

1. Hard Link การเชื่อมต่อแบบนี้จะใช้ I-node เดียวกับไฟล็ต้นฉบับ เหมือนกับมีการสร้างไฟล์ใหม่ แต่ใช้ค่า I-node เดิม และ I-node จะมีตัวนับจำนวนไฟล์ที่เชื่อมต่อด้วย หากแก้ไขไฟล์ใดไฟล์หนึ่งจะมีผลกระทบส่งถึงกัน เพราะข้อมูลเก็บที่เดียวกัน แต่ข้อมูลต้องอยู่ที่ partition เดียวกัน ทำให้ประหยัดเนื้อที่ สามารถอ้างถึงข้อมูลได้จากหลายๆที่

2. Symbolic Link การเชื่อมต่อแบบนี้จะสร้าง I-node ของตัวเองขึ้นมาใหม่ เหมือนกับ shutcut ของ windows 95 โดยที่หากเปลี่ยนแปลงต้นฉบับจะมีผลกับ link file แต่หากลบ link file จะไม่มีผลใดๆต่อไฟล์ต้นฉบับ สามารถใช่ได้ทั้งที่อยู่ partition เดียวกัน หรือต่าง partition กันก็ได้

เราสามารถที่จะแยกประเภทของไฟล์ต่างได้โดยใช้คำสั่ง ls -l แล้วจะแสดงสัญลักษณ์ โดยจะแสดงดังนี้

Type Sysbol Create Remove
Text file - cp , mv ,etc rm
Directory p mkdir rm -r , rmdir
Character device v mknod rm
Block device b mknod rm
Unix domain socket s socket rm
Name pipes p mknod rm
link file l ln -s rm

โครง สร้างไฟล์ไดเรคเทอรีของระบบยูนิกซ์ส่วนใหญ่จะเป็นแบบ Filesystem Hierarchy Standard (FHS) โดยการจัดลำดับชั้นจะเป็นแบบต้นไม้หัวกลับ โดยเริ่มจากชั้นแรกที่เป็น ราก หรือ root เขียนแทนด้วย / ไฟล์แต่ละไฟล์อาจจะสร้างขึ้นมาเองหรือเป็นโปรแกรมก็ได้ ไฟล์ลักษณะนี้จะเป็นไฟล์ไดเรคเทอรี การจัดไฟล์ระบบนี้จะทำให้การจัดไฟล์เป็นระบบ ง่ายต่อการดูแลรักษา โดยจะมีโครงสร้างหลักเป็นดังนี้

/ เป็นไดเรคเทอรี root ที่เก็บไฟล์ kernel ของระบบ

/bin เป็นไดเรคเทอรีที่ใช้เก็บคำสั่งทั่วไปของระบบ

/dev เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เกี่ยวกับอุปกรณ์ต่างๆ

/etc เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของเครื่อง

/etc/X11 เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของ x windows

/etc/skel เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็นไฟล์ต้นฉบับที่จะถูกสำเนาไปยัง home user

/lib เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ไลบรารี สำหรับให้โปรแกรมต่างๆเรียกใช้

/sbin เป็นไดเรคเทอรีที่ใช้เก็บไฟล์คำสั่งของผู้ดูแลระบบ

/usr เป็นไดเรคเทอรีที่ใช้เก็บไฟล์โปรแกรมของผู้ใช้ทั่วไป

/var เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ข้อมูลทั่วไปของระบบ

ประเภทของไฟล์ใน Unix
ไฟล์ ในระบบยูนิกซ์นั้นจะขึ้นอยู่กับผู้สร้างยูนิกซ์แต่ละตัวซึ่งมีทั้งแตกต่าง และเหมือนกัน และการตั้งชื่อไฟล์ในระบบยูนิกซ์ส่วนใหญ่จะสามารถตั้งชื่อได้ยาวถึง 255 ตัวอักษรโดยที่ตัวอักษรตัวเล็ก และตัวอักษรตัวใหญ่นั้นมีความแตกต่างกัน สามารถใช้ตัวเลขหรือขีดเส้นใต้ร่วมด้วยก็ได้ แต่ไม่ควรใช้เครื่องหมายเหล่านี้มาตั้งชื่อ เช่น ^ " ' , - ? ] () ~ ! $ @ # <> $ / และหากไฟล์ใดที่ตั้งชื่อขึ้นต้นด้วยจุด "." จะทำให้ไฟล์นั้นเป็น hidden file คือไฟล์ที่ถูกซ่อนไว้ จะไม่สามารถมองเห็นได้โดยใช้คำสั่งทั่วไปจะต้องมี option เพิ่มเติม

Regular files คือไฟล็ทั่วไปที่สร้างขึ้นได้ด้วย Text Editor หรืออาจจะสำเนามาจากไฟล์อื่น หรืออาจจะเป็นโปรแกรมใช้งานต่างๆก็ได้

Directory files คือไฟล์ที่เก็บไฟล์ทั่วไปหรือจะเก็บไฟล์ที่เป็น Directory ด้วยกัน ที่เรียกว่า Sub Directory ก็ได้ โดยที่ Directory บนสุด (root) ของ ยูนิกซ์จะแทนด้วย " / "

Special files เป็นไฟล์พิเศษจะมีอยู่สองแบบคือ Character device file และ Block device file ทั้งสองแบบจะเป็นไฟล์ device driverโดยส่วนใหญ่จะเก็บไว้ที่ /dev แต่ไฟล์ทั้งสองจะแตกต่างกัน ที่การรับส่งข้อมูล นั่นคือ Character device file จะรับส่งข้อมูลที่ละตัวอักษร แต่ Block device file จะรับส่งข้อมูลเป็นบล็อก

Unix demain seckets ใน BSD Unix หรือ Name pipes ใน AT&T Unix

Symbolic Link files หรือไฟล์เชื่อมต่อ การเชื่อมต่อของไฟล์มี 2 ลักษณะคือ

1. Hard Link การเชื่อมต่อแบบนี้จะใช้ I-node เดียวกับไฟล็ต้นฉบับ เหมือนกับมีการสร้างไฟล์ใหม่ แต่ใช้ค่า I-node เดิม และ I-node จะมีตัวนับจำนวนไฟล์ที่เชื่อมต่อด้วย หากแก้ไขไฟล์ใดไฟล์หนึ่งจะมีผลกระทบส่งถึงกัน เพราะข้อมูลเก็บที่เดียวกัน แต่ข้อมูลต้องอยู่ที่ partition เดียวกัน ทำให้ประหยัดเนื้อที่ สามารถอ้างถึงข้อมูลได้จากหลายๆที่

2. Symbolic Link การเชื่อมต่อแบบนี้จะสร้าง I-node ของตัวเองขึ้นมาใหม่ เหมือนกับ shutcut ของ windows 95 โดยที่หากเปลี่ยนแปลงต้นฉบับจะมีผลกับ link file แต่หากลบ link file จะไม่มีผลใดๆต่อไฟล์ต้นฉบับ สามารถใช่ได้ทั้งที่อยู่ partition เดียวกัน หรือต่าง partition กันก็ได้

เราสามารถที่จะแยกประเภทของไฟล์ต่างได้โดยใช้คำสั่ง ls -l แล้วจะแสดงสัญลักษณ์ โดยจะแสดงดังนี้

Type Sysbol Create Remove
Text file - cp , mv ,etc rm
Directory p mkdir rm -r , rmdir
Character device v mknod rm
Block device b mknod rm
Unix domain socket s socket rm
Name pipes p mknod rm
link file l ln -s rm

โครง สร้างไฟล์ไดเรคเทอรีของระบบยูนิกซ์ส่วนใหญ่จะเป็นแบบ Filesystem Hierarchy Standard (FHS) โดยการจัดลำดับชั้นจะเป็นแบบต้นไม้หัวกลับ โดยเริ่มจากชั้นแรกที่เป็น ราก หรือ root เขียนแทนด้วย / ไฟล์แต่ละไฟล์อาจจะสร้างขึ้นมาเองหรือเป็นโปรแกรมก็ได้ ไฟล์ลักษณะนี้จะเป็นไฟล์ไดเรคเทอรี การจัดไฟล์ระบบนี้จะทำให้การจัดไฟล์เป็นระบบ ง่ายต่อการดูแลรักษา โดยจะมีโครงสร้างหลักเป็นดังนี้

/ เป็นไดเรคเทอรี root ที่เก็บไฟล์ kernel ของระบบ

/bin เป็นไดเรคเทอรีที่ใช้เก็บคำสั่งทั่วไปของระบบ

/dev เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เกี่ยวกับอุปกรณ์ต่างๆ

/etc เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของเครื่อง

/etc/X11 เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของ x windows

/etc/skel เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็นไฟล์ต้นฉบับที่จะถูกสำเนาไปยัง home user

/lib เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ไลบรารี สำหรับให้โปรแกรมต่างๆเรียกใช้

/sbin เป็นไดเรคเทอรีที่ใช้เก็บไฟล์คำสั่งของผู้ดูแลระบบ

/usr เป็นไดเรคเทอรีที่ใช้เก็บไฟล์โปรแกรมของผู้ใช้ทั่วไป

/var เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ข้อมูลทั่วไปของระบบ

PERMISSION
ยูนิกซ์ เป็นระบบ OS ที่ใช้ไฟล์ต่างๆ ร่วมกันหากทุกคน มีสิทธิที่จะกระทำต่อทุกไฟล์เท่ากัน ย่อมจะทำให้เกิดความวุ่นวาย ดังนั้นในระบบยูนิกซ์จึงมี user id และ group id ประจำ user แต่ละคน จึงทำให้ที่ home directory ของแต่ละ user จะเป็นที่ ที่ user แต่ละคนมีสิทธิมากที่สุด เมื่อ user สร้างไฟล์ขึ้นมาก็จะทำให้ มีชื่อของผู้สร้างติดอยู่ด้วย การจำกัดสิทธิการเข้าถึงไฟล์ออกเป็น 3 กลุ่มคือ

Owner เจ้าของไฟล์หรือผู้ที่สร้างไฟล์
Group ผู้ใช้กลุ่มเดียวกับผู้ใช้ไฟล์ คือ ผู้ใช้ที่มี gid เดียวกับเจ้าของไฟล์
Other คนอื่นๆหรือใครก็ได้

________________________________________

สิทธิในไฟล์จะประกอบไปด้วย

Read Permission สิทธิในการอ่าน แทนด้วย r
Write Permission สิทธิในการเขียน แทนด้วย w
Execute Permission สิทธิในการ Run แทนด้วย x

user สามารถที่จะดู Permission ของไฟล์และชนิดของไฟล์ได้โดยคำสั่ง
$ ls -la
-rwxr--r-- 1 wihok Special 5223 May 12 10:10 .profile
-rwxr--r-- 1 wihok Special 2022 May 12 10:13 .kshrc
drwx------ 2 wihok Special 1024 May 12 10:34 mail
-rw-r--r-- 1 wihok Special 11211 May 12 11:01 test
จากตัวอย่างจะเห็นว่า มีทั้งหมด 7 filed ดังนี้

Field
ความหมาย

1 File Type และ Permission
2 จำนวน link
3 เจ้าของ (owner)
4 กลุ่ม (group)
5 ขนาดของไฟล์ (byte)
6 วัน-เวลาที่ update
7 ชื่อไฟล์

มาดูกันที่ field ที่ 1 ที่เป็น Permission โดย

อักษรตัวที่ 1 แสดงชนิดของไฟล์
อักษรตัวที่ 2-4 แสดง Owner
อักษรตัวที่ 5-7 แสดง Group
อักษรตัวที่ 8-10 แสดง Other

เช่น จากตัวอย่าง ไฟล์ .kshrc มี permission เป็น -rwxr--r-- หมายความว่า Owner สามารถที่จะ อ่าน เขียน และ Run ได้ แต่ user กลุ่มเดียวกับ owner และ other อ่านได้เพียงอย่างเดียว สังเกตุได้ว่าหากไม่มี permission จะแสดงด้วย


--------------------------------------------------------------------------------

คำสั่งเปลี่ยน Permission
การเปลี่ยน permission ของไฟล์กระทำได้โดยผู้ที่เป็น Admin ของระบบ หรือเจ้าของไฟล์นั้น โดยมีคำสสั่งคือ

1.คำสั่ง chmod ใช่เปลียน permission ของไฟล์มีวิธีการเปลี่ยนได้ 2 วิธี คือ

Absolute Permission

รูปแบบ $ chmod ตัวเลข filename
โดยสามารถหาตัวเลขที่มาใส่ได้จากการแทนค่าน้ำหนักของแต่ละบิทลงไปคือ
บิท r แทนน้ำหนักด้วย 4
บิท w แทนน้ำหนักด้วย 2
บิท x แทนน้ำหนักด้วย 1
บิท - แทนน้ำหนักด้วย 0

โดย หากต้องการให้ permission ใดก็แทนค่าของบิทนั้นลงไปแล้วนำเลขน้ำหนักของแต่ละบิทมารวมกัน (คิดทีละส่วนโดยแยกเป็น owner , group และ other) เช่น
จะกำหนดสิทธิไฟล์ test ให owner สามารถอ่าน เขียน และ Run ได้ group สามารถอ่านและ run ได้ ส่วน other สามารถ run ได้เพียงอย่างเดียวคิดได้ดังนี้

Permission rwx r-x --x
Number 7 5 1
ใช้คำสั่ง : $ chmod 751 test

Relative Permission

ผู้ใช้ไฟล์ เครื่องหมาย สิทธิ
u (เจ้าของไฟล์) + เพิ่มสิทธิ r (อ่าน)
g (กลุ่มเดียวกับเจ้าของไฟล์)
- ลดสิทธิ w (เขียน)
o (คนทั่วไปใครก็ได้)
= กำหนดสิทธิ x (Run)
a (ทุกคนทุกกลุ่มที่กล่าวมา)

เช่นจะเปลี่ยน permission ของไฟล์ .kshrc จาก rwxr--r-- เป็น rwxrw-r--
$ chmod g+w .kshrc
หรือจะเปลี่ยน permission ของไฟล์ .profile จาก rwxr--r-- เป็น rwxrw-rw-
$ chmod go+w .profile

2.คำสั่ง chown ใช้เปลี่ยนผู้เป็นเจ้าของไฟล์ เช่น

$ chown newuser test คือเปลี่ยน field ที่ 3 จากการใช้คำสั่ง ls -la จากเจ้าของเดิมคือ wihok เป็น newuser

3.คำสั่ง chgrp ใช้เปลี่ยนกลุ่มผู้เป็นเจ้าของไฟล์ เช่น

$ chgrp newgroup test คือเปลี่ยน field ที่ 4 จากการใช้คำสั่ง ls -la จากเจ้าของเดิมคือ Special เป็น newgroup
Text Editor
Text Editor ที่ใช้ในระบบยูนิกซ์ที่เห็นบ่อยคือ โปรแกรม pico และโปรแกรม vi แต่ pico ไม่ได้มมีอยู่ใใน unix ทุกตัว การใช้งานง่าย ไม่ต้องจำคำสั่งต่างเพราะมีอธิบายอยู่แล้วที่ด้านล่างหน้าจอภาพ สามารถพิมพ์ text ได้เลย แต่ text editor ที่ชื่อ vi จะเป็น text editor ที่มีอยู่ในทุกยูนิกซ์ การใช้งานค่อนข้างยาก ดังนั้นผู้เขียนจะแนะนำเฉพาะการใช้ vi เท่านั้น

การเรียกใช้งาน text editor
$ pico filename หรือ $ pico
$vi filename หรือ $ vi

การใช้งาน vi
vi เป็น text editor ที่มีบนยูนิกซ์ จะแบ่งการทำงานออกเป็น 3 mode คือ

Command Mode เป็นการทำงานของการเคลื่อนย้าย cursor ( editor ตัวอื่นจะใช้คีย์ลูกศร ,Home ,End ,insert , delete แต่ใน vi คีย์เหล่านี้จะไม่มีผล )

Edit Mode เป็นการทำงานของการแก้ไขข้อความ

Last Line Mode เป็นการ save , open , quit , ค้นหา , ฯลฯ

การเปลี่ยน mode ใน vi จะใช้ปุ่ม Esc ยกเว้นเปลี่ยนไปสู่ Last line Mode จะต้องกด Esc แล้วกด Shift + : จะปรากฎ : ที่บรรทัดล่างสุด

Command Mode
การ ทำงานใน mode นี้จะเป็นการเคลื่อนย้ายเคอเซอร์ไปยังตำแหน่งที่ต้องการ แต่หากย้ายไปตำแหน่งที่ไม่มีข้อมูล มันจะส่งเสียงเตือน ตัวอักษรที่ใช้ใน mode นี้ที่สำคัญได้แก่

h เลื่อน cursor ไปทางซ้ายทีละตัวอักษร
j เลื่อน cursor ลง 1 บรรทัด
k เลื่อน cursor ขึ้น 1 บรรทัด
l เลื่อน cursor ไปทางฃวาทีละตัวอักษร
w เลื่อน cursor ไปทางฃวาทีละคำ
b เลื่อน cursor ไปทางซ้ายทีละคำ
$ เลื่อน cursor ไปท้ายบรรทัด
0 เลื่อน cursor ไปต้นบรรทัด
nG ไปยังบรรทัดที่ n หากไม่ใส่ n จะไปบรรทัดสุดท้าย
Ctrl+f เลื่อน cursor ลง 1 หน้าจอ
Ctrl+b เลื่อน cursor ขึ้น 1 หน้าจอ
Ctrl+L Refresh หน้าจอ
[[ ไปยังต้นไฟล์
]] ไปยังท้ายไฟล์
ััyy Copy ข้อความทั้งบรรทัด
ัyw Copy ข้อความทั้งคำ
ัyG Copy ถึงท้ายไฟล์
y$ Copy ถึงท้ายบรรทัด
p Paste หลัง cursor
P Paste หน้า cursor
cw พิมพ์ทับทีละ word
c$ พิมพ์ทับจนถึงท้ายบรรทัด
cG พิมพ์ทับจนถึงท้ายไฟล์
r พิมพ์ทับทีละ 1 ตัว
R พิมพ์ทับจนกว่าจะกด Esc
u Undo การกระทำครั้งล่าสุด
x ลบตรง cursor
X ลบหน้า cursor
dw ลบคำ
dd ลบบรรทัด
d$ ลบจาก cursor จนท้ายบรรทัด
d0 ลบจาก cursor จนต้นบรรทัด
dG ลบจาก cursor จนท้ายไฟล์

Edit Mode
ตัวอักษรที่ใช้ใน mode นี้ที่สำคัญได้แก่

a เพิ่มข้อมูลต่อจาก cursor
A เพิ่มข้อมูลต่อจากท้ายบรรทัด
i เพิ่มข้อมูลหน้า cursor
I เพิ่มข้อมูลที่ต้นบรรทัด
o แทรกบรรทัดด้านล่าง cursor
O แทรกบรรทัดด้านบน cursor

Last Line Mode
การใช้งาน mode นี้ก็กด Esc แล้วกด : ก็จะปรากด : ที่ท้ายบรรทัด และสามารถที่จะป้อนคำสั่งต่อไปนี้ได้

:q! quit
:w! save
:wq! save and quit
:w! filename save as filename
:e! filename open filename
:/string ค้นหาข้อความที่ต้องการ
:help ดูคำสั่งต่างๆ
:set nu แสดงหมายเลขบรรทัด
:set nonu ไม่แสดงหมายเลขบรรทัด

คำสั่ง Unix ที่ใช้ประจำ
Unix เป็นระบบปฏิบัติการที่นิยมใช้กับแพร่หลายบนระบบขนาดใหญ่ และในปัจจุบันยังมีระบบปฏิบัติการในลักษณะของ Unix-like เกิดขึ้นมากมาย และ เริ่มเป็นที่นิยมใช้กันมากหลายยิ่งขึ้นบนเครื่องคอมพิวเตอร์ส่วนบุคคล เอกสารชุดนี้จึงสรุปคำสั่งบน Unix ที่มักใช้เป็นประจำโดยมีการยกตัวอย่างเปรียบเทียบกับ DOS/Windows พร้อมกับอธิบายถึงส่วนขยายเพิ่มเติมของคำสั่ง เพื่ออำนวยความสะดวกให้กับผู้เริ่มหัดใช้ Unix ทั่วไป
ความรู้พื้นฐานเกี่ยวกับ Unix ที่ควรทราบ

1. Unix เป็นระบบปฏิบัติการแบบ Multi User และ Multi Tasking ซึ่งแตกต่างจาก Window ที่เป็นระบบปฏิบัติการแบบ Multi Tasking แต่ไม่เป็น Multi User กล่าวคือ ณ เวลาหนึ่งๆ บนระบบ Unix จะมีผู้ใช้งานเครื่องคอมพิวเตอร์ได้มากกว่า 1 คนพร้อมกัน ทำให้ Unix มีระบบการจัดการ Permission และระบบรักษาความปลอดภัยของข้อมูลดีกว่าและซับซ้อนกว่า DOS/Window
2. ระบบ File System ของ Unix นั้นจะเป็นระบบ Single Root กล่าวคือจะมี Logical Driver เพียง Drive เดียวเท่านั้น และกรณีมี Harddisk หลายตัวหรือหลาย Partition แต่ละ Partition จะถูกกำหนดให้เป็นเพียง Directory ย่อยของระบบ ซึ่งจะต่างกับ DOS/Window ที่เป็นระบบ Multiple Root ที่จะแยก Drive / Parition ตามตัวอักษร เช่น A: , C: เป็นต้น
3. เนื่องจาก Unix เป็นระบบปฏิบัติการที่พัฒนาด้วยภาษา C ดังนั้นชื่อต่างๆ บน Unix จึงมีลักษณะเป็น Case-sensitive เช่น กรณีแฟ้มข้อมูลชื่อ MyFile กับ myfile จะเป็นแฟ้มข้อมูลคนละชื่อกัน
4. ระบบ Permission ของ Unix จะแบ่งเป็น 3 ระดับคือ ระดับเจ้าของ (User หรือ Owner) ระดับกลุ่ม (Group) และ ระดับบุคคลอื่น (Other) โดยในแต่ละระดับจะแบ่งออกเป็นสิทธิในการประมวลผล (execute) การอ่าน (read) และ การเขียน (write) ทั้งรายละเอียดเพิ่มเติมให้ดูจากคำสั่ง chmod
5. กรณีที่ผู้ใช้กระทำคำสั่งใดผิดพลาดนั้น บน Unix เราสามารถที่จะ Interrupt เพื่อยกเลิกการทำงานของคำสั่งหรือโปรแกรมนั้นๆ ได้โดยการกด CTRL + C
6. มาตรฐานของระบบ Keyboard บนเครื่อง Unix บางเครื่องอาจจะแตกต่างกับมาตรฐาน Keyboard บนเครื่องที่เราใช้อยู่ ดังนั้นในบางกรณี เช่น การ telnet จากเครื่องอื่นเข้าสู่ระบบ Unix เราจึงไม่อาจใช้ Key บางอันตามปกติได้ เช่น backspace ดังนั้นเพื่ออำนวยความสะดวกให้เราสามารถใช้ backspace ได้ตามปกติจึงต้องมีการ map key ใหม่ด้วยการเรียกคำสั่ง stty erase [backspace]

คำสั่งเกี่ยวกับการจัดการแฟ้มข้อมูล

ls

เป็นคำสั่งที่ใช้สำหรับแสดงแฟ้มข้อมูล (ในทำนองเดียวกับ dir) มากจากคำว่า list

โครงสร้างคำสั่ง

ls [option]... [file]...

โดย option ที่มักใช้กันใน ls คือ

-l จะแสดงผลลัพธ์แบบ Long Format ซึ่งจะแสดง Permission ของแฟ้มด้วย

-a จะแสดงแฟ้มข้อมูลทั้งหมด + ข้อมูลที่ซ่อนอยู่

-F จะแสดง / หลัง Directory และ * หลังแฟ้มข้อมูลที่ execute ได้

ตัวอย่าง

ls -l - แสดงแฟ้มข้อมูลทั้งหมด แบบ Long Format (แต่ไม่แสดงข้อมูลที่ซ่อนอยู่)

ls -al - แสดงแฟ้มข้อมูลทั้งหมด รวมทั้งข้อมูลที่ซ่อนอยู่ แบบ Long Format

ls -F

ls /usr/bin

แหล่งข้อมูลเพิ่มเติม : ls --help และ man ls

cp

เป็นคำสั่งที่ใช้สำหรับสำเนาแฟ้มข้อมูล (ในทำนองเดียวกับ copy) มาจากคำว่า copy

โครงสร้างคำสั่ง

cp source target

ตัวอย่าง

cp test.txt test1.bak

แหล่งข้อมูลเพิ่มเติม : cp --help และ man cp

mv

เป็นคำสั่งที่ใช้สำหรับการย้ายแฟ้มข้อมูลและ Directory รวมถึงการเปลี่ยนชื่อด้วย (ในทำนองเดียวกับ move) มาจากคำว่า move

โครงสร้างคำสั่ง

mv source target

ตัวอย่าง

mv *.tar /backup

mv test.txt old.txt

mv bin oldbin

แหล่งข้อมูลเพิ่มเติม : mv --help และ man mv

rm

เป็นคำสั่งที่ใช้สำหรับลบแฟ้มข้อมูล (ในทำนองเดียวกับ del) มาจากคำว่า remove

โครงสร้างคำสั่ง

rm [option]... [file]...

โดย option ที่มักใช้กันใน rm คือ

-r ทำการลบข้อมูลใน directory ย่อยทั่งหมด

-i โปรแกรมจะถามยืนยันก่อนทำการลบ

-f โปรแกรมจะลบข้อมูลทันที โดยไม่ถามยืนยันก่อน

ตัวอย่าง

rm -rf test/

rm test.doc

แหล่งข้อมูลเพิ่มเติม : rm --help และ man rm



คำสั่งเกี่ยวกับการจัดการ Directory / Folder

pwd

เป็นคำสั่งที่ใช้สำหรับแสดง Directory ปัจจุบัน (ในทำนองเดียวกับการพิมพ์ cd บน DOS) มาจากคำว่า print work directory

โครงสร้างคำสั่ง / ตัวอย่าง

pwd

cd

เป็นคำสั่งที่ใช้สำหรับเปลี่ยน directory ปัจจุบัน (ในทำนองเดียวกับ cd) มาจากคำว่า change directory

โครงสร้างคำสั่ง

cd directory

โดย directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้

ตัวอย่าง

cd /usr

cd ~ (เป็นการเข้าสู่ home directory)

cd - (เป็นการยกเลิกคำสั่ง cd ครั้งก่อน)

cd .. (เป็นการออกจาก directory 1 ชั้น

ข้อควรระวัง : คำสั่ง cd บน UNIX จะต้องมีเว้นวรรคเสมอ

mkdir

เป็นคำสั่งที่ใช้สำหรับการสร้าง directory (ในทำนองเดียวกับ dos) มาจากคำว่า make directory

โครงสร้างคำสั่ง

mkdir [option]... [file]...

โดย option ที่มักใช้กันใน mkdir คือ

-m จะทำการกำหนด Permissioin (ให้ดูคำสั่ง chmod เพิ่มเติม)

-p จะทำการสร้าง Parent Directory ให้ด้วยกรณีที่ยังไม่มีการระบุ

directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้

ตัวอย่าง

mkdir /home

mkdir -p -m755 ~/local/bin

แหล่งข้อมูลเพิ่มเติม : mkdir --help และ man mkdir

rmdir

เป็นคำสั่งที่ใช้สำหรับการลบ directory (ในทำนองเดียวกับ dos) มาจากคำว่า remove directory

โครงสร้างคำสั่ง

rmdir [option]... [file]...

โดย option ที่มักใช้กันใน mkdir คือ

-p จะทำการลบ Child และ Parent Directory ตามลำดับ

directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้

ตัวอย่าง

rmdir /home

mkdir -p /home/local/data

แหล่งข้อมูลเพิ่มเติม : rmdir --help และ man rmdir



คำสั่งเกี่ยวกับการค้นหาแฟ้มข้อมูล และ Permission

file

บน ระบบ DOS/Windows นั้น ประเภทของแฟ้มข้อมูลจะถูกระบุด้วยนามสกุล แต่ใน UNIX จะไม่มีนามสกุลเพื่อใช้ระบุประเภทของแฟ้มข้อมูล ดังนั้นการหาประเภทของแฟ้มข้อมูลจะดูจาก Context ภายในของแฟ้ม ซึ่งคำสั่ง file จะทำการอ่าน Content และบอกประเภทของแฟ้มข้อมูลนั้นๆ

โครงสร้างคำสั่ง

file [option]... file

ตัวอย่าง

file /bin/sh

file report.doc

แหล่งข้อมูลเพิ่มเติม : file --help และ man file

find

เป็นคำสั่งที่ใช้สำหรับค้นหาแฟ้มข้อมูล

โครงสร้างคำสั่ง

find [path].. expression

ลักษณะของ expression เช่น

-name [pattern] เพื่อใช้หาชื่อ file ตาม pattern ที่ระบุ

-perm [+-] mode เพื่อใช้หา file ตาม mode ที่ต้องการ

-user NAME หา file ที่เป็นของ user ชื่อ NAME

-group NAME หา file ที่เป็นของ group ชื่อ NAME

ตัวอย่าง

find -name *.doc

find /usr -perm +111 (หาแฟ้มที่มี Permission อย่างน้อยเป็น 111)

แหล่งข้อมูลเพิ่มเติม : file --help และ man file

chown

ใช้สำหรับเปลี่ยนเจ้าของแฟ้มข้อมูลหรือ Directory

โครงสร้างคำสั่ง

chown [option]... owner[:group] file หรือ

chown [option]... :group file

โดย option ที่มักใช้กันใน chown คือ

-R เปลี่ยน Permission ของทุกๆ แฟ้มย่อยใน Directory

ตัวอย่าง

chown krerk:users /home/krerk

chown nobody data.txt

แหล่งข้อมูลเพิ่มเติม : chown --help และ man chown

chgrp

ใช้สำหรับเปลี่ยนกลุ่มเจ้าของแฟ้มข้อมูลหรือ Directory

โครงสร้างคำสั่ง

chgrp [option]... group file

โดย option ที่มักใช้กันใน chgrp คือ

-R เปลี่ยน Permission ของทุกๆ แฟ้มย่อยใน Directory

ตัวอย่าง

chgrp users /home/krerk

chown nobody data.txt

แหล่งข้อมูลเพิ่มเติม : chgrp --help และ man chgrp

chmod

ใช้สำหรับเปลี่ยนเจ้าของแฟ้มข้อมูลหรือ Directory

โครงสร้างคำสั่ง

chmod [option]... mode[mode] file หรือ

chmod [option]... octalmode file

โดย option ที่มักใช้กันใน chown คือ

-R เปลี่ยน Permission ของทุกๆ แฟ้มย่อยใน Directory

และการอ้างอิง mode จะใช้ตัวอักษร u g o a + - r w x X s t u g o โดย

u หมายถึง User ผู้เป็นเจ้าของแฟ้ม

g หมายถึง Group ผู้เป็นเจ้าของแฟ้ม

o หมายถึง บุคคลอื่นๆ

a หมายถึง ทุกๆ กลุ่ม

r หมายถึง สิทธิในการอ่าน

w หมายถึง สิทธิในการเขียน/แก้ไข

w หมายถึง สิทธิในการ execute หรือ ค้นหา (ในกรณีของ Directory)

ส่วน s t u g และ o นั้น จะขอกล่าวถึงในเอกสารเรื่อง Unix Permission ต่อไป

เนื่องจากผลลัพธ์ของคำสั่ง ls -l จะแสดงเป็นลำดับ ดังตัวอย่างต่อไปนี้

$ ls -l krerk.jpg
-rw-r--r-- 1 pok pok 13201 เม.ย. 21 2000 krerk.jpg

ดังนั้น การเขียน Permission อาจจะเขียนได้เป็นเลขฐาน 8 เช่น 644 หมายถึง 110100100 ซึ่งจะตรงกับ rw-r--r- เป็นต้น

ตัวอย่าง

chmod 750 /home/krerk (แก้ไขได้(เขียน)ได้เฉพาะเจ้าของแฟ้ม และสามารถ execute ได้เฉพาะกลุ่มและเจ้าของเท่านั้น)

chmod 644 data.txt (rw-r--r-- เจ้าของแฟ้ม อ่านและเขียนได้ กลุ่มเจ้าของแฟ้มและบุคคลอื่นๆ อ่านได้ )

(เพื่อประกอบความเข้าใจ ให้ผู้ใช้ลองเปลี่ยน mode และดูผลลัพธ์ด้วย ls -l)

แหล่งข้อมูลเพิ่มเติม : chmod --help และ man chmod


คำสั่งเกี่ยวกับการดู และ แก้ไขข้อมูลในแฟ้มข้อมูล

cat

ใช้ สำหรับดูข้อมูลภายในแฟ้มข้อมูล หรือ Standard Input และแสดงผลออกมาทาง Standard Output (ในทำนองเดียวกันกับคำสั่ง type) มาจากคำว่า concatinate

โครงสร้างคำสั่ง

cat [optioin]... [file]
โดย option ที่มักใช้กันใน chown คือ

-n เพื่อทำการแสดงเลขบรรทัด

ตัวอย่าง

cat data.txt

cat file1.txt file2.txt > file3.txt (นำข้อมูลใน file1.txt และ file2.txt มาต่อกัน แล้วเก็บไว้ใน file3.txt)

แหล่งข้อมูลเพิ่มเติม : cat --help และ man cat

more

สืบ เนื่องจากคำสั่ง cat ไม่เหมาะกับการดูข้อมูลที่มีความยาวมากๆ ดังนั้น จึงได้มีการพัฒนา more ขึ้น เพื่อช่วยให้สามารถดูข้อมูลที่มีขนาดยาวได้เป็นช่วงๆ

โครงสร้างคำสั่ง

more file

ภายในโปรแกรม more จะมีคำสั่งเพื่อใช้งานคราวๆ ดังนี้

= แสดงเลขบรรทัด

q ออกจากโปรแกรม

เลื่อนไปยังหน้าถัดไป

เลื่อนไปยังบรรทัดถัดไป

h แสดง help

ตัวอย่าง

more data.txt

แหล่งข้อมูลเพิ่มเติม : man more และ help ของ more

less

less เป็นการพัฒนาคำสั่ง more ให้มีประสิทธิภาพมากขึ้น เนื่องจาก more จะไม่สามารถดูข้อมูลย้อนหลังได้ less จึงเป็นปรับปรุงและเพิ่มเติมเงื่อนไขบางอย่างให้ more

โครงสร้างคำสั่ง

less file

ตัวอย่าง

less data.txt

แหล่งข้อมูลเพิ่มเติม : man less และ help ของ less

head

จะแสดงส่วนหัวของแฟ้มข้อมูล ตามจำนวนบรรทัดที่ต้องการ

โครงสร้างคำสั่ง

head [option] file

โดย option ที่มักใช้กันใน chown คือ

-n เพื่อทำการระบุบรรทัดที่ต้องการ (หากไม่ระบุจะเป็น 10 บรรทัด)

ตัวอย่าง

head data.txt

head -n 10 data.txt

แหล่งข้อมูลเพิ่มเติม : head --help และ man head

tail

จะแสดงส่วนท้ายของแฟ้มข้อมูล ตามจำนวนบรรทัดที่ต้องการ

โครงสร้างคำสั่ง

tail [option] file

โดย option ที่มักใช้กันใน chown คือ

-n เพื่อทำการระบุบรรทัดที่ต้องการ (หากไม่ระบุจะเป็น 10 บรรทัด)

-c เพื่อระบุจำนวน byte

ตัวอย่าง

tail data.txt

tail -n 10 data.txt

แหล่งข้อมูลเพิ่มเติม : tail --help และ man tail



คำสั่งเกี่ยวกับผู้ใช้ และ การสื่อสาร

whoami

ใช้เพื่อแสดงว่าผู้ใช้ซึ่ง login เข้าสู่ระบบนั้น (ตัวเราเอง) login ด้วยชื่ออะไร

โครงสร้างคำสั่ง/ตัวอย่าง

whoami หรือ

who am i (บน SUN OS หรือ UNIX บางตัวเท่านั้น)

who

ใช้เพื่อแสดงว่ามีผู้ใช้ใดบ้างที่กำลังทำงานอยู่บนระบบ

โครงสร้างคำสั่ง/ตัวอย่าง

who

finger

ใช้สำหรับแสดงรายละเอียดของผู้ใช้

โครงสร้างคำสั่ง

finger [user@host] หรือ

finger [@host]

กรณี ไม่ระบุชื่อ finger จะแสดงรายละเอียดของ User ที่กำลัง logon อยู่บนเครื่องนั้นๆ ทั้งหมด ซึ่งหากไม่ระบุ host ด้วย โปรแกรมจะถือว่าหมายถึงเครื่องปัจจุบัน

ตัวอย่าง

finger

finger krerk@vwin.co.th

finger krerk

finger @student.netserv.chula.ac.th

แหล่งข้อมูลเพิ่มเติม : man finger

talk

ใช้สำหรับการพูดคุยระหว่างผู้ใช้ด้วยกันบนระบบ ซึ่งผู้ใช้ทั้งทั้ง 2 ฝ่ายจะต้องพิมพ์คำสั่ง Talk ถึงกันก่อน จึงจะเริ่มการสนทนาได้

โครงสร้างคำสั่ง

talk user[@host] [tty]

กรณี ไม่ระบุ host โปรแกรมจะถือว่าหมายถึงเครื่องปัจจุบัน (นอกจากนี้ยังมีคำสั่ง ytalk ซึ่งสามารถพูดคุยได้พร้อมกันมากกว่า 2 คน) ซึงบางกรณีเราอาจจะต้องระบุ tty ด้วยหากมีผู้ใช้ Log in เข้าสู่ระบบด้วยชื่อเดียวกันมากกว่า 1 หน้าจอ

ตัวอย่าง

talk krerk@vwin.co.th

แหล่งข้อมูลเพิ่มเติม : man talk

write

จะใช้เพื่อการส่งข้อมูลทางเดียวจากผู้เขียนไปถึงผู้รับบนเครื่องเดียวกันเท่านั้น

โครงสร้างคำสั่ง

write user [tty]

เมื่อ มีการพิมพ์คำสั่ง write ผู้ใช้จะเห็นข้อความซึ่งจะแสดงว่าข้อความดังกล่าวถูกส่งมาโดยใคร ซึ่งหากผู้รับต้องการตอบกลับ ก็จะต้องใช้คำสั่ง write เช่นกัน เมื่อพิมพ์เสร็จแล้วให้พิมพ์ตัวอักษร EOF หรือ กด CTRL+C เพื่อเป็นการ interrupt ทั้งนี้ข้อความที่พิมพ์หลังจาก write จะถูกส่งหลังจากการกด Enter เท่านั้น

ตัวอย่าง

write krerk

แหล่งข้อมูลเพิ่มเติม : man write

mesg

จะใช้เพื่อควบคุมว่าผู้อื่นมีสิทธิที่จะส่งข้อความ write ถึงเราหรือไม่

โครงสร้างคำสั่ง

mesg [y | n]

โดย option มีความหมายคือ

y - หมายถึงผู้อื่นมีสิทธิที่จะส่งข้อความถึงเรา

n - หมายถึงผู้อื่นมีไม่สิทธิที่จะส่งข้อความถึงเรา

ตัวอย่าง

mesg y

mesg n

แหล่งข้อมูลเพิ่มเติม : man mesg


คำสั่งทั่วไป / อื่นๆ

man

เพื่อใช้แสดงรายละเอียดข้อมูลของคำสั่ง หรือ วิธีการใช้แฟ้มข้อมูลต่างๆ มาจากคำว่า manual

โครงสร้างคำสั่ง

man [section]... manpage

โดย section ต่างๆ ของ manpage คือ

1 จะเป็น User Command

2 จะเป็น System Calls

3 จะเป็น Sub Routines

4 จะเป็น Devices

5 จะเป็น File Format

ตัวอย่าง

man printf

man 1 ls

แหล่งข้อมูลเพิ่มเติม : man man

tar

ใช่ เพื่อการ backup และ restore file ทั้งนี้การ tar จะเก็บทั้งโครงสร้าง directory และ file permission ด้วย (เหมาะสำหรับการเคลื่อนย้าย หรือแจกจ่ายโปรแกรมบนระบบ UNIX) มาจากคำว่า tape archive

โครงสร้างคำสั่ง

tar [option]... [file]...

โดย option ที่มักใช้กันใน echo คือ

-c ทำการสร้างใหม่ (backup)

-t แสดงรายชื่อแฟ้มข้อมูลในแฟ้มที่ backup ไว้

-v ตรวจสอบความถูกต้องของการประมวลผล

-f ผลลัพธ์ของมาที่ file

-x ทำการ restore

ตัวอย่าง

tar -cvf mybackup.tar /home/*

tar -tf mybackup.tar

tar -xvf mybackup.tar

แหล่งข้อมูลเพิ่มเติม : tar --help และ man tar

alias

เพื่อกำหนด macro ให้ใช้คำสั่งได้สะดวกมากขึ้น (แบบเดียวกันกับการกำหนด macro ด้วย doskey)

โครงสร้างคำสั่ง

alias macroname='command'

ตัวอย่าง

alias ll='ls -F -l'

แหล่งข้อมูลเพิ่มเติม : man ของ Shell ที่ใช้อยู่

echo

แสดงข้อความออกทาง standard output

โครงสร้างคำสั่ง

echo [option]... msg

โดย option ที่มักใช้กันใน echo คือ

-n ไม่ต้องขึ้นบรรทัดใหม่

ตัวอย่าง

echo -n "Hello"

echo "Hi.."

free -k

แหล่งข้อมูลเพิ่มเติม : man echo

free

แสดงหน่วยความจำที่เหลืออยู่บนระบบ

โครงสร้างคำสั่ง

free [-b|-k|-m]

โดย option ที่มักใช้กันใน free คือ

-b แสดงผลลัพธ์เป็นหน่วย byte

-k แสดงผลลัพธ์เป็นหน่วย kilobyte

-m แสดงผลลัพธ์เป็นหน่วย megabyte

ตัวอย่าง

free

free -b

free -k

แหล่งข้อมูลเพิ่มเติม : free--help และ man free

sort

ใช้เพื่อทำการจัดเรียงข้อมูลในแฟ้มตามลำดับ (ทั้งนี้จะถือว่าข้อมูลแต่ละบรรทัดเป็น 1 record และจะใช้ field แรกเป็น key)

โครงสร้างคำสั่ง

sort [option] file

ตัวอย่าง

sort data.txt

แหล่งข้อมูลเพิ่มเติม : sort --help และ man sort

การ Redirection และ Pipe

ทั้ง DOS/Windows และ UNIX ต่างก็มีความสามารถในการ Redirection และ Pipe ด้วยกันทั้งสิ้น ซึ่งประโยชน์ของการ Redirection และ การ Pipe คือการที่สามารถนำโปรแกรมเล็กๆ หลายโปรแกรมมาช่วยกันทำงานที่ซับซ้อนมายิ่งขึ้นได้
การ Pipe คือการนำผลลัพธ์ที่ได้จากโปรแกรมหนึ่ง ไปเป็นอินพุทของอีกโปรแกรมหนึ่ง เช่น

ls | sort

เป็นการนำผลลัพธ์ที่ได้จาก ls ส่งเป็นอินพุตให้โปรแกรม sort ทำงานต่อเป็นต้น

การ Redirection คือการเปลี่ยนที่มาของอินพุต และ เอาพุตที่แสดงผลลัพธ์ จาก Keyboard หรือ จอ Monitor เป็นแฟ้มข้อมูล หรือ Device ต่างๆ เช่น

ls >list.txt

เป็นการนำผลลัพธ์ที่ได้จาก ls เก็บลงในแฟ้มข้อมูลชื่อ list.txt เป็นต้น

ทั้ง นี้ การ Redirection จะเป็นการสร้างแฟ้มข้อมูลใหม่เสมอ ในกรณีที่ต้องการเขียนข้อมูลต่อท้ายอาจทำได้โดยการใช้ >> แทน > เช่น

ls >list.txt

pwd >> list.txt

ผลลัพธ์จากคำสั่ง pwd จะแสดงต่อท้ายผลลัพธ์จากคำสั่ง ls ใน list.txt



ที่มาครับ คัดลอกมาจาก : http://cpe-ru.exteen.com/20060523/unix เพื่อมาเก็บไว้ในห้องสมุดของตัวเองครับ

ใน ทำนองเดียวกัน เราสามารถใช้ Redirection เพื่อรับข้อมูลจาก File ได้ซึ่งจะช่วยให้เราสามารถ Run Program ที่ต้องการ Input แบบ Batch ได้ (ซึ่งจะกล่าวถึงในการเขียน Shell Script ต่อไป)

ใช้คำสั่ง Unix บน DOS/Windows

ปัจจุบัน ได้มีผู้ Port โครงสร้างและ Utility ของ Unix ไปยัง Window หรือ WindowNT ภายใต้ชื่อ Project “Cygwin” ซึ่งผู้ใช้สามารถทำงานบน Window ได้เหมือนกับการทำงานบน Unix ทุกประการ ทั้งนี้รวมถึงการพัฒนาโปรแกรมด้วย ซึ่งในปัจจุบัน Project ดังกล่าวดูแลโดย RedHat ดังนั้นหากผู้อ่านท่านใดมีความสนใจ สามารถหาข้อมูลเพิ่มเติมและ Download ได้จาก http://www.cygwin.com/ หรือ http://www.cygnus.com/

นอก จากนี้ยังมีการ Port โปรแกรมต่างๆ ในโครงการของ GNU ไปยังระบบ DOS ภายใต้ชื่อ DJGPP ซึ่งประกอบไปด้วย Compiler และโปรแกรมต่างๆ บน Unix โดยสามารถหาข้อมูลเพิ่มเติมได้จาก http://www.gnu.org/


ตารางเปรียบเทียบการใช้คำสั่งระหว่าง DOS และ UNIX























































































































DOS UNIX หมายเหตุ
ATTRIB +-attrib file chmod mode file ระบบ Permission แตกต่างกัน
BACKUP tar cvf file file การทำงานแตกต่างกัน
CD dir cd dir/ คล้ายคลึงกัน
COPY file1 file2 cp file1 file2 เหมือนกัน
DEL file rm file เหมือนกัน
DELTREE rm -R file เหมือนกัน
DIR ls หรือ ls -al และ du , df dir จะแสดงเนื้อที่ที่ใช้ และ เนื้อที่ที่เหลือด้วย ซึ่ง UNIX ต้องดูด้วย du และ df แทน
DIR file /S find . -name file บน Unix จะทำงานได้ดีกว่า
DOSKEY name command alias name='command' เป็นการสร้าง macro ในทำนองเดียวกัน
ECHO msg echo "msg" เหมือนกัน
FC file1 file2 diff file1 file2 เหมือนกัน
HELP command man command ทำนองเดียวกัน
MEM free ทำนองเดียวกัน
MD dir หรือ MKDIR dir mkdir dir เหมือนกัน
MORE < file more file หรือ less file less จะทำงานได้ดีกว่า
MOVE file1 file2 mv file1 file2 เหมือนกัน
RD dir หรือ RMDIR dir rmdir dir หรือ rm -d dir เหมือนกัน
RESTORE tar xvf file การทำงานแตกต่างกัน
SORT file sort file เหมือนกัน
TYPE file more file หรือ less file less จะทำงานได้ดีกว่า

สบายๆสไตล์ของฉัน