37
เอกสารประกอบการอบรม อูบุนตูลีนุกซ์สำาหรับผูดูแลระบบ 16 ส.ค. 2555 ผูจัดทำาเอกสาร นายอวยชัย ไชยถา ประธานชมรมโอเพนซอร์สลูานนา www.lanna-oss.org หนังสือเล่มนี้จัดทำาเพื ่อการเผยแพร่โอเพนซอร์ส โดยไม่คิดมูลค่า สามารถนำาไปประกอบการเรียนการสอนไดู หูามนำาไปพิมพ์เพื ่อจัดจำาหน ่ายเชิงพาณิชย์โดยไม่ไดูรับอนุญาต

Ubuntu server book

Embed Size (px)

Citation preview

เอกสารประกอบการอบรมอบนตลนกซสำาหรบผดแลระบบ

16 ส.ค. 2555ผจดทำาเอกสาร

นายอวยชย ไชยถาประธานชมรมโอเพนซอรสลานนา

www.lanna-oss.orgหนงสอเลมนจดทำาเพอการเผยแพรโอเพนซอรส โดยไมคดมลคา

สามารถนำาไปประกอบการเรยนการสอนไดหามนำาไปพมพเพอจดจำาหนายเชงพาณชยโดยไมไดรบอนญาต

หนาท 2/37

สารบญ หนาทเนอหาความรเกยวเบองตนเกยวกบ Ubuntu 3โครงสรางลนกซแบบพนฐาน 5โครงสรางไฟลของลนกซเปรยบเทยบกบวนโดวส 6การตดตง Ubuntu Server 9การใชงาน command line 22การใชงาน vi 33การเขยน shell script 34บรรณานกรม 37

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 3/37

เนอหาความรเบองตนเกยวกบอบนตลนกซเปนระบบปฏบตการชนดหนง เหมอนกบวนโดวสหรอวา Mac ทระบบม

ความแตกตางกนในเรองของโครงสรางและการใชงาน แตสงทเหมอนกนทงสามระบบ กคอเปน GUI หรอเรยกวา Graphics User Interface คอมการใชงานในลกษณะของกราฟฟค คอมภาพตอบสนอง ตอการใชงาน พดงายๆ คอวาสามารถใช mouse ไดนนเอง ลนกซเปนระบบหนงทไมคอยจะมใครรจก เพราะปจจบนนยงมผใชงานทถอวาเปนสวนนอย แตมขอดกคอฟร และความปลอดภยสงเปนอนดบหนง จงคาดวาในอนาคต คนทสนใจลนกซจะเพมมากขนทกๆ วน

ลนกซเปนระบบปฏบตการทพฒนามาในแนวคดของ Unix ซงผพฒนากคอนายไลนส เบนดก เทอรวล (Linus Benedict Torvalds) ตอนนนพฒนา Unix สำาหรบเครองพซแลวแจกจายออกไป จงเกดความนยมกนทว จนเรยกตดปากวาลนกซ ซงเปนชอยอของไลนสนนเอง ตอมาจงถกชกชวนใหเขารวมขบวนการซอฟตแวรเสร (http://en.wikipedia.org/wiki/Linus_Torvalds)

ซงอยในมลนธโครงการซอฟตแวรเสร ของ ดร. รชารด แมทธว สตอลแมน (Richard Matthew Stallman)ผกอตงแนวคดของ GNU เปนผใหกำาเนดแนวคดของ copy left ซงจะตรงขามกบ copy right คอปกปองสทธของตนเอง สรางขอจำากดในการใชงาน สาเหตท สตอลแมนคดแนวคดนขนมา เนองจากตนเองไมสามารถหา Driver Printer ได ทงๆ ทตวเขาเองเปนคนทมความสามารถในดานคอมพวเตอร จงตองการหลกจากการจำากดสทธในการใชงาน ไปสแนวคดของซอฟตแวรเสร ทไมมขอจำากดการใชงาน (http://en.wikipedia.org/wiki/Richard_Stallman)

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 4/37

มารค ชธเธลเวรธ (Mark Shuttleworth) มหาเศรษฐชาวอฟรกน ผกอตงบรษทคารนอนคล(Canonical) ซงเปนบรษททผลตอบนต ไดมแนวคดในการสรางลนกซทใชงานงาย จนเกดเปนอบนตลนกซ อบนตถงแมจะแจกฟร แตกสามารถหารายไดจากผสนบสนน และจากงานบรการใหคำาปรกษาในการใชงานทางโทรศพท ซงจะสามารถพฒนาไดอยางยงยน

อบนตเปนภาษาบานต มความหมายทสวยงามมาก ใชความหมายทใกลเคยงในภาษาองกฤษวา “I am what I am because of who we

all are.”

(http://www.ubuntu.com/project/about-ubuntu)

ลนกซเปนระบบปฎบตการทเปนทยอดนยมสำาหรบการทำา Server ซงมสถตกวา 50% ของ Server ทงหมดในโลก เพราะนอกจากจะฟรแลว กยงมความปลอดภยสง และสามารถดดแปลงไดเอง ลนกซจงเปนลนกซยอดนยม ทนำาไปดดแปลงทำาเปน Server สารพดประเภท ซง Ubuntu Linux มขอโดดเดนคอมลกษณะของ Ubuntu อยครบถวน คนทมพนฐาน Ubuntu Desktop อยแลว สามารถปรบตวมาใช Ubuntu Server ไดงายขน และมการบำารงรกษาจากบรษทคารนอนคล ซงเปนบรษททผลต Ubuntu และมเอกสารอางองทสามารถอานไดงาย แบงเปนหมวดหมท help.ubuntu.com

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 5/37

โครงสรางของลนกซแบบพนฐาน

จากรปขางบน เราจะเหนโครงสรางของลนกซอยางงาย สงทเราเหนตรงกลางนนคอ Hardware Hardware คออปกรณคอมพวเตอร ซงจะมหลากหลายรนหลากหลายยหอ มความแตกตางกน แตสงทจะทำาให Hardware สามารถทำางานได โดยไมเกดความแตกตางกนกคอ Kernel จะเปนตวกลางประสานงานใหโปรแกรม(Application)กบระบบอปกรณ(Hardware)ใหสามารถสอสารกนได ซงผพฒนา Kernel กคอ ไลนส มเวบไซดอยท www.kernel.org

สวนทถดมากคอ shell และ x-windows คอสวนทตดตอกบผใช สำาหรบลนกซแลวจะมอยหลายๆ shell และ x-windows ใหเลอก x-windows ทมชอเสยงทสดกคอ Gnome(www.gnome.org) ทใชกบ Ubuntu

สวนโปรแกรมตางๆ นนเราเรยกมนวา Application ซงมหลากหลายใหเลอกเชนกน ซงในปจจบนเราจะเหนวา มการพฒนา Application หรอโปรแกรมทสามารถทำางานบนระบบปฏบตการลนกซ เพมมากขนเรอยๆ

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 6/37

โครงสรางไฟลของลนกซเปรยบเทยบกบวนโดวสระบบบรหารจดการแฟมขอมลของลนกซจะมความแตกตางจากระบบปฏบตการของ

วนโดวสทหลายๆ คนคนเคย เพราะถาหากวาใครใชระบบปฏบตการวนโดวสกจะรจก ระบบบรหารจดการแฟมทเปน FAT , FAT32, NTFS แตถาในลนกซ เราจะเหน EXT2 , EXT3, EXT4 ฉะนนในการใชงาน ตรงนจะสรางความสบสนกบผใชเดมๆ ทเคยใชวนโดวส แลวเปลยนมาใชระบบปฏบตการลนกซอยางมาก เพราะเมอระบบเปลยน วธการทำางานกจะตองเปลยนไปดวย ระบบปฏบตการลนกซจะใชโครงสรางแฟมของระบบปฏบตการ Unix ซงจะตางจากระบบปฏบตการวนโดวสทมโครงสรางมาจาก DOS ในทางเทคนคแลวมขอแตกตางกนมากมาย แตประธานชมรมฯ จะแนะนำาขอแตกตาง หลกๆ เพยงสองประการ ทผเขารบการอบรมจะตองใหความสนใจมขอแตกตางหลกๆ อย 2 ประการ ทผเขาอบรมจะตองจำาไวใหด 1. ชอไฟลบนลนกซ (File Name) ซอแฟมจะมลกษณะเปน Case Sensitive คอถอวาตวใหญกบตวเลกจะแตกตางกน ยกตวอยางเชน ถาเราสรางไฟลทชอวา Mydata กบ mydata ลนกซจะมองเหนวาเปนคนละแฟม สงเหลานจะทำาใหเกดความสบสน เพราะบางครง การใชงานบนลนกซ เราสามารถใชงานแบบ Case Sensitive ได แตถาเมอใดกตามทเรา copy ขอมลไปยงระบบแฟมทเปน FAT32 หรอวา NTFS แฟมขอมลจะเกดการทบกนทนท ปญหาทพบบอยกคอวา หลายๆ คน สำารองขอมลไปยงระบบปฏบตการวนโดวส หรอวาบน External drive ปรากฏวาแฟมขอมลหาย ฉะนนการจะ copy หรอสำารองขอมล ควรจะทำาการบบอดขอมล กอนจะทำาการ copy ไปยงระบบปฏบตการวนโดวส ทเปนแฟมขอมลแบบ FAT32 หรอ NTFS

2. สทธอนญาตในการเขาถงแฟม (Permission) สทธในการเขาถงแฟมเปนสงทสำาคญ และควรจะตองจดจำา กเพราะวาสวนนจะแตกตาง

จากระบบปฏบต ททำางานอย DOS หรอวาวนโดวสทหลายๆ คนคนเคย เพราะแตเดมเราจะรแควา แฟมขอมลในระบบของ FAT32 หรอวาระบบ NTFS จะมเพยงการกำาหนดการเขาถงแบบ อานไดอยางเดยว (Read only) หรอ วาเปนเพยงแตแฟมทซอนอย (Hidden File)

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 7/37

ซงลนกซเปนระบบทพฒนามาจาก Unix ซงเปนระบบปฏบตการทพฒนามาจากระบบทมผใชหลายๆคน(Multi User) มการแบงสรางขอกำาหนดการเขาถงแฟมอยางชดเจน เพอใหผใชงานหลายๆ คน สามารถใชงานรวมกนได โดยไมรบกวนซงกนและกนแบงระดบการเขาถงเปนสามสวนกคอ

• เจาของแฟม(Owner)• กลมของแฟม (Group)• ผอน Other

และในแตละสวนยงจะสามารถกำาหนดสทธการเขาถงไดอก 3 สทธ กคอ• read สทธในการอานแฟม• write สทธในการเขยนแฟม• execution สทธอนญาตใหโปรแกรมทำางาน (run program)

ดงรปขางลาง

ซงขอกำาหนดสทธไดอยางรดกมนเอง ทำาใหเราเหนวาลนกซเปนระบบปฎบตการทใหความสำาคญกบเรองของความปลอดภย

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 8/37

ซงเราจะทราบไดอยางไรวา แตละแฟมนนมขอกำาหนดอยางไร เราสามารถใชคำาสง ls -l เพอดสทธอนญาตการเขาถงแฟม ตลอดจนเจาของแฟม และกลมของแฟมถาเราลองสง ls -l บน ternmal กจะไดผลลพทประมาณนouychai@ouychai-desktop:~/C$ ls -l total 44 -rw-r--r-- 1 ouychai ouychai 864 2009-12-13 10:29 myfirsttime.c -rw-r--r-- 1 ouychai ouychai 0 2009-12-13 10:29 myfirsttime.c~ -rwxr-xr-x 1 ouychai ouychai 8260 2010-01-15 06:47 test2 -rw-r--r-- 1 ouychai ouychai 88 2010-01-15 06:46 test2.c -rw-r--r-- 1 ouychai ouychai 209 2010-01-15 06:45 test2.c~ -rwxr-xr-x 1 ouychai ouychai 8260 2010-01-15 06:47 test3 -rw-r--r-- 1 ouychai ouychai 84 2010-01-15 06:47 test3.c -rw-r--r-- 1 ouychai ouychai 84 2010-01-15 06:46 test3.c~

ouychai@ouychai-desktop:~/C$ เมอเราใชคำาสงน ตวแรกทเราจะเหน กคอ สทธการเขาถงแฟม และตอมา ouychai ouychai หมายถง เจาของแฟมกคอ ouychai และกลมของแฟมกคอ ouychai ซงแตละแฟมจะกำาหนดการเขาถงดวย permission และแตละแฟมจะมการระบชอเจาของแฟม พรอมกบกลมของเจาของแฟม และในแตละแฟม ชอเจาของแฟม กบชอกลม ไมจำาเปนจะตองเปนชอเดยวกน

รปแบบการเขาถงแฟม(permission)จะมรปแบบเตมๆ ดงนคอ drwxrwxrwxโดยท d หมายถง Directory เปนการระบวา แฟมนคอ Directory หรอไม r หมายถง Read w หมายถง Write x หมายถง Execution - หมายถง ไมม

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 9/37

การตดตง Ubuntu Server

เมอเราตดตงโปรแกรม ubuntu Server นนใหเราปรบ BIOS ให boot จาก CD ROM เพราะเมอเรา boot เสรจแลว กจะปรากฎดงรป

รปการตดตงรปท 1จากตรงนจะปรากฎเมนใหเลอกภาษาตางๆ ใหเราเลอก English

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 10/37

รปการตดตงรปท 2ในเมอเราเลอกภาษาองกฤษแลว กจะปรากฎเมนดงรปท 2 ใหเราเลอก Install

Ubuntu Server แลวกด Enter

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 11/37

รปการตดตงรปท 3ตรงนใหเราเลอกภาษาสำาหรบตดตง ใหเราเลอกภาษาองกฤษ

รปการตดตงรปท 4จดนจะเปนการถามเกยวกบจดทเราอาศยอย วาเราอยบรเวณใหนของโลก ซงเราเปนชาว Asia แตไมมใหเราเลอก

ตอนนใหเราเลอก Other

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 12/37

รปการตดตงรปท 5ตรงนใหเราเลอก Asia

รปการตดตงรปท 6

ตรงนใหเราเลอกประเทศไทย

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 13/37

รปการตดตงรปท 7ตรงนจะเปนการเลอก Keyboard Layout หรอลกษณะของแปนพมพ โดยโปรแกรมถามวาจะตรวจสอบ

ลกษณะแปนพมพหรอไม ใหเราตอบ No เพอไมใหเปนการเสยเวลา

รปการตดตงรปท 8รปนจะเปนการเลอกลกษณะแปนพมพใหเราเลอก USA

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 14/37

รปการตดตงรปท 9ตรงน keyboard แบบ USA มหลายทางเลอกใหเราเลอกตวบนสด

รปการตดตงรปท 10ตรงนเปนการปรบตงคา IP ซงเราจะสามารถทจะเลอกแบบกำาหนดเอง หรอถกกำาหนดจาก DHCP

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 15/37

รปการตดตง รปท 11มาถงตอนนใหเราใส hostname ลงไป

รปการตดตง รปท 12

ใสคา Domain name ลงไป

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 16/37

รปการตดตง รปท 13ขนตอนนเปนการตดตง ลงบน Disk ใหเราเลอก อนทสอง คอ Guided – use entire disk

and set up LVM

รปการตดตงรปท 14มาถงขนตอนนโปรแกรมจะถามราวา ตองการบนทกการเปลยนแปลงดวย LVM หรอไม ใหเราตอบ

Yes

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 17/37

รปการตดตงรปท 15ตอนนโปรแกรมตดตงจะถามขนาดของ Harddisk ใหเราเลอก Continue

รปการตดตงรปท 16ตรงนจะเปนการยนยนวา เราจะตองการเขยนบนทกการเปลยนแปลงหรอไม ใหเราเลอก Yes

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 18/37

รปการตดตง รปท 17ตรงรปนใหเรากรอกชอ กบนามสกลของเราลงไป โปรแกรมจะใชชอของเราเพอเปนชอสำาหรบ login

รปการตดตง รปท 18ตรงนใหเราใสรหสผาน ซงโปรแกรมตดตงจะใหเราใสรหสผานสองครง เพอความถกตองของรหสผาน

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 19/37

รปการตดตงรปท 19ตรงนโปรแกรมจะถามเราวา จะใหมการเขารหสสำาหรบ folder home ซงเปนทเอาไวเกบขอมลหรอไม

ถาไมวตกกงวลเรองของขอมลมากนก กใหกด No

รปการตดตงรปท 19ตรงนโปรแกรมจะใหเราใสคา proxy ถาเราไมม กไมตองใส

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 20/37

รปการตดตงรปท 20ตรงนโปรแกรมจะถามประเภทการปรบปรงรนของโปรแกรม ใหเราเลอก Install security updates

automatically เพอจะใหปรบปรงความปลอดภยโดยอตโนมต

รปการตดตงรปท 21ตรงนจะเปนการเลอกประเภทของ Server เพอเลอก package ของโปรแกรมทเหมาะสมในการตดตง

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 21/37

รปการตดตงรปท 22

ตรงนจะเปนขนตอนการตดตงในขนตอนสดทาย ซงเครองจะดดแผน CD ออกมาใหเราเอาแผนออก แลวกด Continue

ซงเปนการเสรจสนกระบวนการตดตง

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 22/37

การใชงาน command line

ในการใชงาน command line ถอวาเปนทกษะทสำาคญในการใชงาน Ubuntu Server เพราะ เมอคณ login เขาไปในระบบจะมแต command line ใหใช และระบบ command line ยงคงเปนระบบทสามารถเขาถงระบบไดดทสด และมประสทธภาพมากทสดในเวลาน

สงทเราเรยนรกคอวาระบบแฟมของลนกซเหมอนกบ Unix คอเปน Case sensitive ฉะนนเรากตองระลกเชนกนวา ระบบแฟมของลนกซกจะเปน case sentsitive เชนกน โดยรปแบบของคำาสง จะออกมาในรปแบบนคอcommand <paramter1> <parameter2> ….....ซงจะมคำาสงทใชงานทวๆ ไปดงน

lsเปนคำาสงทใชสำาหรบแสดงแฟมขอมล (เชนเดยวกบ dir ของ DOS) มากจากคำาวา listรปแบบคำาสง ls [option] [file]option ทมกใชกนใน ls คอ-l จะแสดงผลลพธแบบ Long Format ซงจะแสดง Permission ของแฟมดวย-a จะแสดงแฟมขอมลทงหมด-F จะแสดง / หลง Directory และ * หลงแฟมขอมลท execute ไดตวอยางการใชงาน ls –l ls -al ls -F

adduserคำาสงเพม User ใหกบระบบ Unix,Linuxรบแบบการใชงาน adduser -g (group) -d (Directory) (User)ตวอยาง #adduser -g root -d /home/user1 user สราง User ชอ Login คอ user1 เปนสมาชกในกลม root

useraddคำาสงเพม User ใหกบระบบ Unix,Linux (ใชเหมอนกบคำาสง adduser)รบแบบการใชงาน useradd -g (group) -d (Directory) (User)ตวอยาง #useradd -g root -d /home/user1 user สราง User ชอ Login คอ user1 เปนสมาชกในกลม root

userdelคำาสงลบ User ออกจากระบบ Unix,Linuxรบแบบการใชงาน #userdel [option] (Username)

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 23/37

ตวอยาง userdel -r root user1 ลบ User ชอ Login คอ User1 และ -r คอใหลบ Home Directory ของ User1 ดวย

passwdคำาสงกำาหนดและแกไขรหสผานของ User ของระบบ Unix,Linuxรบแบบการใชงาน passwd [Username]ตวอยาง passwd user1 (กำาหนดรหสผานให User1 ถาไมพมพ ชอ User ระบบ Unix จะหมายความวาแกไขรหสผานของคนทLogin เขามา)

aliasคำาสงกำาหนดคำาสงยอของระบบ Unix,Linux (คลายกบคำาสง SET ใน DOS แตสามารถใชเปนคำาสง RUN ได)รบแบบการใชงาน alias [ชอใหม=ขอความ]ตวอยาง alias copy=cp กำาหนดใหพมพ copy แทนคำาสง cp ได

bashคำาสงเรยกใช Bourne again shell ของระบบ Unix,Linuxรบแบบการใชงาน bashตวอยาง bash [Enter] ( เรยกใช Bourne again shell)

bcคำาสงเรยกใชโปรแกรมคำานวณเลขของระบบ Unix,Linuxรบแบบการใชงาน bc [-lwsqv] [option] [file]ตวอยาง bc [Enter] 1+2 [Enter] 1^2 [Enter] a=3 [Enter] b=4 [Enter] a*b [Enter] x=2;y=5;x+y[Enter] [Ctrl-d] เพอออกหมายเหต:คำาสงนจะใชไดตอง Install Package ลงไปกอน

cpเปนคำาสงทใชสำาหรบสำาเนาแฟมขอมล (เชนเดยวกบ copy ของ DOS) มาจากคำาวา copyรปแบบคำาสง cp source targetตวอยางการใชงาน #cp test.txt /home/user1

calคำาสงแสดงปฏทนของระบบ Unix,Linux

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 24/37

รบแบบการใชงาน #calตวอยาง #cal [Enter](สงใหระบบแสดง ปฏทนเดอน ปจจบน)#cal -y [Enter](สงใหระบบแสดง ปฏทนป ปจจบน)

catคำาสงแสดงขอความใน File ของระบบ Unix,Linux (คลายกบคำาสง Type ของ DOS)รบแบบการใชงาน catตวอยาง #cat /home/user1 | more อานขอมลจากไฟล/home/user1 ถายาวเกนหนาใหหยดทละหนาจอ

C Compilerคำาสง Compile ภาษา C ของระบบ Unix,Linux (คลายกบคำาสง Type ของ DOS)รบแบบการใชงาน cc [filename]ตวอยาง #cc /home/user1/industry.c จะสงใหระบบ Compile ภาษา C ไฟลชอ industry.c ท Directory /home/user1

cdคำาสง Change Directory ของระบบ Unix,Linux (คลายกบคำาสง CD ของ DOS)รบแบบการใชงาน cd [directory]ตวอยาง #cd /etc [Enter]ไป Directory etc#cd ..[Enter] ยายไป Directory อก 1 ชน

chfinคำาสง Change your finger information ของระบบ Unix,Linux (เปนการกำาหนดขอมลของ Userเชน ชอเตม ทอย เบอรโทรศพท)รบแบบการใชงาน chfn [username]ตวอยาง #chfn User1 กำาหนดรายละเอยด User1

chgrpคำาสง Change Group ของระบบ Unix,Linux (เปนการเปลยนกลมเจาของไฟล)รบแบบการใชงาน chgrp [-chfRv] (Group) (File)ตวอยาง #chgrp root /root/* เปลยน Group ใหกบไฟลทกไฟลในไดเรคทอร /root ใหเปน Group root

chmod

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 25/37

คำาสง Change Mode ของระบบ Unix,Linux (เปนการเปลยนสทธการเขาถงไฟล)รบแบบการใชงาน chmod [สทธ] (File)ตวอยาง กำาหนดสทธใหกบไฟลชอ test คอ chmod 754 test หรอ chmod go +r-w test ใหกบไฟลทกไฟล chmod o-r *ตวเลข Mode rwx = 7 ; rw - =6 ; r-x =5 ; r- - = 4 ; - wx = 3 ; - w - = 2 ; - - x = 1 ; - - = 0การกำาหนดสทธกำาหนดได2 ลกษณะคอ1.กำาหนดโดยใชอกษรยอกลม2.ใชรหสเลขฐาน 2 แทนสทธ (1 คออนญาต)กลมผใช User Group Other = ugo เชน go-r-w+x คอกลม และคนอนไมมสทธอานเขยนแตRun ไดสทธการใช -rwx rwx rwx = Read Write Executeรหสเลขฐาน 111 101 100 = 754 คอเจาของไฟลใชไดครบ คน Group เดยวกนอาน Execute ไดนอกนนอานไดอยางเดยว

chownคำาสง Change Owner ของระบบ Unix,Linux (เปนการเปลยนเจาของไฟล)รบแบบการใชงาน chown [ซอเจาของไฟล] (ชอ File)ตวอยาง chown user1 filename คอเปลยนเจาของไฟลชอ filename เปน User1chown -R user1.root dirname คอเปลยนทงเจาของไฟลและกลมไปพรอมกนทกไฟลใน Sub dirname.

chshคำาสง chsh ของระบบ Unix,Linux (เปนการเปลยน Shell ให User)รบแบบการใชงาน chsh [Username]ตวอยาง chsh user1 [Enter] /bin/bash [Enter]

clearคำาสง clear ของระบบ Unix,Linux (เปนการลบขอความบนจอภาพ คลายกบคำาสง cls ใน dos)รบแบบการใชงาน clearตวอยาง #clear [Enter]

calคำาสงแสดงปฏทนของระบบ Unix,Linuxรบแบบการใชงาน cal

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 26/37

ตวอยาง #cal [Enter](สงใหระบบแสดง ปฏทนเดอน ปจจบน)cal -y [Enter](สงใหระบบแสดง ปฏทนป ปจจบน)

mesgmesg ด status การรบการตดตอของ terminalmesg y เปดให terminal สามารถรบการตดตอไดmesg n ปดไมให terminal สามารถรบการตดตอได

dateใชแสดง วนท และ เวลาตวอยาง date 17 May 2004

dfคำาสง df ของระบบ Unix,Linux (เปนการตรวจสอบการใชพนทบนฮารดดสก)รบแบบการใชงาน df [option] [file]ตวอยาง df [Enter]

dmesgคำาสง dmesg ของระบบ Unix,Linux (เปนการใหแสดงผลเหมอนตอน Boot)รบแบบการใชงาน dmesgตวอยาง dmesg | more [Enter]หมายเหต คำาสงน ใชตรวจสอบ เมอเกดปญหา เชน Linux ไมรจก Driver CD-Rom หรอปญหาอนๆ

echoคำาสง echo ของระบบ Unix,Linux (เปนการใหแสดงขอความ เหมอนกบ ECHO ของ DOS)รบแบบการใชงาน echo (ขอความทตองการใหแสดงผล)ตวอยาง echo my name is user1echo Hello > /dev/tty2 สงขอความ Hello ไปออกจอเทอรมนอลท2

edคำาสง ed ของระบบ Unix,Linux (โปรแกรมแกไขขอความใน Text file เหมอนกบคำาสง edlin ของ DOS)รบแบบการใชงาน ed (fileName)

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 27/37

ตวอยาง ed /home/user/test (ออกกด q)สำาหรบคนทไมถนดคำาสงนแนะนำาใหใชคำาสง pico หรอ vi หรอ emacs แทนไดเชนกน

emacsคำาสง emacs ของระบบ Unix,Linux (โปรแกรมแกไขขอความใน Text file )รบแบบการใชงาน emacs (fileName)ตวอยาง emacs /home/user/test (help กด Ctrl - h ; ออกกด Ctrl - x Ctrl - c)

exitคำาสง exit ของระบบ Unix,Linux (ออกจากระบบยนกส )รบแบบการใชงาน exitตวอยาง exit

fingerคำาสง finger ของระบบ Unix,Linux (แสดงชอ User ทกำาลง Login เขามาแตคำาสง Who จะใหรายละเอยดดกวา)รบแบบการใชงาน finger [username]ตวอยาง finger user1 แสดงชอและรายละเอยด user1

fsckคำาสง fsck ของระบบ Unix,Linux (เปนคำาสง ตรวจสอบและซอมแซม Linux file system เหมอนกบคำาสง Scandisk ของ Dos)รบแบบการใชงาน fsck [option]ตวอยาง /sbin/fsck -a /dev/hd1

ftpคำาสง ftp ของระบบ Unix,Linux (เปนโปรแกรมรบ-สงไฟล )รบแบบการใชงาน ftp (IP or Name of FTP Server )ตวอยาง ftp 132.209.1.2 [Enter]

Login:anonymous , Password: [email protected]คำาสงทเกยวของ ls - ดไฟล ; pwd -ดdir. ทอย ;cd - เปลยน dir ;lcd - เปลยน local dir ;mput* -สงไฟล ;mget – รบ

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 28/37

ไฟล ;bye - ออก

grepคำาสง grep ของระบบ Unix,Linux (เปนการสงใหคนหาตามเงอนไข )รบแบบการใชงาน grep (option)ตวอยาง #grep -i ftp /etc/test คนหาบรรทดทมคำาวา "ftp"ไมสนใจพมพเลก-ใหญ จาดไฟล /etc/test

groupaddคำาสง groupadd ของระบบ Unix,Linux (เปนการเพมรายชอกลมของ User)รบแบบการใชงาน groupadd (GroupName )ตวอยาง $groupadd staff สรางกลมของ User ชอ Staff เพมใหระบบ

groupdelคำาสง groupdel ของระบบ Unix,Linux (เปนการลบรายชอกลมของ User)รบแบบการใชงาน groupadd (GroupName )ตวอยาง $groupdel staff ลบกลมของ User ชอ Staff ออกจากระบบ

gzip/gunzipคำาสง gzip/gunzip ของระบบ Unix,Linux (เปนการบบอดไฟลหรอขยายบบอดไฟล)รบแบบการใชงาน gzip หรอ gunzip (-cdfhlLnNrtv19 ) [file]ตวอยาง #gzip -9vr /home/samba/* บบอดไฟลขอมลทกไฟล ใน Sub /home/samba จะเปลยนเปนนามสกล .gz#gunzip -dvr /home/samba/* คลายการบบอดไฟลขอมลทกไฟลทสกล .gz ใน Sub /home/samba

haltคำาสง halt ของระบบ Unix,Linux (เปนการสงใหเครองหยดทำางาน)รบแบบการใชงาน halt [-n] [-w] [-d] [-f] [-I] [-p]ตวอยาง $haltคำาสงทเกยวของ คอ Shutdown ; init0 , reboot

historyคำาสง history ของระบบ Unix,Linux (เปนการดประวตการใชคำาสงใน Command line คลายกบการกด F7 ใน DOS คอเรยกใชคำาสง Dos key)

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 29/37

รบแบบการใชงาน #history [n] [-r wan [filename] ]ตวอยาง #history 20 ดคำาสงทเพงใชไป 20 คำาสงทแลว

ifconfigคำาสง history ของระบบ Unix,Linux (เปนการตรวจสอบกำาหนดคา Network ของ Lan Card)รบแบบการใชงาน ifconfig [option]ตวอยาง #ifconfig

ipchainsคำาสง ipchains ของระบบ Unix,Linux (เปนคำาสงสำาหรบกำาหนดควบคม การรบสงผานขอมลของ Firewall)รบแบบการใชงาน ipchains [parameter] command [option]ตวอยาง #ipchains -L ดสถานะการ Set IPchains ในปจจบน

jobsคำาสง jobs ของระบบ Unix,Linux (เปนคำาสงสำาหรบกำาหนดควบคม การรบสงผานขอมลของ Firewall)รบแบบการใชงาน jobsตวอยาง #sleep 20 & jobs

killคำาสง kill ของระบบ Unix,Linux (เปนคำาสงสำาหรบยกเลก Process)รบแบบการใชงาน kill [option] (process ID)ตวอยาง ps -A ดหมายเลขทชอง PID ของ Process ทตองการลบKill -9

loginคำาสง login ของระบบ nnn แทน nnn ดวยหมายเลข PID -9 คอบงคบฆาใหตายUnix,Linux (เปนคำาสงการเขาระบบหรอเปลยน User Login) รบแบบการใชงาน login [fp] (UserName)ตวอยาง #login:root

mkdirเปนคำาสงทใชสำาหรบการสราง directory (ในทำานองเดยวกบ dos) มาจากคำาวา make directoryรปแบบของคำาสง mkdir mkdir [option] [file]

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 30/37

โดย option ทมกใชกนใน mkdir คอ-m จะทำาการกำาหนด Permissioin (ใหดคำาสง chmod เพมเตม)-p จะทำาการสราง Parent Directory ใหดวยกรณทยงไมมการระบ directory ในทนอาจเปน relativeหรอ absolute path กไดตวอยางmkdir /homemkdir -p -m755 ~/home/user1

mvเปนคำาสงทใชสำาหรบการยายแฟมขอมลและ Directory รวมถงการเปลยนชอดวย (ในทำานองเดยวกบ dos)มาจากคำาวา moveรปแบบคำาสง mv source targetตวอยาง mv *.tar /backupmv test.txt old.txtmv bin oldbin

moreคลายกบคำาสง cat ไมเหมาะกบการดขอมลทมความยาวมากๆ ดงนน จงไดมการพฒนา more ขนเพอชวยใหสามารถดขอมลทมขนาดยาวไดเปนชวงๆรปแบบคำาสง more fileภายในโปรแกรม more จะมคำาสงเพอใชงานคราวๆ ดงน= แสดงเลขบรรทดq ออกจากโปรแกรมเลอนไปยงหนาถดไป เลอนไปยงบรรทดถดไปh แสดง helpตวอยาง more test.txt

manคำาสง man ของระบบ Unix,Linux (เปนคำาสงแสดงขอความ อธบายการใชคำาสง)รบแบบการใชงาน man (Command)ตวอยาง #man lsหมายเหต เมอตองการออก กด q ;-b|-k|-m]

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 31/37

โดย option ทมกใชกนใน free คอ-b แสดงผลลพธเปนหนวย byte-k แสดงผลลพธเปนหนวย kilobyte-m แสดงผลลพธเปนหนวย megabyteตวอยาง free free –b free -k

pwdเปนคำาสงทใชสำาหรบแสดง Directory ปจจบน (ในทำานองเดยวกบการพมพ cd บน DOS) มาจากคำาวา print work directoryรปแบบคำาสง / ตวอยาง pwd

unameคำาสงแสดง ชอและรนของ OS ชอและรนของ cpu ชอเครองตวอยาง uname -a

hostnameคำาสงแสดงชอเครองทใชอยตวอยาง hostname

ttyแสดงหมายเลข terminal ทใชงานอยตวอยาง tty

idใชแสดงชอและกลมมของผใชงานตวอยาง id

อางองจาก www.ubuntuclubcom

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 32/37

การตดตงโปรแกรม

ในการตดตงโปรแกรมบนลนกซ ในบทเรยนนจะสอนอย 3 วธคอ- การใชโปรแกรม apt-get

ในการใชโปรแกรม apt-get นน เปนคำาสงทใชบรการจดการ package ผานทางระบบอนเตอรเนต โดยจะมเงอนใขยอยๆ ทสำาคญดงนsudo apt-get install ชอโปรแกรม เปนการตดตงโปรแกรมsudo apt-get remove ชอโปรแกรม เปนการถอดถอนโปรแกรมsudo apt-get update เปนการปรบปรงรายชอโปรแกรมsudo apt-get upgrade เปนการปรบปรงโปรแกรม ถาหากวามรนใหมๆ ออกมา- การใชโปรแกรม aptitude

การใชโปรแกรม aptitude จะมลกษณะเชนเดยว apt-get แต aptitude จะมลกษณะเดนกคอวา จะชวยแกปญหาโปรแกรมทซำาซอนกนให ซงคำาสงตรงนจะไดดตอนท upgrade kernel- การ compile โปรแกรม

ในการ compile โปรแกรมนน จะมบางกรณทเราจำาเปนจะตองโหลดโปรแกรมมา compile บนเครองเอง ซงเราจะตองรวาขนตอนทสำาคญมดงนtar -zxvf ชอแฟม.tar.gzcd ชอแฟม./configuremakesudo make install

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 33/37

การใชงาน VI

แมวาบางคนอาจจะไมเคยรจก Editor ในแบบน แตถาใครเคยใชคำาสง edit ในสมย DOS หรอเคยใช CW , RW โปรแกรม word processor แบบโบราณ กคงจะนกภาพ editor แบบน เพราะเมอเวลาทเราเปด help ดคำาสงตางๆ เราจะพบวาโปรแกรมทแสดงคำาาอธบาย กจะใช vi ถงแมวาใน Linux Server จะม Editor แบบอนๆกตาม ซง vi เปนโปรแกรม editor ท classics ทสดกวาได แมวาจะมโปรแกรม pico หรอวา nano มาใหใช วธการเรยกใชงาน $vi myfile.txt ซงเมอเปดแฟมมาแลว เราจะยงไมสามารถแกใขอะไรได ใหเรากด i จากนน เราจงจะสามารถแกใขขอความของ myfile.txt ได หากตองการบนทกใหกด esc เพอเขาส command mode แลวสง :w กจะเปนการบนทกขอมล และเมอตองการออกจาก vi ใหใชคำาสง :q และถาหากตองการออกจาก vi โดยไมบนทกใหใชคำาสง :q!

อางองจาก https://help.ubuntu.com/community/VimHowto

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 34/37

การเขยน shell script

หลงจากทเราไดเรยนการใชงาน command line มาพอสมควรแลว แตถาหากวาเราจะตองสง command line แบบหลายๆ คำาสง และจะตองทำางานแบบชดคำาสง เรากมวธลดขนตอนในการทำางานแบบทจะตองสงทละหลายๆ คำาสง มาเปนการสงการแบบชดเดยว โดยบรรจไวในไฟลขอความธรรมดา ทเราเรยกวา shell script ซงถาเปน DOS เราจะรจก Bat File (.BAT) ซงหลกการทำางานกจะคลายๆกน กคอทำาคำาสงในบรรทดแรกไปจนถงบรรทดสดทาย shell คอสวนทเราจะตองตดตอ Ubuntu Server ฉะนนเรองนจงถอวาสำาคญในการทจดการกบ Ubuntu Serverการเขยน shell script โดยเปนกลมคำาสง เพอจดการกบปญหาทเกดขนในระบบ ใหปญหานนสามารถลลวงไปไดดวยด จงถอวาเปนสวนสำาคญในการดแลระบบในเบองตนใหเราหดเขยน shell script โดยใช vi editor โดยสง$vi myscript.sh ใหเราทดลองพมพเนอหาขางใน ดงน#!/bin/sh echo This is my first shell script. ls -l ใหเราสง $chmod +x myscript.sh เพอกำาหนดสทธอนญาตใหเรยกใชเปนโปรแกรมไดจากนน ใหเราสง $./myscript.sh กจะปรากฎวาเหมอนกบเราสงคำาสง สองคำาสงน ลงบน shell ซง shell จะไมประมวล ผลคำาสง ทมเครองหมาย # ตรงหนาคำาสง และการสง #!/bin/sh จะเปนการกำาาหนดวาคำาสงทจะสงตอไปน เปนคำาสงใน shell แบบ sh การเขยน shell script แบบมเงอนใข ใหทดลองเขยน shell script โดยใช vi editor ตามตวอยางขางลาง#!/bin/shif [ $# = 0 ] then echo " Do nothing. " exit elif [ $1 = 'died' ] then echo "I will destroy everything" elif [ $1 = 'leaving' ] then echo "I will leaving." else echo " I don't understand. " fi echo "finish command."

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 35/37

ซงตามตวอยางนเปนการเขยน shell script แบบมเงอนใข โดยคาทพมพออกมาจะแปรผนตามพารามเตอรทใสไปหลง shell script เชน $./myscript.sh leaving กจะแสดงผลลพทออกมาเปน I will leaving

การเขยน shell script แบบ loop ถาหากวาเราตองการเขยน shell script ใหมนวนรอบเปนระยะ ตามจำานวนเงอนใข เปนตวอยางดงดานลางตอไปนการกำาหนด Loop โดยใชคำาสง while#!/bin/sh x=1 while [ $x -le 10 ] do echo "This is number $x" x=$(($x+1)) done

การกำาหนด Loop โดยใชคำาสง for#!/bin/sh for i in 1 2 3 4 5 do echo "This is number " $i don

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 36/37

ตวแปรระบบทสำาคญสำาหรบ Ubuntu ตวแปรเหลาน เรยกวา Case sensitive คอตวใหญกบตวเลก ถอวาคนละตว และมความแตกตางกน

โดยอางองตวแปรทสำาคญๆ มาไวในตารางดานลางนตวแปร ความสำาคญและความหมาย

$HOME ตำาแหนง Directory ของผใชปจจบน

$USER ชอผใชท login อย

$PWD ตำาแหนง Directory ปจจบน

$SHELL ประเภทของ Shell ทใชงานอย

$LANG รหสภาษาทใช

อางองจากhttps://help.ubuntu.com/community/EnvironmentVariables

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920

หนาท 37/37

บรรณานกรม พชย ยอดพฤตการ. เปดโลกใหมกบซอฟตแวรเสร Ubuntu. พมพครงท 1. กรงเทพฯ : บรษท ไอทเบส จำาากด, 2551

นรธ อำาานวยศลป . คมอการใชงาน Red Hat Linux. กรงเทพฯ : บรษท ดานสทธาการพมพ จำากด

ภทรพงศ นอยเรอง. คมอการใชงาน Linux ฉบบ Admin. กรงเทพฯ :อนโฟเพรส,2544.

อ. บณฑต จามรภต. คาภร Ubuntu Linux Server เลม 2. Bandhit Press 2553.

สานนท ฉมมณ . เขยนโปรแกรม และเรยนรเครอขายคอมพวเตอรดวย Ubuntu + Perl. พมพครงท 1. นนทบร : ไอดซฯ, 2552

ชมรมโอเพนซอรสลานนา (www.lanna-oss.org) ตดตอประธานชมรมทเบอร 08-7185-0920