วันพุธที่ 19 พฤศจิกายน พ.ศ. 2551

คำสั่งต่างๆ ในระบบปฏิบัติการ UNIX

คำสั่งเกี่ยวกับการจัดการไฟล์

1. คำสั่ง ls
==> คำสั่ง ls เป็นคำสั่งที่ใช้ในการแสดงชื่อไฟล์หรือไดเร็คทอรี่ย่อยต่าง ๆ ที่อยู่ภายใต้
ไดเร็คทอรี่ปัจจุบันหรือไดเร็คทอรี่ที่ระบุรูปแบบ เช่น
: ls [option] [file_name directory_name]
-- file_name คือ ชื่อไฟล์ที่ต้องการแสดง ในกรณีที่ต้องการระบุชื่อไฟล์
-- directory_name คือ ชื่อไดเร็คทอรี่ที่ต้องการแสดง ในกรณีที่ต้องการระบุชื่อ
ไดเร็คทอรี่
-- option คือ ทางเลือกอื่นๆ ในการแสดงชื่อไฟล์
ที่สำคัญมีดังนี้
-l คือ การแสดงรายชื่อไฟล์แบบยาว ข้อมูลที่แสดงด้วยทางเลือกนี้จากซ้ายไป ขวา ได้แก่ ชนิดและโหมดของไฟล์ จำนวนลิงค์ ชื่อเจ้าของ ขนาดของไฟล์ วันที่ที่มีการแก้ไข ไฟล์ครั้งล่าสุด และชื่อของไฟล์ ซึ่งถ้าไม่ใส่ทางเลือกนี้ แล้ว คำสั่ง ls ก็จะแสดงเฉพาะชื่อของไฟล์ออกมาก
-t แสดงชื่อของไฟล์ โดยเรียงลำดับที่แก้ไขไฟล์ครั้งสุดท้าย โดยจะแสดงชื่อของ ไฟล์ที่ได้รับการแก้ไขหลังสุดก่อน ถ้าไม่ใส่ทางเลือกนี้ ls ก็จะพิมพ์รายชื่อ ของไฟล์เรียงตามลำดับตัวอักษร
-d ใช้ในการบังคับให้แสดงข้อมูลของไดเร็คทอรีที่ระบุไว้ในส่วนของ argument ซึ่ง ถ้าไม่ใช้ทางเลือกนี้แล้ว คำสั่ง ls จะแสดงรายชื่อไฟล์ “ภายใต้” ไดเร็คทอรีที่ ระบุแทน
-a โดยปรกติแล้ว คำสั่ง ls จะไม่แสดงชื่อของไฟล์ที่มีชื่อขึ้นต้นด้วย “.” ออกมาการใช้ทางเลือกนี้เพื่อที่จะให้แสดงรายชื่อไฟล์ทุกไฟล์ เช่น “.profile”

2. คำสั่ง Cd
==> เป็นคำสั่ง Change Directoryของระบบ Unix,Linux (คล้ายกับคำสั่งCDของDOS)
รูปแบบการใช้งาน : cd [directory]
ตัวอย่าง : cd /etc [Enter]ไปDirectory etc cd ..[Enter]
ความหมาย ย้ายไปDirectoryอีก1ชั้น

3. Pwd
==> เป็นคำสั่งที่ใช้สำหรับแสดง Directory ปัจจุบัน (ในทำนองเดียวกับการพิมพ์ cd บน DOS) มาจากคำว่า print work directory
รูปแบบ : pwd
ตัวอย่าง : แสดงว่าขณะนี้เราทำงานอยู่ที่ไดเร็คทอรี่ใด $ pwd /home/train1

4.File
==> คำสั่ง fileบนระบบ DOS/Windows นั้น ประเภทของแฟ้มข้อมูลจะถูกระบุด้วยนามสกุล แต่ใน UNIX จะไม่มีนามสกุลเพื่อใช้ระบุประเภทของแฟ้มข้อมูล ดังนั้นการหาประเภทของแฟ้มข้อมูลจะดูจาก Context ภายในของแฟ้ม ซึ่งคำสั่ง file จะทำการอ่าน Content และบอกประเภทของแฟ้มข้อมูลนั้นๆรูปแบบคำสั่ง : file [option]... file
ตัวอย่าง : file /bin/shfile report1.doc

5. Mv
==> เป็นคำสั่งที่ใช้สำหรับการย้ายแฟ้มข้อมูลและ Directory รวมถึงการเปลี่ยนชื่อด้วย (ในทำนองเดียวกับ dos) มาจากคำว่า move รูปแบบคำสั่ง : mv source target
ตัวอย่าง : mv *.tar /backup, mv test.txt old.txt, mv bin oldbin

6. Mkdir
==> เป็นคำสั่งที่ใช้สำหรับการสร้าง directory (ในทำนองเดียวกับ dos) มาจากคำว่า make directoryรูปแบบของคำสั่ง : mkdir mkdir [option] [file] โดย option ที่มักใช้กันใน mkdir คือ
-m จะทำการกำหนด Permissioin (ให้ดูคำสั่ง chmod เพิ่มเติม)
-p จะทำการสร้าง Parent Directory ให้ด้วยกรณีที่ยังไม่มีการระบุ directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้
ตัวอย่าง : mkdir /home, mkdir -p -m755 ~/้home/user1

7.Rm (remove)
==> ใช้ลบไฟล์ เช่น rm file1 file2 file3 …… ใช้ rm -r directory สำหรับไดเรคทอรี

8. Rmdir
==> เป็นคำสั่งที่ใช้สำหรับการลบ directory (ในทำนองเดียวกับ dos) มาจากคำว่า remove directory โครงสร้างคำสั่ง rmdir [option] [file] โดย option ที่มักใช้กันใน mkdir คือ
-p จะทำการลบ Child และ Parent Directory ตามลำดับ directory ในที่นี้อาจเป็น relative หรือ absolute path ก็ได้
ตัวอย่าง : rmdir /home

9. Chown
==> คำสั่งChange Ownerของระบบ Unix,Linux (เป็นการเปลี่ยนเจ้าของไฟล์)
รูปแบบการใช้งาน : chown [ซื่อเจ้าของไฟล์] (ชื่อFile)
ตัวอย่าง : chown user1 filename คือเปลี่ยนเจ้าของไฟล์ชื่อ
- filename เป็นUser1chown -R user1.root dirname คือเปลี่ยนทั้งเจ้าของไฟล์และกลุ่มไปพร้อมกันทุกไฟล์ใน Sub dirname.

10. Chgrp
==> เป็นคำสั่งChange Group ของระบบ Unix,Linux (เป็นการเปลี่ยนกลุ่มเจ้าของไฟล์)
รูปแบบการใช้งาน : chgrp [-chfRv] (Group) (File)
ตัวอย่าง : chgrp root /root/* เปลี่ยนGroupให้กับไฟล์ทุกไฟล์ในไดเรคทอรี่ /root ให้เป็น Group root

คำสั่งเกี่ยวกับการจัดการโปรเซส


1. Ps
==> แสดง Process หรือโปรแกรมที่ประมวลผลอยู่ในระบบขณะนั้นช่วยให้ผู้ดูแลระบบ ติดตามได้ว่ามีโปรแกรมอะไรที่ไม่ถูกต้อง run อยู่ หรือโปรแกรมอะไร ที่ผู้ศึกษาลองประมวลผลแล้วค้างอยู่ จะได้ทำการแก้ไง มิฉะนั้นระบบก็จะทำงานค้าง เพราะโปรแกรมที่ไม่ควรอยู่ในระบบ กำลังประมวลผลโดยไม่จำเป็น โดยเฉพาะพวก bot จะทำให้ server ล่มง่ายมาก
ตัวอย่างคำสั่ง และการใช้งาน
ps :: แสดงชื่อ process ต่าง ๆ ที่ทำงานอยู่อย่างสั้น
ps -ef :: แสดงข้อมูลของ process โดยละเอียด
ps -ax :: แสดงข้อมูลของ process พร้อมชื่อโปรแกรมได้ละเอียด
ps -aux :: แสดงข้อมูลของ process พร้อมชื่อโปรแกรม และชื่อผู้สั่งได้ละเอียดมาก

2. Kill
==> เมื่อทราบว่า process ใดที่มีปัญหา ก็จะเห็นเลขประจำ process คำสั่ง kill จะสามารถ process ออกจากระบบได้ ช่วยยกเลิก process ที่ไม่ถูกต้องออกจากระบบ ถ้าขณะนั้นผู้ใช้คนหนึ่งกำลังใช้งานอยู่ หาก process หลักของเขาถูก kill จะทำให้ผู้ใช้ท่านนั้น หลุดออกจากระบบทันที (สำหรับคำสั่งนี้จะถูกใช้โดย super user เท่านั้น ผู้ใช้ธรรมดาไม่มีสิทธิ)
ตัวอย่างคำสั่ง และการใช้งาน : kill -9 เลขประจำprocess :: เลขประจำ process จะได้จากการใช้ ps -ef อยู่แล้ว kill -9 1255 :: ลบ process ที่ 1255 ออกจากระบบไป

3. Fg
==> โดยส่วนมากใช้คำสั่ง fg เพื่อที่นำ การทำงานของ process ที่หยุดลงไปกลับคืนมาทำงานต่อ (ซึ่งก็คือเหมือนคำสั่ง Ctrl-Z ) โดยส่ง signal ให้แก่ process ว่า CONT signal

4. Bg
==>จะทำงานเหมือนกับคำสั่ง FG แต่จะให้สำหรับ ทำให้ process ที่อยู่ในส่วน Background ของระบบ เพื่อสั่งให้มันประมวลผลต่อ

5. Jobs
==> คำสั่ง jobs ของระบบ Unix,Linux (เป็นคำสั่งสำหรับกำหนดควบคุม การรับส่งผ่านข้อมูลของ Firewall)
รูปแบบการใช้งาน : jobsตัวอย่าง : #sleep 20 & jobs
ตัวอย่าง : #sleep 20 & jobs

คำสั่งสำรองข้อมูล


1. 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 -xvf data.tarTar –cvf backup.tar/home/khajorn เป็นการสร้างไฟล์ Tar จากโฟลเดอร์ KhajornTar –tvf tarfile less แสดงผลออกในรูปแบบคำสั่ง lessTar –xvf tarfile เป็นการกระจายไฟล์ และไดเรคทรอรี่ในไฟล์ tar ในไดเรคทรอรี่ที่ทำงานอยู่ถ้าใช้ –czvf แทน –cvf จะสร้างไฟล์ และปิดท้ายด้วย .tgz

2.Gzip
==> ทำหน้าที่บีบอัดไฟล์รูปแบบการใช้งานgzip <พารามิเตอร์> <ไฟล์ > <พารามิเตอร์>
ตัวอย่างการใช้ gzip star.txt star.zipfilename.tar.gz ใช้ unzip ไฟล์ผลที่ได้จะเป็น filename.tar

3.Gunzip
==> ขยายไฟล์ที่บีบไว้รูปแบบการใช้งานgunzip <พารามิเตอร์> <ไฟล์ > <พารามิเตอร์>
ตัวอย่างการใช้งาน gunzip star.zip

คำสั่งเกี่ยวกับการติดต่อสื่อสาร


1. telnet
==> ใช้ติดต่อเข้า server ต่าง ๆ ตาม port ที่ต้องการ แต่ปัจจุบัน server ต่าง ๆ ปิดบริการ telnet แต่เปิด SSH แทน: user interface to the TELNET protocol
ตัวอย่างคำสั่ง และการใช้งาน
telnet 202.202.202.202 :: ขอติดต่อเข้าเครื่อง 202.202.202.202 การไม่กำหนด port คือเข้า port 23
telnet www.school.net.th 21 :: ขอติดต่อผ่าน port 21 ซึ่งเป็น FTP port
telnet mail.loxinfo.co.th 25 :: ตรวจ smtp ว่าตอบสนองกลับมา หรือไม่
telnet class.yonok.ac.th 110 :: ทดสอบ pop service ของ windows server 2003 Microsoft Windows POP3 Service Version 1.0 ready.

2. ftp
==> คำสั่ง ftp ของระบบ Unix,Linux (เป็นโปรแกรมรับ-ส่งไฟล์ )
รูปแบบการใช้งาน : ftp (IP or Name of FTP Server)
ตัวอย่าง : ftp 132.209.1.2 [Enter] Login:anonymous , Password:
Username@YourDomain.com
คำสั่งที่เกี่ยวข้อง
ls - ดูไฟล์
pwd -ดูdir. ที่อยู่
cd - เปลี่ยน dir
lcd - เปลี่ยน local dir
mput* -ส่งไฟล์
mget - รับไฟล์
bye - ออก

3. lynx
==> Text browser ที่ใช้งานง่าย ใช้ดู source หรือ download ได้ (ในเครื่องผมไม่ได้ลงไว้)
ตัวอย่างคำสั่ง และการใช้งาน
lynx www.thaiall.com :: เพื่อเปิดเว็บ www.thaiall.com แบบ text modelynx http://www.yonok.ac.th :: เพื่อเปิดเว็บ www.yonok.ac.th แบบ text modelynx -dump http://www.yonok.ac.th :: เพื่อแสดงผลลัพธ์แบบไม่ interactive คือการ view ผลแล้วหยุดทันที

4. mesg mesg
==> ดู status การรับการติดต่อของ terminalmesg y เปิดให้ terminal สามารถรับการติดต่อได้mesgn ปิดไม่ให้ terminal สามารถรับการติดต่อได้

5. ping
==> ตรวจสอบ ip ของเครื่องเป้าหมาย และการเชื่อมต่อ internet : send ICMP ECHO_REQUEST to network hosts
ตัวอย่างคำสั่ง และการใช้งาน
ping www.thaiall.com :: ตัวสอบการมีอยู่ของ www.thaiall.com และแสดงเลข IP ของเว็บนี้
ping 202.29.78.100 -c 5 :: แสดงผลการทดสอบเพียง 5 บรรทัด
ping 202.29.78.2 :: ผลดังข้างล่างนี้ แสดงว่าไม่พบเครื่องที่มีเลข ip ดังกล่าว
PING 202.29.78.2 (202.29.78.2) from 202.29.78.12 : 56(84) bytes of data.
From 202.29.78.12 icmp_seq=1 Destination Host Unreachable
From 202.29.78.12 icmp_seq=2 Destination Host Unreachable
From 202.29.78.12 icmp_seq=3 Destination Host Unreachable

6. write
==> เป็นคำสั่งใช้เพื่อการส่งข้อมูลทางเดียวจากผู้เขียนไปถึงผู้รับบนเครื่องเดียวกันเท่านั้น
รูปแบบคำสั่ง : write user [tty] เมื่อมีการพิมพ์คำสั่ง write ผู้ใช้จะเห็นข้อความซึ่งจะแสดงว่าข้อความดังกล่าวถูกส่งมาโดยใคร ซึ่งหากผู้รับต้องการตอบกลับ ก็จะต้องใช้คำสั่ง write เช่นกัน เมื่อพิมพ์เสร็จแล้วให้พิมพ์ตัวอักษร EOF หรือ กด CTRL+C เพื่อเป็นการ interrupt ทั้งนี้ข้อความที่พิมพ์หลังจาก write จะถูกส่งหลังจากการกด Enter เท่านั้น
ตัวอย่าง : write m2k


คำสั่งอื่น


1. At
==> มีไว้สำหรับสั่งการให้โมเด็มซ้ำสตริงคำสั่งสุดท้าย โมเด็มจะ ปฏิบัติตามคำสั่งทันทีที่พิมพ์เครื่องหมาย/ ไม่จำเป็นต้องป้อนคำเติมหน้าคำสั่ง

2. Cpio
==> Cpio ย่อจาก Copy in and Out เป็นการแบ็คอัพข้อมูล
รูปแบบการใช้ : Cpio flags [options]Fc –s [old=new] [command]
ตัวอย่างการใช้
Cpio –ocv > /dev/fd0
Cpio –icv “*.c” < /dev/fd0

3.Bc
==> 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 Packet ลงไปก่อน

4.Basename

==> เป็นคำสั่งสำหรับสกัดเอาชื่อไฟล์ไฟล์โดยตัดส่วนขยายชื่อไฟล์ (file extension) .gif ออก

5. Last

==> เป็นคำสั่งที่จะทำให้ loop หยุดทำงานและออกมาจาก loop ทันที

6. Crontab

==> มีไว้เพื่อการตั้งเวลาทำงานคำสั่งหรือโปรแกรมล่วงหน้า ตามเวลาที่ ผู้ใช้ต้องการ แต่การเปิดอนุญาติเช่นนี้อาจสร้างปัญหาให้แก่ระบบ

7. Dd

==> ใช้สำหรับจัดย่อหน้าสำหรับคำอธิบาย

8. Du

==> แสดงการเนื้อที่ใช้งาน ของแต่ละ directory โดยละเอียด. ช่วยให้ผู้ดูแล ระบบรู้ว่า directory ใด ใช้เนื้อที่ใด หรือใช้ดูรวม ๆ

9. Dirname

==> คือเปลี่ยนทั้งเจ้าของไฟล์และกลุ่มไปพร้อมกันทุกไฟล์ใน Sub dirname

10. Ln

==> เป็นคำสั่งไว้สร้าง link ไปยังที่ ที่ต้องการ คล้ายกับ shortcut

11. Env

==> แสดงค่า environment ปัจจุบัน

12. Eject

==> คำสั่ง EJECT เป็นคำสั่งให้นำคำสั่งที่ตามหลังคำสั่ง EJECT ไปขึ้นหน้าใหม่ ทั้งนี้เพื่อให้แต่ละส่วนของโปรแกรมใหญ่ๆ ขึ้นหน้าใหม่ ส่วนคำสั่ง EJECT จะไม่ปรากฏใน Assembly Listing

13. Exec

==> ที่ใช้ในการแทนค่าตัวแปรแล้วรันคำสั่งแบบพลวัต (dynamicly) บันทึกพฤติกรรมของ exec ไว้

14. Free

==> แสดงหน่วยความจำที่เหลืออยู่บนระบบ โครงสร้างคำสั่ง free [-b-k-m] โดย option ที่มักใช้กันใน free คือ
-b แสดงผลลัพธ์เป็นหน่วย byte
-k แสดงผลลัพธ์เป็นหน่วย kilobyte
-m แสดงผลลัพธ์เป็นหน่วย megabyte
ตัวอย่าง free free -b free -k

15.Groups

16. hostname
==> คำสั่งแสดงชื่อเครื่องที่ใช้อยู่

17. Lp


18. Mount

==> คำสั่ง mount ของระบบ Unix,Linux (เป็นคำสั่งเชื่อมต่ออุปกรณ์เข้ากับระบบ)
รูปแบบการใช้งาน : mount (-t type) DeviceDriver MountPoint
ตัวอย่างการใช้ Mount CdRom
แบบที่1
mount -t iso9660 /dev/cdrom /mnt/cdrom
หรือ
# mkdir /mnt/cdrom
# mount_cd9660 /dev/cd0a /mnt/cdrom
แบบที่2
mount /dev/cdrom (เมื่อmountแล้วCDจะอยู่ที่ /mnt/CdRom ยกเลิกดูคำสั่ง Unmount)

19. Mt

==> เป็นคำสั่งกำหนดและแก้ไขรหัสผ่านของ User ของระบบ Unix,Linux ... คำสั่งกำหนดคำสั่งย่อ ของระบบ Unix,Linux

20.Nice

==> เป็นคำสั่งหรือโปรอกรมเข้าสู่เครื่อง .... ติดต่อ nice หรือ ติดต่อผู้บริหารเว็บไซต์ + Powered by KnowledgeVolution

21. Nohup


22. Netstat

==> จะแสดงเป็นตัวเลข IP ยากต่อการเดา และการดูจริงๆคุณต้องสังเกตที่ port ที่เครื่องคุณด้วยว่าเป็น port ที่ใช้ทำอะไร

23.Od

==> แสดงเนื้อหาในไฟล์ไบนารี่

24.Pr

==> คือส่วนหนึ่งของภาษา HTML. คุณสามารถใช้ BBCode ในข้อความที่คุณพิมพ์. และคุณสามารถยกเลิกการใช้ BBCode ในแต่ละข้อความได้ในแบบฟอร์มกรอกข้อความ. BBCode มีรูปแบบคล้ายๆกับภาษา HTML

25. Df

==> คำสั่ง df ของระบบ Unix,Linux (เป็นการตรวจสอบการใช้พื่นที่บนฮาร์ดดิสก์)
รูปแบบการใช้งาน df [option] [file]
ตัวอย่าง df [Enter]

26. printf

==> รับค่าตัวแรกเป็นข้อความที่จัดรูปแบบการแสดงผล และรับรายการของข้อมูลที่ต้องการแสดงผลถัดไป. รูปแบบการแสดงผล : จะถูกระบุโดยเครื่องหมาย % ตามด้วยอักษรแสดงรูปแบบ. ในกรณีนี้ % d ระบุว่าเราจะพิมพ์ตัวเลขฐานสิบ

28. printenv

==> คำสั่งนี้จะแสดงค่าตัวแปลสภาพ แวดล้อม.
ตัวอย่าง : เซ็ตค่าตัวแปรสภาพแวดล้อมจะใช้คำสั่ง ‘setenv’

29. pg

==> เป็นคำสั่งใช้แสดง content ของไฟล์ ทั้งหมดทีละจอภาพ ถ้าต้องการแสดงหน้า ถัดไป ต้องกด แป้น enter;
รูปแบบ : pg filename

30.Quota

==> เป็นคำสั่งตรวจสอบการใช้เนื้อที่
รูปแบบ : quota [-v] [username]
ตัวอย่าง: $ quota -v

31. Rlogin

==> ใช้เพื่อเปิดการเชื่อมต่อ ด้วย rlogin. rsh. ใช้เพื่อ execute คำสั่งแบบ Remote (การใช้คำสั่งทำงานบน Host อื่นแบบ Remote)