Wednesday, December 13, 2006

คำ​สั่ง​ Unix ​ที่​ใช้​เป็น​ประจำ

ที่มา: http://www.vwin.co.th/document.php?node=4

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

ความ​รู้พื้นฐานเกี่ยว​กับ​ Unix ​ที่ควรทราบ

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

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

ls

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

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

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

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

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

-a ​จะ​แสดงแฟ้มข้อมูล​ทั้ง​หมด

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

ตัวอย่าง

ls -l

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

Popular Posts