Unix เป็นระบบปฏิบัติการที่นิยมใช้กับแพร่หลายบนระบบขนาดใหญ่ และในปัจจุบันยังมีระบบปฏิบัติการในลักษณะของ Unix-like เกิดขึ้นมากมาย และ เริ่มเป็นที่นิยมใช้กันมากหลายยิ่งขึ้นบนเครื่องคอมพิวเตอร์ส่วนบุคคล เอกสารชุดนี้จึงสรุปคำสั่งบน Unix ที่มักใช้เป็นประจำโดยมีการยกตัวอย่างเปรียบเทียบกับ DOS/Windows พร้อมกับอธิบายถึงส่วนขยายเพิ่มเติมของคำสั่ง เพื่ออำนวยความสะดวกให้กับผู้เริ่มหัดใช้ Unix ทั่วไป
ความรู้พื้นฐานเกี่ยวกับ Unix ที่ควรทราบ
- Unix เป็นระบบปฏิบัติการแบบ Multi User และ Multi Tasking ซึ่งแตกต่างจาก Window ที่เป็นระบบปฏิบัติการแบบ Multi Tasking แต่ไม่เป็น Multi User กล่าวคือ ณ เวลาหนึ่งๆ บนระบบ Unix จะมีผู้ใช้งานเครื่องคอมพิวเตอร์ได้มากกว่า 1 คนพร้อมกัน ทำให้ Unix มีระบบการจัดการ Permission และระบบรักษาความปลอดภัยของข้อมูลดีกว่าและซับซ้อนกว่า DOS/Window
- ระบบ File System ของ Unix นั้นจะเป็นระบบ Single Root กล่าวคือจะมี Logical Driver เพียง Drive เดียวเท่านั้น และกรณีมี Harddisk หลายตัวหรือหลาย Partition แต่ละ Partition จะถูกกำหนดให้เป็นเพียง Directory ย่อยของระบบ ซึ่งจะต่างกับ DOS/Window ที่เป็นระบบ Multiple Root ที่จะแยก Drive / Parition ตามตัวอักษร เช่น A: , C: เป็นต้น
- เนื่องจาก Unix เป็นระบบปฏิบัติการที่พัฒนาด้วยภาษา C ดังนั้นชื่อต่างๆ บน Unix จึงมีลักษณะเป็น Case-sensitive เช่น กรณีแฟ้มข้อมูลชื่อ MyFile กับ myfile จะเป็นแฟ้มข้อมูลคนละชื่อกัน
- ระบบ Permission ของ Unix จะแบ่งเป็น 3 ระดับคือ ระดับเจ้าของ (User หรือ Owner) ระดับกลุ่ม (Group) และ ระดับบุคคลอื่น (Other) โดยในแต่ละระดับจะแบ่งออกเป็นสิทธิในการประมวลผล (execute) การอ่าน (read) และ การเขียน (write) ทั้งรายละเอียดเพิ่มเติมให้ดูจากคำสั่ง chmod
- กรณีที่ผู้ใช้กระทำคำสั่งใดผิดพลาดนั้น บน Unix เราสามารถที่จะ Interrupt เพื่อยกเลิกการทำงานของคำสั่งหรือโปรแกรมนั้นๆ ได้โดยการกด CTRL + C
- มาตรฐานของระบบ 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
ls -al
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
ในทำนองเดียวกัน เราสามารถใช้ 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 <> | 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 จะทำงานได้ดีกว่า |
เอกสารอ้างอิง
- R. Thomas, J. Yates, "A USER GUIDE TO THE UNIX SYSTEM", OSBORNE/McGRAW-HILL,2nd Edition,1987.
- G. Gonzato,"From DOS/Windows to Linux HOWTO"
- Unix man pages Document.
No comments:
Post a Comment