Professional Documents
Culture Documents
การใช้
เรียบเรียงโดย
วิบูลย์ วราสิทธิชัย
นั กวิชาการคอมพิวเตอร์
กลุ่มงานบริหารจัดการระบบคอมพิวเตอร์และเครือขุาย
ศูนย์คอมพิวเตอร์ ม.อ.
จัดทำาโดย
กลุ่มงานบริการวิชาการ
ศูนย์คอมพิวเตอร์ มหาวิทยาลัยสงขลานตรินทร์
CC2501REV-0
ั ที่ 15 มี.ค. 47
บังคับใช้วน
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน คำานำ า หน้ า I
คำำนำ ำ
ั (พ.ศ.2546) เริ่มมีผู้ให้ความสนใจระบบปฏิบัติการลิน่กซ์ (Linux) กันมากขึ้นเรื่อย
ปั จจ่บน
ๆ ซึ่ง Linux ก็คือระบบปฏิบัติการยูนิกซ์ (UNIX) ชนิ ดหนึ่ งที่ได้รับการพัฒนาขึ้นมาจากยูนิกซ์
้ มีรูปแบบการใช้งานที่เรียกวุา graphical user
เวอร์ชันตุาง ๆ ที่มีมากุอนหน้ านั ้น ลิน่กซ์ นั น
interface มีลักษณะเหมือนกับการใช้ Windows 98 ซึ่งเหมาะกับการใช้งานทัว่ ไป เชุน
แอพพลิเคชันสำานั กงาน เป็ นต้น นอกจากนี้ยงั มีรูปแบบการใช้งานอีกแบบซึ่งเรียกวุา textual
command line interface เป็ นการสัง่ งานโดยเขียนชื่อคำาสัง่ ซึ่งเป็ นรูปแบบที่มีอยุูและเหมือนกัน
ในระบบปฏิบัติการยูนิกซ์ท่กชนิ ด เหมาะสำาหรับการจัดการเรื่องตุาง ๆ เชุนการจัดการไฟล์และ
ไดเรกทอรี การค้นหาข้อมูลในไฟล์ การติดตุอไปยังเครื่องทีอ
่ ยุูหุางไกล การถุายโอนไฟล์ด้วยยูทิลิตี้
ftp เป็ นต้น
เนื้ อหาประกอบด้วย
บทที่ 1 เริ่มต้นอยุางงุาย
บทที่ 2 ระบบไฟล์
บทที่ 3 เซลล์
บทที่ 5 โพรเซส
บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ
วิบูลย์ วราสิทธิชัย
ผู้เขียน
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน สารบัญ หน้ า II
สำรบัญ
คำานำ า......................................................................................................... I
บทที่ 1 เริ่มต้นอยุางงุาย...................................................................................1
1.1 ระบบปฏิบัติการคืออะไร.....................................................................................1
1.2 ประวัติของยูนิกซ์อยุางยุอ...................................................................................2
1.4 ยูนิกซ์คืออะไร..................................................................................................3
1.3 ลิน่กซ์............................................................................................................ 4
1.5 สถาปั ตยกรรมของระบบปฏิบัติการลิน่กซ์................................................................5
1.6 การเข้าใช้งาน (และออกจาก) ระบบปฏิบัติการยูนิกซ์.................................................5
1.7 การเปลี่ยนรหัสผุาน...........................................................................................6
1.8 รูปแบบทัว่ ไปของคำาสัง่ ยูนิกซ์...............................................................................6
1.9 Terminal Control Keys .............................................................................7
แบบฝึ กหัดท้ายบท...................................................................................................8
บทที่ 2 ระบบไฟล์.......................................................................................13
2.1 ระบบไฟล์ของยูนิกซ์........................................................................................13
2.2 ชื่อไฟล์......................................................................................................... 13
2.3 โครงสร้างไดเรกทอรีของยูนิกซ์...........................................................................14
2.4 คำาสัง่ จัดการไดเรกทอรีและไฟล์..........................................................................15
2.5 วิธีสร้างลิงค์ไฟล์ แบบ Hard link และ Soft link...............................................19
2.6 การใช้ wildcard ในชื่อไฟล์.............................................................................19
2.7 สิทธิการใช้ไฟล์และไดเรกทอรี............................................................................20
2.8 Default File Permissions..........................................................................22
2.9 การใช้งานแผุนฟลอปปี้ ดิสก์และซีดีรอม................................................................23
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน สารบัญ หน้ า III
แบบฝึ กหัดท้ายบท................................................................................................. 24
บทที่ 3 เซลล์............................................................................................ 29
4.1 วิธีคน
้ หาข้อมูลในไฟล์......................................................................................38
4.4 วิธีเรียงลำาดับข้อมูลในไฟล์.................................................................................41
4.5 คำาสัง่ แบ็คอัพข้อมูล......................................................................................... 41
4.6 คำาสัง่ บีบอัดไฟล์.............................................................................................. 42
แบบฝึ กหัดท้ายบท................................................................................................. 43
บทที่ 5 โพรเซส..........................................................................................44
5.1 หลักการของโพรเซส........................................................................................44
5.2 การควบค่มโพรเซส..........................................................................................44
แบบฝึ กหัดท้ายบท................................................................................................. 47
บทที่ 6 ี้ องระบบ.................................................................................49
ยูทิลิตข
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน สารบัญ หน้ า IV
6.1 การติดตุอไปยังเครื่องระยะไกล...........................................................................49
6.2 ยูทลิ ิตีส้ ำาหรับตรวจสอบเครือขุาย.........................................................................49
6.3 การถุายโอนไฟล์............................................................................................. 50
6.4 การติดตุอระหวุางผู้ใช้......................................................................................53
6.5 ยูทลิ ิตดี้ ้านอีเมล์.............................................................................................. 53
6.6 ยูนิกซ์เอดิเตอร์ ............................................................................................. 54
แบบฝึ กหัดท้ายบท................................................................................................. 56
บรรณาน่กรม.............................................................................................. A
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 1 / 57
บทที่ 1 เริม
่ ต้นอย่ำงง่ำย
วัตถ่ประสงค์
• หลักการทำางานของระบบปฏิบัติการทัว่ ไป
• สถาปั ตยกรรมภายในระบบปฏิบัติการทัว่ ไป
• วิวัฒนาการของระบบปฏิบัติการจากอดีตจนมาถึงปั จจ่บน
ั
• สถาปั ตยกรรมระบบปฏิบัติการลิน่กซ์
• วิธีเข้าใช้และออกจากยูนิกซ์ทำาอยุางไร และวิธีเปลี่ยนรหัสผุานของค่ณ
1.1 ระบบปฏิบัตก
ิ ำรคืออะไร
ระบบปฏิบัติการคือตัวที่ทำาหน้ าที่จด
ั สรรทรัพยากรของเครื่อง มันคือช่ดคำาสัง่ ที่จะอน่ญาตผู้ใช้
งานและโปรแกรมแอพพลิเคชันตุาง ๆในการขอใช้ทรัพยากรของระบบเชุน ซีพียู, หนุ วยความจำา,
ดิสก์, โมเด็ม, การ์ด และอื่นๆ ด้วยวิธีท่ี ปลอดภัย, มีประสิทธิภาพ และมีรูปแบบที่อ้างถึงสะดวก
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 2 / 57
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 3 / 57
1.2 ประวัติของยูนิกซ์อย่ำงย่อ
ยูนิกซ์กลายเป็ นระบบ
ปฏิบัติการที่ได้รับความนิ ยม
นานกวุา 2 ทศวรรษแล้ว
เนื่ องมาจากความสามารถตุางๆ
ในเรื่อง มีผู้เข้าใช้งานได้หลาย
คนพร้อมกัน (multi-user),
ทำางานได้หลายงานพร้อมกัน
(multi-tasking),
เสถียรภาพ (stability), การ
ย้ายโปรแกรมที่เขียนข้ามไปสุู
อีกระบบ (portability) และ
มีสมรรถนะสูงในการใช้งาน
เครือขุาย ที่จะกลุาวตุอไปคือ
ประวัติอยุางยุอวุายูนิกซ์ได้ถูก
พัฒนามาอยุางไร
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 4 / 57
BSD เกิดขึน
้ จากมหาวิทยาลัยแคลิฟอร์เนี ยที่เบิรค
์ เลย์ในขณะที่ค่ณเคน ทอมป์ สันได้หย่ดพัก
ไป และถูกพัฒนาตุอโดยนั กศึกษาที่เบิร์คเลย์และสถาบันวิจัยอื่นๆ สุวน SYSV ได้ถูกพัฒนาโดย
AT&T และบริษัทธ่รกิจอีกหลายบริษัท ความนิ ยมยูนิกซ์ SYSV ได้รับการสนั บสน่นมากกวุา
BSD
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 5 / 57
1.4 ยูนิกซ์คืออะไร
• ยูนิกซ์คือระบบปฏิบัติการที่ใช้กับคอมพิวเตอร์ทวั่ ไป
• ยูนิกซ์คือระบบปฏิบัติการที่ไมุขึ้นกับฮาร์ดแวร์
• ยูนิกซ์เกิดขึ้นมาในสภาวะแวดล้อมการทำางานที่เอื้อตุอการพัฒนาโปรแกรม
ปรัชญำของยูนิกซ์
• ทำาโปรแกรมให้เล็กและทำางานได้
• ใช้คำาสัง่ สัน
้ ไมุเสียเวลาพิมพ์
ทำำไมเลือกใช้ยูนิกซ์
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 6 / 57
ฮาร์ดแวร์ใดก็ได้
• มียูนิกซ์ให้ใช้มากมายในสถาบันการศึกษาที่มีคอมพิวเตอร์ประมวลผลสมรรถนะสูง
องค์ประกอบของยูนิกซ์
• Kernel
• Shells
• Utilities
1.3 ลินุกซ์
ความเป็ นโอเพนซอร์สของลิน่กซ์หมายถึงวุารหัสต้นฉบับสำาหรับเคอร์เนลของลิน่กซ์นั้นแจก
จุายได้ฟรีทำาให้ใครก็ได้สามารถเพิ่มขีดความสามารถและแก้ไขข้อผิดพลาดที่พบได้เองเลย วิธีการแบบ
นี้ประสบผลสำาเร็จอยุางมากและจากโครงงานที่เริ่มต้นโดยคนหนึ่ งคน กลับกลายเป็ นมีอาสาสมัคร
จำานวนหลายร้อยคนทัว่ โลกรุวมกันพัฒนา วิธีการโอเพนซอร์สนี้นอกจากจะทำาให้การพัฒนาเคอร์เนล
ั บนลิน่กซ์อีกด้วย (ดู
ประสบผลสำาเร็จแล้ว ยังรวมถึงการพัฒนาโปรแกรมแอพพลิเคชันตุางๆที่รน
http://www.freshmeat.net)
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 7 / 57
ลิน่กซ์มีท่กองค์ประกอบที่ระบบปฏิบัติการทัว่ ไปมี
• Kernel
เคอร์เนลของลิน่กซ์มีไดร์ฟเวอร์อ่ปกรณ์ของพีซีจำานวนมากมายให้มาด้วย (เชุน
graphics cards, network cards, hard disks เป็ นต้น) มีความสามารถในการจัดการ
้ สูง และรองรับการใช้งานไฟล์ประเภทตุางๆ (เชุนดอส
หนุ วยประมวลผลและหนุ วยความจำาขัน
ไฟล์ในแผุนฟลอปปี้ และ มาตรฐาน ISO9660 ที่ใช้กับ CDROM) ในสุวนให้บริการแกุ
โปรแกรมแอพพลิเคชันและยูทิลิตรี้ ะบบ มันก็ติดตัง้ BSD และ SYSV system call ไว้
เกือบทัง้ หมดรวมทัง้ system call ที่ระบ่ไว้ต้องมีตามมาตรฐาน POSIX.1
• System Utilities
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 8 / 57
คำาสัง่ ls, cp, grep, awk, sed, bc, wc, more และอื่น ๆ พวกเหลุานี้ได้ถูกออกแบบ
เพื่อให้เป็ นเครื่องมือที่มีประสิทธิภาพสูงในการทำางานเพียง 1 อยุางได้เป็ นอยุางดี (ต.ย. grep
้ หาคำาที่อยุูในไฟล์ในขณะที่ wc ใช้นับจำานวนคำา บรรทัด และไบต์ท่อ
ใช้คน ี ยุใู นไฟล์) ผู้ใช้
สามารถแก้ปัญหาในการทำางานด้วยการนำ าคำาสัง่ เหลุานี้มาใช้งานตุอเนื่ องกันแทนที่การเขียน
โปรแกรมใหญุๆขึ้นมา 1 โปรแกรมเพื่อใช้งาน
• Application programs
เมื่อค่ณทำาการติตตุอไปยังเครื่องคอมพิวเตอร์อ่ น
ื ที่เป็ นยูนิกซ์ด้วยเทอร์มินัลที่แสดงผลข้อความ
อยุางเดียว ค่ณจะพบ prompt:
login:
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 9 / 57
Graphical terminals:
1.7 กำรเปลี่ยนรหัสผ่ำน
สิ่งหนึ่ งที่คณ
่ จะต้องทำาเมื่อค่ณเข้าใช้งานในครัง้ แรกก็คือการเปลี่ยนรหัสผุานของค่ณ
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 10 / 57
1.8 รูปแบบทั่วไปของคำำสั่งยูนิกซ์
ตัวอยุางคำาสัง่ ไมุมีอาร์กิวเมนต์
$ date
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 11 / 57
CTRL-u - ลบท่กตัวอักษรบนบรรทัดคำาสัง่
CTRL-c - หย่ดคำาสัง่
CTRL-s - หย่ดจอภาพที่กำาลังแสดงผล
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 12 / 57
แบบฝึ กหัดท้ำยบท
:-------------------------------------------------------------------------------
-----------------:
TERM = (vt100)
:-------------------------------------------------------------------------------
-----------------:
2. การติดตุอจากลิน่กซ์ไปยังเครื่องชื่อ maliwan ซึ่งเป็ นยูนิกซ์เซิร์ฟเวอร์ ใช้โปรแกรม secure
shell client ชื่อ ssh ติดตุอไป แล้วใสุช่ อื บัญชีผู้ใช้และรหัสผุานที่ได้รับจากผู้สอน
ใสุ login และ password ของ demo (หากสร้างบัญชีผู้ใช้ช่ อื demo ไว้) เพื่อเข้าใช้
เครื่องลิน่กซ์
:-------------------------------------------------------------------------------
-----------------:
login: demo
password: welcome
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 13 / 57
sa32
:-------------------------------------------------------------------------------
-----------------:
3. การเปลี่ยนรหัสผุาน
:-------------------------------------------------------------------------------
-----------------:
prompt> passwd
passwd: Changing password for sa32
:-------------------------------------------------------------------------------
-----------------:
กรณี เปลี่ยนสำาเร็จ
เราจะเห็นข้อความนี้
passwd (SYSTEM): passwd successfully changed for sa32
prompt>
:-------------------------------------------------------------------------------
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 14 / 57
-----------------:
กรณี เปลี่ยนไมุสำาเร็จแบบที่ 1
เราจะเห็นข้อความนี้
passwd(SYSTEM): Sorry, wrong passwd
Permission denied
prompt>
:-------------------------------------------------------------------------------
-----------------:
กรณี เปลี่ยนไมุสำาเร็จแบบที่ 2
เราจะเห็นข้อความนี้
passwd(SYSTEM): They don't match; try again.
:-------------------------------------------------------------------------------
-----------------:
กรณี เปลี่ยนไมุสำาเร็จแบบที่ 3
:-------------------------------------------------------------------------------
-----------------:
กรณี เปลี่ยนไมุสำาเร็จแบบที่ 4
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 15 / 57
:-------------------------------------------------------------------------------
-----------------:
prompt>
prompt> date
Thu Jun 12 22:04:22 ICT 2003
prompt> hostname
maliwan
prompt> arch
sun4
prompt> uname -a
SunOS maliwan 5.6 Generic_105181-16 sun4u sparc SUNW,Ultra-Enterprise
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 16 / 57
--More--
...
prompt> uptime
11:06pm up 1 day(s), 21:55, 4 users, load average: 0.40, 0.43, 0.36
prompt> who am i
sa32 pts/3 Jun 12 20:51 (wiboon.cc.psu.ac.th)
prompt> who
root console Jun 11 09:19
s4125122 pts/1 Jun 12 21:30 (libra.psu.ac.th)
s4504082 pts/2 Jun 12 21:36 (libra.psu.ac.th)
sa32 pts/3 Jun 12 20:51 (wiboon.cc.psu.ac.th)
prompt> id
uid=10032(sa32) gid=8000(trainee)
prompt> last
prompt> finger
Login Name TTY Idle When Where
root Super-User console 1d Wed 09:19
s4125122 *************** *pts/1 Thu 21:30 libra.psu.ac.th
sa32 Student_group_A pts/3 Thu 20:51 wiboon.cc.psu.ac.th
prompt> w
11:16pm up 1 day(s), 22:06, 3 users, load average: 0.38, 0.42,
0.40
User tty login@ idle JCPU PCPU what
root console Wed 9am 2days bash
s4125122 pts/1 9:30pm 2 2 slirp ppp
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 17 / 57
prompt> top
/usr/local/bin/top: Permission denied
prompt> man ls
กดปุ ่ม q เพื่อหย่ด
prompt> lost
lost: Command not found
prompt> clear
สังเกตสิ่งผิดปกติ
prompt> bc -l
พิมพ์ 10/7
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 1 เริ่มต้นอยุางงุาย หน้ า 18 / 57
5+4
prompt> history
prompt> !40
prompt> !!
prompt> Who
Who: Command not found
prompt> who
prompt> /usr/bin/who
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 19 / 57
บทที่ 2 ระบบไฟล์
วัตถ่ประสงค์
• ระบบไฟล์และโครงสร้างไดเรกทอรีของยูนิกซ์
• คำาสัง่ จัดการไฟล์และไดเรกทอรี
• การใช้งานแผุนฟลอปปี้ ดิสก์และซีดีรอม
2.1 ระบบไฟล์ของยูนิกซ์
1. Ordinary files
ไฟล์ธรรมดาสามารถเก็บข้อความ ข้อมูล หรือข้อมูลของโปรแกรม ไฟล์เหลุานี้ไมุสามารถ
เก็บไฟล์หรือไดเรกทอรีอ่ น
ื ๆไว้ภายใน
2. Directories
ไดเรกทอรีคือที่เก็บไฟล์และไดเรกทอรีตุางๆ
3. Devices
เพื่อชุวยให้แอพพลิเคชันติดตุอกับอ่ปกรณ์ฮาร์ดแวร์ได้งุาย ยูนิกซ์ทำาให้มองดีไวซ์เหมือน
เป็ นไฟล์ธรรมดา มันมีอยุู 2 ประเภทคือ block-oriented ซึ่งสุงข้อมูลเป็ นบล็อก (เชุน
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 20 / 57
4. Links
2.2 ชื่อไฟล์
ตัวอยุางตัวอักษรพิเศษ ที่ใช้ในบรรทัดคำาสัง่
$ อ้างถึงตัวแปรเชลล์
2.3 โครงสร้ำงไดเรกทอรีของยูนิกซ์
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 21 / 57
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 22 / 57
2.4 คำำสั่งจัดกำรไดเรกทอรีและไฟล์
pwd แสดงพาธแบบสมบูรณ์ของไดเรกทอรีท่ก
ี ำาลังทำางาน ดังนั ้น
$ pwd
/usr/bin
• ls (list directory)
ls แสดงรายชื่อที่อยุูภายในไดเรกทอรี ถ้าไมุใสุช่ อ
ื ไดเรกทอรีตุอท้ายคำาสัง่ ก็จะเป็ นการแสดง
รายชื่อที่อยุูภายในไดเรกทอรีท่ก
ี ำาลังทำางาน ดังนั น ี ำาลังทำางานคือ /
้ ถ้าไดเรกทอรีท่ก
$ ls
bin dev home mnt share usr var
boot etc lib proc sbin tmp vol
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 23 / 57
เมื่อ:
type จะเป็ นตัวอักษร 1 ตัว “d” (directory), “-” (ordinary file), “l”
(symbolic link), “b” (block-oriented device) หรือ “c” (character-oriented
device)
links หมายถึงจำานวนลิงค์ท่ชี ม
ี้ ายังไฟล์/ไดเรกทอรีนี้ (ดูเรื่องลิงค์ในบทตุอไป)
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 24 / 57
permissions
name คือชื่อไฟล์หรือชื่อไดเรกทอรี
• man
เชุน
$ cd /usr/local - change to /usr/local
$ cd doc/training - change to doc/training in current directory
$ cd .. - change to parent directory
$ cd ~/data - change to data directory in home directory
$ cd ~joe - change to user joe's home directory
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 25 / 57
ยุอยได้ถ้าค่ณได้มีสิทธิการเขียนที่ไดเรกทอรีนั้น
เชุน
$ mkdir /u/training/data
$ mkdir data2
ลบไดเรกทอรียอ
ุ ยชื่อ ในไดเรกทอรีทำางานขณะนั ้น ค่ณสามารถลบไดเรกทอรียอ
ุ ยนั ้นได้ถ้า
มันวุาง (ไมุมีไฟล์และไดเรกทอรียุอยเหลืออยุใู นนั ้นแล้ว)
เชุน
$ rmdir /u/training/data
• cp (copy)
เชุน
$ cp sample.f sample2.f - copies sample.f to sample2.f
$ cp -Rd dir1 dir2 - copies contents of directory dir1
to dir2
$ cp -i file.1 file.new - prompts if file.new will be
overwritten
$ cp /etc/passwd ~ - copies file to your home directory
$ cp ~betty/index . - copies the file "index" from user
betty's home directory to current
directory
• mv (move/rename)
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 26 / 57
• rm (remove/delete)
$ rm target-file(s)
ลบไฟล์ตามที่ระบ่ช่ อ
ื นั ้น มันแทบจะไมุมีทางกู้ไฟล์กลับคืนมาเลยนอกจากเอาจากม้วนเทปที่ได้
แบ็คอัพข้อมูลเก็บไว้ ซึ่งเป็ นข้อแตกตุางจากระบบปฏิบัติการอื่น ๆ (ไมุมี recycle bin) ดัง
นั ้นให้ระมัดระวังการใช้คำาสัง่ นี้ ถ้าค่ณต้องการให้มีการถามยำา้ กุอนลบ ก็ให้ใช้ตัวเลือก -i ดังนี้
$ rm -i myfile
rm: remove 'myfile'?
rm ยังใช้เพื่อลบไดเรกทอรีด้วย (รวมถึงไฟล์และไดเรกทอรีท่อ
ี ยุูข้างในด้วย) โดยใช้ตัวเลือก -r
ถ้าไมุต้องการให้มันถามยำา้ วุาจะลบไฟล์/ไดเรกทอรีนั้นไหม ให้ใสุตัวเลือก -f ด้วย แตุการใช้คำา
สัง่ นี้ต้องเพิ่มความรอบครอบเป็ นพิเศษ ลองดูตวั อยุางนี้ เมื่อผ้ด
ู ูแลระบบใช้คำาสัง่ ลบไดเรกทอรี
ของ will แตุพิมพ์ผิดเป็ น
$ rm -rf / home/will
• cat (catenate/type)
$ cat target-file(s)
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 27 / 57
เชุน
$ cat hello.txt - shows contents in hello.txt
$ cat -b myprog.c - shows line numbers
$ cat file1 file2 - diplays entire file1 then file2
เขุน
$ cat > hello.txt
hello world!
[ctrl-d]
$ cat hello.txt
hello world!
$
เชุน
$ more sample.f
้ มูลมากกวุา 1
นอกจากนี้ ค่ณยังใช้ more เพื่อใช้หย่ดหน้ าจอผลลัพธ์ของคำาสัง่ อีกคำาสัง่ ที่มีขอ
จอภาพดังเชุนตัวอยุางนี้ ( เครื่องหมาย | คือตัวไปป์ อธิบายละเอียดในบทตุอไป )
$ ls -l | more
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 28 / 57
เชุน
$ ln results.1 last.run - links filename "last.run" to the
real file results.1 in the current
directory.
$ ln ../Notes.jan notes - links filename "notes" in current
directory to real file Notes.jan in
parent directory.
เราสามารถอ้างถึงชื่อไฟล์หลายไฟล์ได้ดว้ ยตัวอักษรสำาหรับเปรียบเทียบแบบที่เรียกวุา
wildcard ซึ่งมีกฎดังนี้
• “*” ใช้เปรียบเทียบไฟล์ท่ม
ี ีตัวอักษรกี่ตัวก็ได้ในชื่อไฟล์ เมื่อใช้ “*” อันเดียวก็จะแทนไฟล์
ท่กไฟล์ สุวน “*.*” ก็จะแทนไฟล์ท่กไฟล์ท่ม
ี ี “.” อยุใู นชื่อไฟล์ด้วย
เชุน
1. ??? แทนท่กไฟล์ท่ป
ี ระกอบด้วย 3 ตัวอักษร
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 29 / 57
2.7 สิทธิกำรใช้ไฟล์และไดเรกทอรี
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 30 / 57
ตัวอยุาง จากคำาสัง่ ls -l
-rw------- 2 smith staff 3287 Apr 8 12:10 file1
ผู้ใช้มีสิทธิ read และ write permission สุวน Group และ others ไมุมี permissions
-rw-r--r-- 2 smith staff 13297 Apr 8 12:11 file2
ผู้ใช้มีสิทธิ read และ write permission สุวน Group และ others สามารถอุานได้
อยุางเดียว
-rwxr-xr-x 2 smith staff 4133 Apr 8 12:10 myprog
ผู้ใช้มีสิทธิ read, write และ execute permission สุวน Group และ others มีสิทธิ
read และ execute file.
drwxr-x--- 2 smith staff 1024 Jun 17 10:00 SCCS
อันนี้เป็ นไดเรกทอรี ผู้ใช้มีสิทธิ read, write และ execute permission สุวน Group มี
สิทธิ read และ execute permission ในไดเรกทอรี ผู้ใช้อ่ น
ื ๆนอกจากนั ้นไมุมีสิทธิ
ตัวอยุางเชุน คำาสัง่
$ chmod 600 private.txt
ตัวอยุางเพิ่มเติม
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 31 / 57
ตัวอยุางเพิ่มเติม
chmod a+r sample.f
เพิ่มสิทธิ read และ execute permissions สำาหรับ group และ others ในไฟล์ท่กไฟล์
ื "prog" นำ าหน้ า
ที่มีช่ อ
chmod +w *
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 32 / 57
คำาสัง่ umask ใช้เพื่อกำาหนดคุา default file permissions โดยทัว่ ไป คำาสัง่ umask นี้จะ
ถูกนำ าไปใสุไว้ในไฟล์เริ่มต้นการใช้งาน .profile, .cshrc หรือ .login เมื่อผู้ใช้งาน login
เข้าใช้งานคุา umask ก็จะถูกกำาหนดไว้เลย
ตัวอยุาง
$ umask 077
$ umask 002
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 33 / 57
คำาสัง่ mount จะเชื่อม filesystem ที่พบใน device ไปยัง filesystem tree ในทางกลับ
กันคำาสัง่ umount ใช้ยกเลิกการเชื่อม (ต้องจำาไว้เสมอวุาเมื่อจะเอาแผุนฟลอปปี้ หรือซีดีรอมออกได้ก็
ตุอเมื่อทำาคำาสัง่ นี้แล้ว)
เพื่อที่จะใช้แผุนฟลอปปี้
$ mount /mnt/floppy
$ cd /mnt/floppy
$ ls
$ umount /mnt/floppy
$ mount /mnt/cdrom
$ umount /mnt/cdrom
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 34 / 57
แบบฝึ กหัดท้ำยบท
เรื่อง ระบบไฟล์
1. ลองทำาคำาสัง่ ตุอไปนี้ตามลำาดับ
prompt> cd
prompt> ls -al
prompt> cd .
prompt> cd ..
prompt> ls -al
prompt> cd ..
prompt> ls -al
prompt> cd ..
prompt> cd /etc
prompt> cd -
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 35 / 57
prompt> pwd
prompt> cd /bin
prompt> ls -F
prompt> cd /sbin
prompt> ls -F
prompt> cd /tmp
prompt> ls -F
3. ทำาขัน้ ตอนตุอไปนี้
prompt> cd ~username
prompt> cd
3.4 ลบไดเรกทอรียอ
ุ ยชื่อ work
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 36 / 57
prompt> cp /etc/hosts ~
5. ทำาขัน้ ตอนตุอไปนี้
5.1 ต้องการรู้ช่ อ
ื ดีไวซ์ tty (จอเทอร์มนิ ั ล) ที่คณ
่ กำาลังใช้งาน
prompt> who am i
sa33 pts/0 Jun 20 16:50 (wiboon.cc.psu.ac.th)
5.3 สร้างไฟล์ช่ อ
ื hello.txt โดยใช้วธ
ิ ีคด
ั ลอกตัวอักษรที่เกิดบนจอภาพลงไฟล์ ดังนี้
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 37 / 57
6. ทำาขัน้ ตอนตุอไปนี้
prompt> cd play
6.2 สร้างไฟล์ท่ม
ี ีช่ อ
ื ยาว ๆ ดังนี้
พิมพ์ข้อความ abcdef
กดปุ ่ม Ctrl + d
6.4 สร้าง symbolic link ชื่อ terminal ที่จะชีไ้ ปยังดีไวซ์ tty ของค่ณ
6.5 สร้างไฟล์ช่ อ
ื world.txt ี ำา “hello
ที่มค world” อยุภ
ู ายใน ดังนี้
กดปุ ่ม Ctrl + d
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 38 / 57
7. ทำาขัน
้ ตอนตุอไปนี้
prompt> cd
8. ลบไดเรกทอรีช่ อ
ื play และสิ่งที่อยุูข้างในด้วยคำาสัง่ เดียว ไมุต้องให้มค
ี ำาถามยืนยันการลบ
ใดๆ
9. เปลี่ยนไปยังไดเรกทอรีท่ค
ี ณ
่ ไมุได้เป็ นเจ้าของ และลองลบไฟล์
prompt> cd ~username
prompt> rm filename
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 39 / 57
2. ทำาขัน
้ ตอนตุอไปนี้
2.2 แล้วให้เพื่อนลองเข้ามายังไดเรกทอรีของค่ณ
2.3 เปลี่ยนสิทธิกลับให้เหมือนเดิม
3. ทำาขัน
้ ตอนตุอไปนี้ เพื่อจัดทำาโฮมเพจสุวนตัว
3.1 สร้างไดเรกทอรีช่ อ
ื public_html
prompt> cd
3.2 กำาหนดสิทธิในไฟล์และไดเรกทอรี
4. ทำาขัน
้ ตอนตุอไปนี้
4.2 สร้างไฟล์ช่ อ
ื world1.txt
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 40 / 57
prompt> ls -l
พิมพ์ข้อความ hi world
5. ทำาขัน
้ ตอนตุอไปนี้
prompt> cp /bin/sh ~
prompt> chmod +s sh
prompt> ls -l
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 2 ระบบไฟล์ หน้ า 41 / 57
prompt> cd ~sa33
prompt> ./sh
5.6 รันคำาสัง่ id
$ id
$ exit
prompt>
prompt> rm sh
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 42 / 57
บทที่ 3 เซลล์
วัตถ่ประสงค์
• เซลล์คืออะไร
• ความสามารถของเชลล์ทวั่ ไป
• วิธีเปลี่ยนไปใช้เชลล์ชนิ ดอื่นๆ
• ตัวแปรเชลล์คืออะไร มีวธ
ิ ีกำาหนดอยุางไร
• ไฟล์เริ่มต้นใช้งาน
• การสุงผุานข้อมูลด้วยไปป์ (pipe)
3.1 เชลล์คืออะไร
เชลล์คอ
ื สุวนที่ผู้ใช้ใช้เพื่อติดตุอกับระบบปฏิบัติการ มันทำาหน้ าที่เป็ นตัวแปลคำาสัง่ เพื่อบอก
ระบบปฏิบัติการวุาผู้ใช้ต้องการทำาอะไร และแสดงผลลัพธ์ท่เี กิดขึ้นไปบนจอภาพหรือควบค่มให้
ผลลัพธ์ถูกเก็บลงไฟล์ก็ได้
เชลล์อะไรที่เรำใช้
มีเชลล์ช่ อ
ื ตุาง ๆ มากมายที่ใช้ในยูนิกซ์ แตุท่ใี ช้กันมากคือ
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 43 / 57
- Korn shell (ksh) คอร์นเชลล์ เขียนขึ้นโดย David Korn ของบริษัท AT&T ไมุมีใน
ยูนิกซ์ท่กระบบ แตุติดตัง้ เพิ่มได้ คอร์นเซลล์ดงึ เอาลักษณะเดุนของทัง้ บอร์นเชลล์และซีเชลล์เข้ามาไว้
ทำาให้เพิ่มประสิทธิภาพการใช้งาน
- Bourne Again Shell (bash) บอร์นอะเกนเชลล์ เป็ น Public domain shell เขียน
้ โดย Free Software Foundation เป็ นการรวมซีเชลล์และคอร์นเชลล์เข้ามาไว้ด้วย ภาษาที่ใช้
ขึน
ในการเขียนโปรแกรมก็ใช้กันได้กับบอร์นเซลล์ จึงเป็ นที่นิยมกันมาก โดยเฉพาะ Linux
3.2 ควำมสำมำรถของเชลล์ทั่วไป
Bourne C TC Korn BASH
sh csh tcsh ksh bash
Programming language Yes Yes Yes Yes Yes
Shell variables Yes Yes Yes Yes Yes
Command alias No Yes Yes Yes Yes
Command history No Yes Yes Yes Yes
Filename completion No Yes* Yes Yes* Yes
Command line editing No No Yes Yes* Yes
Job control No Yes Yes Yes Yes
* not the default setting for this shell
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 44 / 57
$ bash
bash$
3.4 ตัวแปรเชลล์คืออะไร
local - ใช้ในเชลล์ท่ก
ี ำาลังทำางานอยุูเทุานั ้น
global - ใช้ในเชลล์ท่ก
ี ำาลังทำางาน และรวมถึงโพรเซสลูกที่เกิดขึ้น
ตัวอยุาง
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 45 / 57
3.5 มีวธ
ิ ก
ี ำำหนดตัวแปรอย่ำงไร
แบบ Global,
The C Shell,
i.e.
% setenv TERM=vt100
i.e.
แบบ Local,
The C Shell,
i.e.
% set x = 10
NAME = value
i.e.
$ x=10
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 46 / 57
3.6 ไฟล์เริม
่ ต้นใช้งำน
ตัวอยุาง
/etc/environment
/etc/profile
/etc/cshrc
/etc/login
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 47 / 57
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 48 / 57
ในยูนิกซ์ เราใช้เลข 0 แทน standard input เลข 1 แทน standard output และเลข 2
แทน standard errror ดังนั ้น ถ้าเราต้องการเก็บ error messages ก็ทำาได้โดยใสุเลข 2 นำ าหน้ า
โอเปอเรเตอร์ > ดังนี้
แยกคนละไฟล์ ดังนี้
รวมไว้ในไฟล์เดียวกัน ดังนี้
ซึ่งเขียนได้อีกแบบ
bye
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 49 / 57
เราสามารถใช้ทงั ้ การเปลี่ยนทิศทางข้อมูลเข้าและเปลี่ยนทิศทางผลลัพธ์ภายในบรรทัดคำาสัง่
เดียวกันได้ แตุระวังอยุางใช้ช่ อ
ื ไฟล์เดียวกัน ดังนี้
ตัวอยุาง
$ ls -l | more
$ who | wc -l
บรรทัดนี้จะสร้าง 4 โพรเซส (คือ who, cut, sort และ uniq) ซึ่งทำางานตุอเนื่ องกันไป เมื่อ
คำาสัง่ เริ่มทำางาน ผลลัพธ์ของโพรเซส who จะถูกสุงผุานไปให้โพรเซส cut ซึ่งจะสุงตุอไปให้โพรเซส
sort และส่ดท้ายสุงผุานไปให้โพรเซส uniq คำาสัง่ uniq แสดงผลลัพธ์บนจอภาพ
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 50 / 57
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 51 / 57
เชุน
$ echo "Can you use command echo $SHELL ?"
Can you use command echo /bin/csh ?
เชุน
$ echo 'Can you use command echo $SHELL ?'
Can you use command echo $SHELL ?
นอกจากนี้ ยังมี quote ชนิ ดที่ส่ี คือเครื่องหมาย single backward quotes (`) ใช้
สำาหรับสุงผุานผลลัพธ์ของคำาสัง่ หนึ่ งให้เป็ นข้อมูลเข้าของอีกคำาสัง่ ตัวอยุางเชุน
$ hostname
rose
$ echo this machine is called `hostname`
this machine is called rose
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 52 / 57
แบบฝึ กหัดท้ำยบท
เรื่อง ตัวแปรเชลล์
prompt> bash
prompt> echo x = $x , y = $y
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 53 / 57
This is an exercise.
Good luck
6. ใช้คำาสัง่ ls -l เพื่อเก็บรายชื่อไฟล์ท่อ
ี ยุใู น home directory ของค่ณไว้ในไฟล์ช่ อ
ื
homedir.files
7. แล้วใช้คำาสัง่ ตุอไปนี้เพื่อสุงอีเมล์ถึงผู้สอน
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 3 เซลล์ หน้ า 54 / 57
homedir.files
1. จะสร้างไฟล์ช่ อ
ื $SHELL ได้อยุางไร และจะลบไฟล์นั้นได้อยุางไร
prompt> rm \$SHELL
2. จะสร้างไฟล์ช่ อ
ื This is a long file name ได้อยุางไร และจะลบไฟล์นั้นได้
อยุางไร
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 55 / 57
• วิธีคน
้ หาข้อมูลที่อยุใู นไฟล์
• คำาสัง่ ค้นหาไฟล์
• วิธีคน
้ หาข้อมูลที่ตอ
้ งการในไฟล์ตุางๆ
• วิธีเรียงลำาดับข้อมูลในไฟล์
• คำาสัง่ สำาหรับการบีบอัดไฟล์และการแบ็คอัพข้อมูล
4.1 วิธีคน
้ หำข้อมูลในไฟล์
• file filename(s)
ตัวอยุาง
ต้องการแสดงข้อมูล 5 บรรทัดแรก
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 56 / 57
$ head -5 /etc/passwd
ต้องการแสดงข้อมูล 20 บรรทัดส่ดท้าย
ตัวอยุางเพิ่มเติม
head sample.f - display first 10 lines (default)
head -5 sample.f - display first 5 lines
head -25 sample.f - display first 25 lines
tail sample.f - display last 10 lines (default)
tail -5 sample.f - display last 5 lines
tail -5c sample.f - display last 5 characters
tail -25 sample.f - display last 25 lines
$ tail -f /var/log/messages
$ tail -f /var/log/syslog
4.2 คำำสั่งค้นหำไฟล์
• find
ใช้คน
้ หาตำาแหนุ งที่ไฟล์เก็บอยุู
ตัวอยุาง
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 57 / 57
ค้นหาได้ไปที่จอภาพ
ค่ณยังสามารถรันคำาสัง่ ได้ทน
ั ทีท่ค
ี น
้ หาได้ช่ อ
ื ไฟล์ เชุน
• which command
ตัวอยุาง
$ which ls
/bin/ls
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 58 / 57
4.3 วิธีคน
้ หำข้อมูลที่ต้องกำรในไฟล์ต่ำงๆ
ตัวอยุาง
-c พิมพ์จำานวนบรรทัดที่นับได้จากการค้นหา
-i ไมุสนใจตัวอักษรวุาจะเป็ นพิมพ์ใหญุหรือพิมพ์เล็ก
-v พิมพ์บรรทัดที่ไมุตรงกับรูปแบบที่ระบ่
-n พิมพ์หมายเลขบรรทัดหน้ าบรรทัดที่คน
้ หาได้
ดังนั น
้
ตัวอยุางที่ซับซ้อน
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 59 / 57
regular expression
4.4 วิธีเรียงลำำดับข้อมูลในไฟล์
• sort filenames
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 60 / 57
ดังนั น
้
4.5 คำำสั่งแบ็คอัพข้อมูล
tar ไมุได้ทำาการบีบอัดไฟล์ใด ๆ
เพื่อที่จะสร้างไฟล์ archive
tar -cvf archivename filenames
f หมายถึง file
ตัวอยุาง
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 61 / 57
ตัวอยุาง
ตัวอยุาง
4.6 คำำสั่งบีบอัดไฟล์
• compress, gzip
compress และ gzip เป็ นยูทิลิตีส้ ำาหรับ compressing และ decompressing ไฟล์
(อาจจะเป็ นไฟล์ archive หรือไมุก็ได้).
เพื่อที่จะบีบอัดไฟล์
compress filename
หรือ
gzip filename
ตัวอยุาง
$ compress play.tar
จะได้ไฟล์บีบอัดชื่อ play.tar.Z
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 62 / 57
หรือ
$ gzip play.tar
จะได้ไฟล์บีบอัดชื่อ play.tar.gz
เพื่อทำาให้เป็ นไฟล์ปกติตามเดิม
compress -d filename
หรือ
gzip -d filename
ตัวอยุาง
$ compress -d play.tar.Z
หรือ
$ gzip -d play.tar.gz
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 63 / 57
แบบฝึ กหัดท้ำยบท
1. ทำาขัน
้ ตอนตุอไปนี้
แล้วพิมพ์ข้อความ 1 บรรทัด
error
200000 Bytes
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 4 คำาสัง่ ดำาเนิ นการไฟล์ หน้ า 64 / 57
ทำาได้ 2 วิธี
8. แปลความหมายของบรรทัดข้างลุางนี้
grep ^s4[4-6][1-3][0-9] /etc/passwd | cut -d: -f1 | sort
บทที่ 5 โพรเซส
วัตถ่ประสงค์
• หลักการของโพรเซส
• การควบค่มโพรเซส
5.1 หลักกำรของโพรเซส
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 65 / 57
่ สัง่ ให้ system utility หรือ application program ทำางานจาก shell ก็จะ
ท่กครัง้ ที่คณ
เกิดมีโพรเซส "child" เกิดขีน
้ 1 หรือมากกวุาหนึ่ งโพรเซสถูกสร้างจาก shell ในทันที
5.2 กำรควบคุมโพรเซส
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 66 / 57
ตัวอยุาง
$ jobs
ดังนั น
้
$ fg %3
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 67 / 57
$ ps
PID TTY TIME CMD
17717 pts/10 00:00:00 bash
27501 pts/10 00:00:01 find
27502 pts/10 00:00:00 ps
้ PID ของเชลล์ (bash) คือ 17717, PID ของ find คือ 27501 และ PID ของ
ดังนั น
ps คือ 27502
เมื่อต้องการหย่ดโพรเซสหรือ job ให้ใช้คำาสัง่ kill ซึ่งมีวิธใี ช้คำาสัง่ kill นี้ 2 วิธี โดย PID
หรือโดย job number
ดังนั น
้
$ kill %1
หรือ
$ kill 27501
$ kill -9 27501
$ ps -fae
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 68 / 57
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 69 / 57
แบบฝึ กหัดท้ำยบท
3. ทำาขัน
้ ตอนตุอไปนี้
3.4 พิมพ์คำาสัง่ ps
4. ทำาขัน
้ ตอนตุอไปนี้
5. ทำาขัน
้ ตอนตุอไปนี้
5.1 พิมพ์คำาสัง่ fg %2
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 70 / 57
5.3 พิมพ์คำาสัง่ bg %2
6. ทำาขัน
้ ตอนตุอไปนี้
7. เปรียบเทียบคำาสัง่ นี้
7.3 รันคำาสัง่ nohup sleep 300 & แล้ว log out ออกไป
ภายในเก็บข้อความข้างลุางนี้
sleep 60
echo Hello
sleep 60
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 5 โพรเซส หน้ า 71 / 57
echo Hi
sleep 60
echo Bye
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 72 / 57
บทที่ 6 ยูทิลิตข
ี้ องระบบ
วัตถ่ประสงค์
• การติดตุอไปยังเครื่องระยะไกล
• ยูทล
ิ ิตีส
้ ำาหรับตรวจสอบเครือขุาย
• การถุายโอนไฟล์
• การติดตุอระหวุางผู้ใช้
• ยูทล
ิ ิตด
ี้ ้านอีเมล์
• ยูนิกซ์เอดิเตอร์
6.1 กำรติดต่อไปยังเครื่องระยะไกล
ตัวอยุาง
$ ssh sa33@maliwan.psu.ac.th
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 73 / 57
6.2 ยูทิลิตีส
้ ำำหรับตรวจสอบเครือข่ำย
• ping machinename
$ ping www.uni.net.th
• traceroute machinename
$ traceroute www.uni.net.th
6.3 กำรถ่ำยโอนไฟล์
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 74 / 57
ftp put
(upload)
network
Desktop PC
(local machine) FTP server
(download) ftp get (remote machine)
ตัวอยุางเชุน
username: sa33
ftp> mget *
ftp> mput *
ftp> quit
prompt>
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 75 / 57
ตัวอยุางเชุน
username: anonymous
password: anonymous@ftp.psu.ac.th
ftp> cd pub/windows-utils
ftp> mget *
ftp> quit
prompt>
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 76 / 57
ขัน
้ ตอนการถุายโอนไฟล์
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 77 / 57
$ scp sa33@maliwan.psu.ac.th:~/hello.txt
• wget URL
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 78 / 57
ตัวอยุาง
$ wget http://www.yahoo.com
6.4 กำรติดต่อระหว่ำงผู้ใช้
• write
• talk
$ talk sa33@maliwan.psu.ac.th
• mesg
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 79 / 57
6.5 ยูทิลิตีด
้ ้ำนอีเมล์
• pine
6.6 ยูนิกซ์เอดิเตอร์
• vi filename
่ ต้นใช้ vi
กำรเริม
$ vi filename
กำรใช้งำน
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 80 / 57
กำรลบ
กด
x เพื่อลบ 1 ตัว
กำรย้ำยและคัดลอกข้อควำม
กำรค้นหำคำำ
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 81 / 57
กดปุ ่ม Enter
การค้นหาคำาตุอไปให้กดปุ ่ม n
กำรแทนที่คำำ
กำรเลิก
การบันทึก, พิมพ์ :w
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 82 / 57
แบบฝึ กหัดท้ำยบท
username: anonymous
password: anonymous@ftp.psu.ac.th
ftp> cd pub/unix-util
ftp> quit
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 83 / 57
prompt> cd txt2html-1.28
8. สุงเมล์ให้ผู้สอน โดยมีขอ
้ มูลชื่อไฟล์ทงั ้ หมดใน home
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บทที่ 6 ยูทล
ิ ิตข
ี้ องระบบ หน้ า 84 / 57
9. ทำาขัน
้ ตอนตุอไปนี้
CC2501REV-0
หลักสูตร การใช้ระบบปฏิบัติการ UNIX พื้นฐาน บรรณาน่กรม หน้ า A
บรรณำนุกรม
1. Introduction to UNIX, Dr William J. Knottenbelt, Department of
Computing, Imperial College London, South Kensington Campus, London,
September 2001,
Website http://www.doc.ic.ac.uk/~wjk/UnixIntro/
CC2501REV-0