คำสั่ง Unix ที่ใช้เป็นประจำ
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 -lls -alls -Fls /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 /backupmv test.txt old.txtmv 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 /usrcd ~ (เป็นการเข้าสู่ 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 /homemkdir -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 /homemkdir -p /home/local/data
แหล่งข้อมูลเพิ่มเติม : rmdir --help และ man
rmdir
คำสั่งเกี่ยวกับการค้นหาแฟ้มข้อมูล และ Permission
file
บนระบบ DOS/Windows นั้น
ประเภทของแฟ้มข้อมูลจะถูกระบุด้วยนามสกุล แต่ใน UNIX
จะไม่มีนามสกุลเพื่อใช้ระบุประเภทของแฟ้มข้อมูล
ดังนั้นการหาประเภทของแฟ้มข้อมูลจะดูจาก Context ภายในของแฟ้ม ซึ่งคำสั่ง file
จะทำการอ่าน Content และบอกประเภทของแฟ้มข้อมูลนั้นๆโครงสร้างคำสั่ง
file [option]... file
ตัวอย่าง
file /bin/shfile 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 *.docfind /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/krerkchown nobody data.txt
แหล่งข้อมูลเพิ่มเติม : chown --help และ man
chown
chgrp
ใช้สำหรับเปลี่ยนกลุ่มเจ้าของแฟ้มข้อมูลหรือ Directoryโครงสร้างคำสั่ง
chgrp [option]... group file
โดย option ที่มักใช้กันใน chgrp คือ
-R เปลี่ยน Permission ของทุกๆ แฟ้มย่อยใน
Directory
ตัวอย่าง
chgrp users /home/krerkchown 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.txtcat file1.txt file2.txt > file3.txt (นำข้อมูลใน file1.txt
และ file2.txt มาต่อกัน แล้วเก็บไว้ใน file3.txt)
แหล่งข้อมูลเพิ่มเติม : cat --help และ man cat
more
สืบเนื่องจากคำสั่ง cat ไม่เหมาะกับการดูข้อมูลที่มีความยาวมากๆ
ดังนั้น จึงได้มีการพัฒนา more ขึ้น
เพื่อช่วยให้สามารถดูข้อมูลที่มีขนาดยาวได้เป็นช่วงๆโครงสร้างคำสั่ง
more file
ภายในโปรแกรม more จะมีคำสั่งเพื่อใช้งานคราวๆ ดังนี้
= แสดงเลขบรรทัดq ออกจากโปรแกรม<space> เลื่อนไปยังหน้าถัดไป<enter> เลื่อนไปยังบรรทัดถัดไป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.txthead -n 10 data.txt
แหล่งข้อมูลเพิ่มเติม : head --help และ man head
tail
จะแสดงส่วนท้ายของแฟ้มข้อมูล ตามจำนวนบรรทัดที่ต้องการโครงสร้างคำสั่ง
tail [option] file
โดย option ที่มักใช้กันใน chown คือ
-n เพื่อทำการระบุบรรทัดที่ต้องการ (หากไม่ระบุจะเป็น 10
บรรทัด)-c เพื่อระบุจำนวน byte
ตัวอย่าง
tail data.txttail -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 ด้วย
โปรแกรมจะถือว่าหมายถึงเครื่องปัจจุบันตัวอย่าง
fingerfinger krerk@vwin.co.thfinger krerkfinger @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 ymesg n
แหล่งข้อมูลเพิ่มเติม : man mesg
คำสั่งทั่วไป / อื่นๆ
man
เพื่อใช้แสดงรายละเอียดข้อมูลของคำสั่ง หรือ
วิธีการใช้แฟ้มข้อมูลต่างๆ มาจากคำว่า manualโครงสร้างคำสั่ง
man [section]... manpage
โดย section ต่างๆ ของ manpage คือ
1 จะเป็น User Command2 จะเป็น System Calls3 จะเป็น Sub Routines4 จะเป็น Devices5 จะเป็น File Format
ตัวอย่าง
man printfman 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.tartar -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
ตัวอย่าง
freefree -bfree -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.txtpwd >> 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 ได้จาก href="http://www.cygwin.com/">http://www.cygwin.com/ หรือ href="http://www.cygnus.com/">http://www.cygnus.com/นอกจากนี้ยังมีการ Port โปรแกรมต่างๆ ในโครงการของ GNU
ไปยังระบบ DOS ภายใต้ชื่อ DJGPP ซึ่งประกอบไปด้วย Compiler และโปรแกรมต่างๆ บน Unix
โดยสามารถหาข้อมูลเพิ่มเติมได้จาก href="http://www.gnu.org/">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 จะทำงานได้ดีกว่า |
เอกสารอ้างอิง
- 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.
แหล่งที่มา : http://www.vwin.co.th/document.php?node=4