วันอังคารที่ 29 มิถุนายน พ.ศ. 2553

วิธีติดตั้งไดรเวอร์ Realtek RTL8191SE Wireless LAN สำหรับ eee pc 1201T

1. ไปดาวโหลดไดรเวอร์ล่าสุดจากเว็ปนี้ครับ
2.เมื่อได้ไฟล์นี้ rtl8192se_linux_2.6.0015.0127.2010 มาแล้ว แตกไว้ที่ /home ครับ
3. เปิดเทอมีนัลขึ้นมาแล้ว cd เข้าไปในโฟว์เอดร์นี้ rtl8192se_linux_2.6.0015.0127.2010
4. จากนั้นแปลงร่างเป็น root ด้วยคำสั่ง sudo su
5. จากนั้นสั่ง make แล้วรอจนเสร็จ
6. เมื่อเสร็จแล้วสั่ง make install รออีกแป๊บหนึ่งจนเสร็จ
7. แล้วรีสตาร์ทหนึ่งครั้ง ไชโยใช้ได้แล้วครับ

วิธี แก้ slpash screen UBUNTU 10.04 สำหรับเครื่องที่ใช้การ์ดจอ ATI ให้สวยงาม

วิธีตามนี้เลยครับ

1. ที่เทอร์มินัล sudo gedit /etc/default/grub
   โปรแกรม gedit จะเปิดไฟล์ grub ขึ้นมาให้หาบรรทัดนี้
  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  แล้วแก้ให้เป็นไปตามนี้
 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"

และ เพิ่มบรรทัดนี้

GRUB_GFXPAYLOAD_LINUX=1280x800

ใต้ บรรทัดนี้

#GRUB_GFXMODE =(ตัวเลขตรงนี้ไม่ต้องแก้ให้คงเดิม)

(อย่า ลืมปรับขนาดจอนะครับ)

จากนั้นบันทึกและปิด gedit


2. sudo apt-get install v86d

รอจนเสร็จ

3. sudo gedit /etc/initramfs-tools/modules
โปรแกรม gedit จะเปิดไฟล์ modules  ขึ้นมาให้เพิ่ม บรรทัดนี้เข้าไปด้านล่างสุด
uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap

บันทึกและปิด gedit

จากนั้น

4. echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
5. sudo update-grub2
6. sudo update-initramfs -u

ลองรีสตาร์ทดูผล ครับ

ใช้โปรแกรม X-lite ร่วมกับบริการ totnetcall ใน ubuntu 10.04

สืบเนื่องจากบริการ totnetcall ของ tot นั้นมี Softphone ที่รันได้เฉพาะบน windows เท่านั้น แต่ปกติแล้วผมใช้ linux ubuntu เป็นหลัก จึงพยายามหา Softphone ตัวอื่นมาทดแทนเพื่อให้สามารถใช้บริการ netcall ดังกล่าวได้ และพอดีจังหวะที่ในบอร์ด ubunutuclub มีคนถามเรื่องเกี่ยวกับเรื่องนี้จึงได้ความรู้และสามารถเปิดใช้บริการจนได้ ครับ สำหรับบทความนี้จะไม่พูดถึงเรื่องการลงทะเบียนใช้ totnetcall แต่จะพูดถึงเฉพาะวิธีการติดตั้ง X-lite และการตั้งค่าเพื่อใช้ X-lite ใน UBUNTU สำหรับใช้บริการ totnetcall เท่านั้นครับ วิธีการตามนี้
การติดตั้ง
1. ให้ไปดาวโหลด X-lite จากที่นี้ครับ จะได้ไฟล์นี้มาครับ X-Lite_Install.tar.gz
2.`เมื่อได้มาแล้วให้แตกไว้ที่ /Home/user ครับเพื่อสะดวกในการเรียกใช้งาน
3. จากนั้นเปิด เทอร์มินัล
4. ใช้คำสั่งนี้ครับ cd xten-xlite
5. จากนั้นสั่ง chmod +x xtensoftphone
6. ตามด้วยคำสั่ง ls -l จะได้ผลดังนี้

total 5772
-rw-r--r-- 1 phaa phaa 872 2005-05-13 04:45 README
-rwxr-xr-x 1 phaa phaa 5903204 2005-05-13 01:51 xtensoftphone
ถ้าข้อความนี้ xtensoftphone เป็นสีเขียวเป็นอันใช้ได้ครับ
7. เนื่องจากโปรแกรมต้องการใช้ package libstdc++5 นี้แต่ใน ubuntu 10.04 `ไม่มีต้องไปดาว์โหลดมาติดตั้งเองจาก ที่นี่
8. หลังจากติดตั้ง package libstdc++5 เสร็จแล้ว กลับไปที่เทอร์มินัล และใช้คำสั่งนี้ครับ ./xtensoftphone ก็จะสามารถรันโปรแกรมได้ครับ
 
การปรับแต่ง
เมื่อรันโปรแกรมแล้วให้ตั่งค่าดังนี้ครับ

ให้ตั้งค่า SIP Proxy และ SIP Domain = 203.113.125.82
กำหนด Port เป็น 5060
เลือกการเชื่อมต่อแบบ Outbound Proxy = 203.113.125.82

การกำหนด Parameters (ตัวอย่าง TOT netcall ID = 0681234567, Password = AbcDEF)
กำหนด Display name = 0681234567
กำหนด Username = 0681234567
กำหนด Password = AbcDE
`
จากนั้นลองใช้เลยครับ 
 
การตั้งค่านำมาจาก ที่นี่ ครับ

วิธีติดตั้ง font ใน UBUNTU

การติดตั้งฟอต์นใหม่ใน UBUNTU นั้นมีด้วยกันหลายวิธีดังนี้ครับ

วิธีที่ 1

สร้างโฟร์เดอร์ชื่อ .fonts ไว้ใน /home แล้วคัดลอก font ที่ต้องการไปไว้ในโฟร์เดอร์ที่สร้างใหม่ แต่การติดตั้งด้วยวิธีนี้จะใช้ฟอต์นที่ติดตั้งใหม่ได้เฉพาะยูสเซอร์ที่ติดตั้งฟอต์นนั้นเท่านั้นครับ  ( กรณีเครื่องมีล็อกอินหลายชื่อ จึงไม่แนะนำให้ใช้วิธีนี้)

วิธีที่ 2 

ง่าย ๆ ด้วยวิธีการดับเบิ้ลคลิกที่ฟอนต์เพื่อติดตั้งได้เลยครับ วิธีนี้ใช้ได้เฉพาะตั้งแต่เวอร์ชั่น 9.10 ขึ้นไป สำหรับใน 10.04 เมื่อดับเบิ้ลคลิกแล้วจะได้หน้าต่างโปรแกรมดังรูปครับ ให้คลิ๊ก Install Font ได้เลยครับ

 วิธีที่ 3 

เป็นวิธีแบบดั้งเดิม ตามนี้เลยครับ
เข้า เทอมีนัล แล้ว แปลงกายเป็น root ด้วยคำสั้ง
$ sudo su (เอ็นเทอร์)
ใส่พาสเวิร์ด (เอ็นเทอร์)
จากนั้น
# cp /source path/*.ttf /usr/share/fonts/truetype (เอ็นเทอร์)
เสร็จแล้วก็
# fc-cache -fv (เอ็นเทอร์)
# exit (เอ็นเทอร์)

ปรับขนาดรูปภาพอย่างรวดเร็วใน UBUNTU

 เป็นโปรแกรมปรับขนาดรูปภาพที่ใช้ง่ายและรวดเร็วที่สุดเท่าทีเคยใช้มาครับ ก่อนอื่นติดตั้งโปรแกรมเพิม่ก่อนครับ

วิธีติดตั้งโปรแกรม

1.ติดตั้งโปรแกรมด้วยคำสั่งนี้ครับ

* $ sudo apt-get install nautilus-gksu nautilus-image-converter nautilus-open-terminal

2.จากนั้น Log out หนึ่งครั้ง ก็จะสามารถ resize รูปภาพได้โดยการแค่ คลิกขวา และ สามารถที่จะปรับขนาดรูปได้พร้อมๆกันหลายๆ รูป

วิธีการใช้งาน

1. คลิกขวาที่รูปที่ต้องการ  resize จะมีเมนูขึ้นมาให้เลือก resize Images
2. จะมีหน้าต่างโปรแกรมขึ้นมาดังรูป

จากนั้นเลือกขนาดที่ต้องการ resize ตรง Select a size และถ้าต้องการให้เซฟทับไฟล์เดิมเลยให้เลือกตรง Filename เป็น Resize in place แต่ถ้ายังอยากเก็บไฟล์เดิมไว้ให้เลือกตรง Append ครับ
3. หลังจากกำหนดค่าเสร็จแล้ว กดปุ่ม Resize ได้เลยครับแล้วรอผลครับ

วิธีการ Reinstall GRUB 2 สำหรับ ubuntu 10.04

กรณีติดตั้ง UBUNTU คู่กับ Windows แล้วภายหลังได้ติดตั้ง Windows ใหม่จะทำให้ไม่สามารถบู๊ตเข้า UBUNTU ได้อีก จึงต้องติดตั้ง GRUB ใหม่ ซึ่งมีวิธีการตามนี้เลยครับ
 1. บู๊ตด้วย Boot Ubuntu 10.04 Desktop CD
2.หลังจากเข้าระบบเรียบร้อยแล้วก็ เปิด Terminal ขึ้นมาเลยครับ
3.พิมพ์คำสั่งครับ sudo fdisk -l พาร์ทิชั่นต่างๆก็จะถูกแสดงขึ้นมา ให้ดูไว้ครับ ว่าพาร์ทิชั่นไหนที่มันเป็น Linux

ตัวอย่างของผม

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0b8b4d2d

Device Boot Start End Blocks Id System
/dev/sda1 * 1 7180 57673318+ 7 HPFS/NTFS
/dev/sda2 7181 38914 254897499+ f W95 Ext'd (LBA)
/dev/sda5 7181 23107 127933596 b W95 FAT32
/dev/sda6 23108 31010 63480816 b W95 FAT32
/dev/sda7 31011 38585 60846012+ 83 Linux
/dev/sda8 38586 38914 2634752 82 Linux swap / Solaris

4.พิมพ์ต่อเลยครับ sudo mount /dev/sda7 /mnt (แทนที่ "sda7" ด้วยพาทิชั่นของคุณครับ)
5.จากนั้นสั่งต่อตามนี้ครับ sudo grub-install --root-directory=/mnt/ /dev/sda
6.รอสักพักเสร็จแล้ว Reboot หนึ่งรอบ
7.หลังจาก Reboot แล้ว ปรับปรุงเมนู grub ด้วยคำสั่ง sudo update-grub
เสร็จแล้วครับ
อ้างอิงจาก : https://help.ubuntu.com/community/Grub2#Reinstalling%20from%20LiveCD

การแก้ลำดับการบู๊ตของ grub2 ใน UBUNTU

ในกรณีที่เราติดตั้ง UBUNTU คู่กับ Windows ในเครื่องเดียวกันนั้นเมนูบู๊ตของ grub จะบู๊ต UBUNTU เป็นลำดับที่ 1 ถ้าหากต้องการแก้ไขลำดับการบู๊ตใหม่ให้ทำตามนี้ครับ

เปิดเทอมินอลแล้ว sudo gedit /etc/default/grub
 ในไฟล์ grub มีข้อมูลดังนี้ครับ

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=1280x800
GRUB_GFXPAYLOAD_LINUX=1280x800

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

ซึ่งค่าเดิมตรง  GRUB_DEFAULT=0
เปลี่ยนจากเลข 0 ซึ่งคือตัวแรกสุด เป็นตัวเลขอื่น โดยให้นับเอาจากหน้าบู๊ตเมนูว่าเอาตัวไหนบู๊ตเป็นลำดับแรกครับ

เปลี่ยนแล้ว sudo update-grub

วิธีทำให้ UBUNTU มองเห็น RAM 4 G

เพื่อให้ UBUNTU สามารถมองเห็นแรม 4 G ขึ้นไป ให้ติดตั้งแพทเกจนี้
linux-generic-pae
โดยเข้าไปใน เทอร์มินัล แล้ว
sudo  apt-get install linux-generic-pae

วันอาทิตย์ที่ 27 มิถุนายน พ.ศ. 2553

การติดตั้งปลั๊กอินมีเดียเพลเยอร์สำหรับ UBUNTU

                 โดยปกติแล้วเมื่อเราติดตั้ง UBUNTU เสร็จจำเป็นต้องอัพเดตระบบและติดตั้งโปรแกรมและปลั๊กอินต่างเพื่อให้สามารถใช้งานได้เต็มความสามารถ  และโดยเฉพาะปลั๊กอินเกี่ยวกับพวกมีเดียเพลเยอร์ทั้งหลายนั้นต้องติดตั้งใหม่เสมอทุกครั้งที่ติดตั้งระบบใหม่ซึ่งเดิมผมใช้วิธีติดตั้งปลั๊กอินเป็นตัว ๆ ไป แต่จริงแล้วมีวิธีติดตั้งแบบใช้คำสั่งเดียวเท่านั้นดังนี้

                   1. เข้าไปในเทอร์มินัล
                   2. จากนั้นใช้คำสั่งนี้ครับ  sudo apt-get install ubuntu-restricted-extras

หลังจากนั้นนั่งรอครับใช้เวลาพอสมควร ซึ่งหลังจากติดตั้งเสร็จแล้วจะสามารถดูหนังฟังเพลงได้เกือบทุไฟล์ฟอร์แม็ตยกเว้นไฟล์ประเภท .3gp  ที่ต้องติดตั้งสองแพทเกจต่อไปนี้เพิ่มเติมครับ

               1. libcdio10 ดาวน์โหลดได้  ที่นี่
               2. gstreamer0.10-plugins-ugly ดาวน์โหลดได้ ที่นี่
                   โดยดาวโหลดมาแล้วติดตั้งเป็นอันใช้ได้คราวนี้ .3gp ก็ออกเสียงได้โดยไม่ต้องง้อ  Real Player  อีก

ความแตกต่างของ aptitude กับ apt-get

หลัง จากที่ใช้ ubuntu มานานยังไม่ค่อยเข้าใจเรื่องนี้เท่าไหร่ ก็ลอง search จาก Google ดู เนื่องจาก Ubuntu มี Core เดียวกันกับ Debian บทความนี้จึง่นาจะมีประโยชน์แก่ใครหลายๆ คนที่ยังไม่ทราบ สำหรับใครที่ทราบแล้วก็ไม่ว่ากันเนาะ ส่วนตัวผมเองยังต้องเรียนรู้อีกเยอะ

การ ติดตั้งแพกเกจใน debian ด้วย apt-get เป็นสิ่งมหัศจรรย์อย่างหนึ่งที่ debian นำมาสู่โลกใบนี้ ระบบที่ติดตั้ง debian ส่วนใหญ่ ติดตั้งกันครั้งเดียว แล้วก็ปรับรุ่นแบบออนไลน์กันไปตลอดอายุขัยของเครื่อง

ใน ระยะแรก ผู้ใช้อาจเพลิดเพลินกับการ apt-get ที่ทำให้การติดตั้งทดลองใช้โปรแกรม บน debian กลายเป็นเรื่องง่าย แต่ทุกอย่างก็ใช่จะเพอร์เฟ็กต์ เรื่องแรกที่คุณอาจพบคือ แพกเกจที่ดาวน์โหลดมา ทำให้ /var ใหญ่ขึ้นเรื่อยๆ จนอาจทำให้ฮาร์ดดิสก์เต็ม ปัญหานี้ ทางแก้ค่อนข้างเป็นที่รู้จักกันดีอยู่แล้ว:

# apt-get clean

# apt-get autoclean

จะลบเฉพาะแพกเกจที่เก่า จนไม่อยู่ในแหล่งดาวน์โหลดอีกแล้ว

แต่ ปัญหาที่คุณอาจพบตามมาเมื่อใช้ไป นานๆ คือมีแพกเกจเก่าและใหม่ปะปนกัน ไลบรารีบางตัวมีหลายรุ่น อย่างที่ผมพบก็คือ ยังมีแพกเกจของ GNOME 1.x ตกค้างอยู่ในเครื่องอยู่เลย ใช้แพกเกจอย่าง deborphan ตรวจหาไลบรารีหมดอายุเพื่อลบทิ้ง ก็พอกล้อมแกล้ม แต่หลังจากได้พบความสามารถหนึ่งของ aptitude ก็ตกลง migrate มาใช้ aptitude แทน apt-get ดีกว่า

aptitude ไม่ได้เป็นแค่ UI front-end ของ apt-get เท่านั้น แต่ aptitude สามารถเรียกผ่าน command-line แทน apt-get ก็ได้ เช่น คุณอาจจะเรียกแบบนี้:

# aptitude update
# aptitude upgrade
# aptitude install package

แต่ความสามารถที่น่าสนใจของ aptitude ที่ผมว่า ก็คือการติดตามแพกเกจกำพร้า (orphaned package) และลบให้โดยอัตโนมัติ

หลักการ ก็คือ aptitude จะติดแท็กให้กับแพกเกจที่ถูกลากมาเพิ่มจากการติดตั้งแพกเกจที่เราสั่ง ว่าเป็น auto-installed package ส่วนแพกเกจที่เราสั่งติดตั้งโดยตรง จะเรียกว่า manually-installed package จากนั้น ทุกครั้งที่มีการ resolve dependenc y จากการ upgrade, install หรือ remove แพกเกจ aptitude จะตรวจสอบแพกเกจ auto-installed ที่ไม่มีใครใช้ และจัดการ remove ให้ด้วย

ตัวอย่าง เช่น สมมุติว่าคุณใช้ GNOME อยู่ อยากลองใช้ KDE บ้าง คุณอาจสั่ง “aptitude install kde” จะมีเพียง meta-package kde เท่านั้นที่ถือเป็น manual install ที่เหลือที่ถูกลากมาจะเป็น auto install และเมื่อคุณตัดสินใจลบ kde ออก แพกเกจ auto install ก็ถูกปลดปล่อยตามไปด้วย ซึ่งจะต่างจากการใช้ apt-get ที่จะลบแค่ meta-package kde เท่านั้น

ทีนี้สมมุติว่าในระหว่างที่ใช้ KDE คุณติดตั้งโปรแกรมที่ใช้ Qt เพิ่ม แพกเกจของ Qt ก็จะมีพันธะกับแพกเกจนั้นด้วย เมื่อคุณสั่งลบ kde ก็เพียงปลดพันธะกับ KDE desktop แต่ Qt ซึ่งยังเหลือพันธะกับแพกเกจดังกล่าว ก็จะไม่ถูกลบ

อ้าว! ก็ไม่บอกแต่แรก ตูก็ใช้ apt-get มาตั้งนาน แล้วจะเปลี่ยนไปใช้ aptitude ตอนนี้ จะมีผลอะไรกับแพกเกจเก่าที่ติดตั้งไปแล้วล่ะเนี่ย คุณอาจปรามาสผมในใจ

คำตอบจึงมีผลกับผู้ที่กำลังจะติดตั้ง debian ว่าควรจะตัดสินใจใช้ aptitude แต่แรก แต่ถ้าคุณใช้ apt-get มาเป็นแรมปีแล้ว ก็ยังพอมีทาง โดย aptitude สามารถสั่ง mark auto/manual ได้ โดยใน full-screen interface นั้น คุณสามารถเลื่อนแถบเลือกไปที่แพกเกจ ที่ต้องการ แล้วกด m ถ้าต้องการ mark manual หรือ M ถ้าต้องการ mark auto (จำง่ายๆ ว่า m คือ manual ไม่อยากให้ manual ก็กด shift เพิ่ม) ถ้าเป็น command line ก็:

# aptitude markauto package
# aptitude unmarkaut o package

ผม ใช้วิธีนี้แหละ migrate มา aptitude โดยไล่ mark ไปวันละนิดละหน่อย เริ่มจาก section library ก่อน (ใครมีวิธีที่ง่ายกว่านี้ก็ช่วยแนะนำด้วยนะครับ)

อ้อ! ความแตกต่างอีกอย่างของ aptitude ก็คือ มันจะจัดการแพกเกจที่ recommend s ให้ด้วยนะครับ โดยถ้าติดตั้งผ่าน command line มันจะติดตั้งแพกเกจที่ recommend s เพิ่มให้ด้วย แต่ถ้าสั่งผ่าน full-screen interface มันจะลิสต์เพิ่มให้เลือกเอาก่อนสั่งติดตั้งขั้นสุดท้าย

นอกจาก นี้ ใครที่เคยต้องใช้ apt pinning เพื่อ fix version ของแพกเกจบางตัว ใน aptitude คุณสามารถสั่งได้ง่ายๆ โดยสั่ง hold package (=) เอา

แถม trick สำหรับ aptitude command line อีกนิด คือสามารถสั่งแบบรวมมิตรได้:

# aptitude install package1 package2 package3- package4=

จะติดตั้ง package1 และ package2, ลบ package3, และ hold package4

ซึ่งจะลบแพกเกจที่ดาวน์โหลดมาทั้งหมด หรือถ้าคุณอยากเก็บแพกเกจไว้ reinstall:

กรณีต้องการลบแพกเกจท์ออกจากเครื่องให้สมบูรณ์และไม่กระทบต่อแพทเกจท์อื่นให้ใช้คำสั่ง
sudo aptitude purge แพกเกจที่จะลบ


ที่มา : Blog.A-Days.com

คำสั่ง linux เบื้องต้น

ls
เป็นคำสั่งที่ใช้สำหรับแสดงแฟ้มข้อมูล (เช่นเดียวกับ dirของDOS) มากจากคำว่า list
รูปแบบคำสั่ง ls [option] [file]
option ที่มักใช้กันใน ls คือ
-l จะแสดงผลลัพธ์แบบ Long Format ซึ่งจะแสดง Permission ของแฟ้มด้วย
-a จะแสดงแฟ้มข้อมูลทั้งหมด
-F จะแสดง / หลัง Directory และ * หลังแฟ้มข้อมูลที่ execute ได้
ตัวอย่างการใช้งาน ls –l ls -al ls -F

adduser
คำสั่งเพิ่ม User ให้กับระบบ Unix,Linux
รูบแบบการใช้งาน adduser -g (group) -d (Directory) (User)
ตัวอย่าง adduser -g root -d /home/user1 user สร้าง User ชื่อ Login คือ user1 เป็นสมาชิกในกลุ่ม root

useradd
คำสั่งเพิ่ม User ให้กับระบบ Unix,Linux (ใช้เหมือนกับคำสั่ง adduser)
รูบแบบการใช้งาน useradd -g (group) -d (Directory) (User)
ตัวอย่าง useradd -g root -d /home/user1 user สร้าง User ชื่อ Login คือ user1 เป็นสมาชิกในกลุ่ม root

userdel
คำสั่งลบ User ออกจากระบบ Unix,Linux
รูบแบบการใช้งาน userdel [option] (Username)
ตัวอย่าง userdel -r root user1 ลบ User ชื่อ Login คือ User1 และ -r คือให้ลบ Home Directoryของ User1 ด้วย

passwd
คำสั่งกำหนดและแก้ไขรหัสผ่านของ User ของระบบ Unix,Linux
รูบแบบการใช้งาน passwd [Username]
ตัวอย่าง passwd user1 (กำหนดรหัสผ่านให้ User1 ถ้าไม่พิมพ์ ชื่อ User ระบบUnixจะหมายความว่าแก้ไขรหัสผ่าน
ของคนที่Loginเข้ามา)

alias
คำสั่งกำหนดคำสั่งย่อของระบบ Unix,Linux (คล้ายกับคำสั่ง SETในDOSแต่สามารถใช้เปฝ้นคำสั่ง RUNได้)
รูบแบบการใช้งาน alias [ชื่อใหม่=ข้อความ]
ตัวอย่าง alias copy=cp กำหนดให้พิมพ์ copy แทนคำสั่ง cpได้

bash
คำสั่งเรียกใช้ Bourne again shellของระบบ Unix,Linux
รูบแบบการใช้งาน bash
ตัวอย่าง bash [Enter] ( เรียกใช้ Bourne again shell)

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 ลงไปก่อน

cp
เป็นคำสั่งที่ใช้สำหรับสำเนาแฟ้มข้อมูล (เช่นเดียวกับcopyของDOS) มาจากคำว่า copy
รูปแบบคำสั่ง cp source target
ตัวอย่างการใช้งาน #cp test.txt /home/user1

cal
คำสั่งแสดงปฏิทินของระบบ Unix,Linux
รูบแบบการใช้งาน cal
ตัวอย่าง cal [Enter](สั่งให้ระบบแสดง ปฏิทินเดือน ปัจจุบัน)
cal -y [Enter](สั่งให้ระบบแสดง ปฏิทินปี ปัจจุบัน)

cat
คำสั่งแสดงข้อความในFileของระบบ Unix,Linux (คล้ายกับคำสั่งTypeของDOS)
รูบแบบการใช้งาน cat
ตัวอย่าง cat /home/user1 | more อ่านข้อมูลจากไฟล์/home/user1ถ้ายาวเกินหน้าให้หยุดทีละหน้าจอ

C Compiler
คำสั่งCompile ภาษาCของระบบ Unix,Linux (คล้ายกับคำสั่งTypeของDOS)
รูบแบบการใช้งาน cc [filename]
ตัวอย่าง cc /home/user1/industry.c จะสั่งให้ระบบCompile ภาษาC ไฟล์ชื่อ industry.c ที่ Directory /home/user1

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

chfin
คำสั่งChange your finger informationของระบบ Unix,Linux (เป็นการกำหนดข้อมูลของUser
เช่น ชื่อเต็ม ที่อยู่ เบอร์โทรศัพท์)
รูบแบบการใช้งาน chfn [username]
ตัวอย่าง chfn User1 กำหนดรายละเอียดUser1

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

chmod
คำสั่งChange Modeของระบบ Unix,Linux (เป็นการเปลี่ยนสิทธิการเข้าถึงไฟล์)
รูบแบบการใช้งาน chmod [สิทธิ] (File)
ตัวอย่าง กำหนดสิทธิให้กับไฟล์ชื่อtest คือ chmod 754 test หรือ chmod go +r-w testให้กับไฟล์ทุกไฟล์ chmod o-r *
ตัวเลขMode rwx = 7 ; rw - =6 ; r-x =5 ; r- - = 4 ; - wx = 3 ; - w - = 2 ; - - x = 1 ; - - = 0

การกำหนดสิทธิกำหนดได้2ลักษณะคือ
1.กำหนดโดยใช้อักษรย่อกลุ่ม
2.ใช้รหัสเลขฐาน2แทนสิทธิ (1 คืออนุญาต)
กลุ่มผู้ใช้ User Group Other = ugo เช่น go-r-w+x คือกลุ่ม และคนอื่นไม่มีสิทธิอ่านเขียนแต่Runได้
สิทธิ์การใช้ -rwx rwx rwx = Read Write Execute
รหัสเลขฐาน 111 101 100 = 754 คือเจ้าของไฟล์ใช้ได้ครบ คน Group เดียวกันอ่านExecuteได้นอกนั้นอ่านได้อย่างเดียว

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

chsh
คำสั่งchshของระบบ Unix,Linux (เป็นการเปลี่ยนShell ให้ User)
รูบแบบการใช้งาน chsh [Username]
ตัวอย่าง chsh user1 [Enter] /bin/bash [Enter]

clear
คำสั่งclearของระบบ Unix,Linux (เป็นการลบข้อความบนจอภาพ คล้ายกับคำสั่ง clsใน dos)
รูบแบบการใช้งาน clear
ตัวอย่าง clear [Enter]

cal
คำสั่งแสดงปฏิทินของระบบ Unix,Linux
รูบแบบการใช้งาน cal
ตัวอย่าง cal [Enter](สั่งให้ระบบแสดง ปฏิทินเดือน ปัจจุบัน)
cal -y [Enter](สั่งให้ระบบแสดง ปฏิทินปี ปัจจุบัน)

mesg
mesg ดู status การรับการติดต่อของ terminal
mesg y เปิดให้ terminal สามารถรับการติดต่อได้
mesg n ปิดไม่ให้ terminal สามารถรับการติดต่อได้

date
ใช้แสดง วันที่ และ เวลา
ตัวอย่าง date 17 May 2004

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

dmesg
คำสั่งdmesgของระบบ Unix,Linux (เป็นการให้แสดงผลเหมือนตอน Boot)
รูบแบบการใช้งาน dmesg
ตัวอย่าง dmesg | more [Enter]
หมายเหตุ คำสั่งนี้ ใช้ตรวจสอบ เมื่อเกิดปัญหา เช่น Linux ไม่รู้จัก Driver CD-Rom หรือปัญหาอื่นๆ

echo
คำสั่งechoของระบบ Unix,Linux (เป็นการให้แสดงข้อความ เหมือนกับ ECHOของDOS)
รูบแบบการใช้งาน echo (ข้อความที่ต้องการให้แสดงผล)
ตัวอย่าง echo my name is user1
echo Hello > /dev/tty2 ส่งข้อความ Hello ไปออกจอเทอร์มินอลที่2

ed
คำสั่ง ed ของระบบ Unix,Linux (โปรแกรมแก้ไขข้อความใน Text file เหมือนกับคำสั่ง edlinของDOS)
รูบแบบการใช้งาน ed (fileName)
ตัวอย่าง ed /home/user/test (ออกกดq)
สำหรับคนที่ไม่ถนัดคำสั่งนี้แนะนำให้ใช้คำสั่ง picoหรือvi หรือemacsแทนได้เช่นกัน

emacs
คำสั่ง emacs ของระบบ Unix,Linux (โปรแกรมแก้ไขข้อความใน Text file )
รูบแบบการใช้งาน emacs (fileName)
ตัวอย่าง emacs /home/user/test (help กด Ctrl - h ; ออกกด Ctrl - x Ctrl - c)

exit
คำสั่ง exit ของระบบ Unix,Linux (ออกจากระบบยูนิกส์ )
รูบแบบการใช้งาน exit
ตัวอย่าง exit

finger
คำสั่ง finger ของระบบ Unix,Linux (แสดงชื่อUserที่กำลังLoginเข้ามาแต่คำสั่ง Whoจะให้รายละเอียดดีกว่า)
รูบแบบการใช้งาน finger [username]
ตัวอย่าง finger user1 แสดงชื่อและรายละเอียด user1

fsck
คำสั่ง fsck ของระบบ Unix,Linux (เป็นคำสั่ง ตรวจสอบและซ่อมแซม Linux file system เหมือนกับ
คำสั่งScandisk ของDos)
รูบแบบการใช้งาน fsck [option]
ตัวอย่าง /sbin/fsck -a /dev/hd1

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 - ออก

grep
คำสั่ง grep ของระบบ Unix,Linux (เป็นการสั่งให้ค้นหาตามเงื่อนไข )
รูบแบบการใช้งาน grep (option)
ตัวอย่าง grep -i ftp /etc/test ค้นหาบรรทัดที่มีคำว่า "ftp"ไม่สนใจพิมพ์เล็ก-ใหญ่ จาดไฟล์ /etc/test

groupadd
คำสั่ง groupadd ของระบบ Unix,Linux (เป็นการเพิ่มรายชื่อกลุ่มของ User)
รูบแบบการใช้งาน groupadd (GroupName )
ตัวอย่าง #groupadd staff สร้างกลุ่มของ User ชื่อ Staff เพิ่มให้ระบบ

groupdel
คำสั่ง groupdel ของระบบ Unix,Linux (เป็นการลบรายชื่อกลุ่มของ User)
รูบแบบการใช้งาน groupadd (GroupName )
ตัวอย่าง #groupdel staff ลบกลุ่มของ User ชื่อ Staffออกจากระบบ

gzip/gunzip
คำสั่งgzip/gunzipของระบบ Unix,Linux (เป็นการบีบอัดไฟล์หรือขยายบีบอัดไฟล์)
รูบแบบการใช้งาน gzipหรือgunzip (-cdfhlLnNrtv19 ) [file]
ตัวอย่าง #gzip -9vr /home/samba/* บีบอัดไฟล์ข้อมูลทุกไฟล์ ในSub /home/samba จะเปลี่ยนเป็นนามสุกล .gz
#gunzip -dvr /home/samba/* คลายการบีบอัดไฟล์ข้อมูลทุกไฟล์ที่สกุล .gz ในSub /home/samba

halt
คำสั่ง halt ของระบบ Unix,Linux (เป็นการสั่งให้เครื่องหยุดทำงาน)
รูบแบบการใช้งาน halt [-n] [-w] [-d] [-f] [-I] [-p]
ตัวอย่าง #halt
คำสั่งที่เกี่ยวข้อง คือ Shutdown ; init0 , reboot

history
คำสั่ง history ของระบบ Unix,Linux (เป็นการดูประวัติการใช้คำสั่งในCommand line คล้ายกับ
การกดF7ในDOSคือเรียกใช้คำสั่งDos key)
รูบแบบการใช้งานhistory [n] [-r wan [filename] ]
ตัวอย่าง #history 20 ดูคำสั่งที่เพิ่งใช้ไป20คำสั่งที่แล้ว

ifconfig
คำสั่ง history ของระบบ Unix,Linux (เป็นการตรวจสอบกำหนดค่าNetworkของLan Card)
รูบแบบการใช้งาน ifconfig [option]
ตัวอย่าง #ifconfig

ipchains
คำสั่ง ipchains ของระบบ Unix,Linux (เป็นคำสั่งสำหรับกำหนดควบคุม การรับส่งผ่านข้อมูลของ Firewall)
รูบแบบการใช้งาน ipchains [parameter] command [option]
ตัวอย่าง #ipchains -L ดูสถานะการ Set IPchainsในปัจจุบัน

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

kill
คำสั่ง kill ของระบบ Unix,Linux (เป็นคำสั่งสำหรับยกเลิก Process)
รูบแบบการใช้งาน kill [option] (process ID)
ตัวอย่าง ps -A ดูหมายเลขที่ช่อง PIDของProcess ที่ต้องการลบ
Kill -9

login
คำสั่ง login ของระบบ nnn แทนnnnด้วยหมายเลขPID -9 คือบังคับฆ่าให้ตาย
Unix,Linux (เป็นคำสั่งการเข้าระบบหรือเปลี่ยน User Login) รูบแบบการใช้งาน login [fp] (UserName)
ตัวอย่าง #login:root

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

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

more
คล้ายกับคำสั่ง cat ไม่เหมาะกับการดูข้อมูลที่มีความยาวมากๆ ดังนั้น จึงได้มีการพัฒนา more ขึ้น
เพื่อช่วยให้สามารถดูข้อมูลที่มีขนาดยาวได้เป็นช่วงๆ
รูปแบบคำสั่ง more file
ภายในโปรแกรม more จะมีคำสั่งเพื่อใช้งานคราวๆ ดังนี้
= แสดงเลขบรรทัด
q ออกจากโปรแกรม
เลื่อนไปยังหน้าถัดไป เลื่อนไปยังบรรทัดถัดไป
h แสดง help
ตัวอย่าง more test.txt

man
คำสั่ง man ของระบบ Unix,Linux (เป็นคำสั่งแสดงข้อความ อธิบายการใช้คำสั่ง)
รูบแบบการใช้งานman (Command)
ตัวอย่าง #man ls
หมายเหตุ เมื่อต้องการออก กด q ;ใช้[Spacebar] เลื่อนหน้าถัดไป ; ใช้ลูกศรขึ้นดูหน้าผ่านมา

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

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

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.tar

talk
คำ สั่งที่ใช้สำหรับการพูดคุยระหว่างผู้ใช้ด้วยกันบนระบบ ซึ่งผู้ใช้ทั้งทั้ง 2 ฝ่ายจะต้องพิมพ์คำสั่ง Talk ถึงกันก่อน จึงจะเริ่มการสนทนาได้
รูปแบบคำสั่ง talk user[@host] [tty]
กรณีไม่ระบุ host โปรแกรมจะถือว่าหมายถึงเครื่องปัจจุบัน (นอกจากนี้ยังมีคำสั่ง ytalk ซึ่งสามารถพูดคุยได้พร้อม
กันมากกว่า 2 คน) ซึงบางกรณีเราอาจจะต้องระบุ tty ด้วยหากมีผู้ใช้ Log in เข้าสู่ระบบด้วยชื่อเดียวกันมากกว่า 1 หน้าจอ
ตัวอย่าง talk m2k@nanastreet.com

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

who am i
คำสั่งใช้เพื่อแสดงว่าผู้ใช้ซึ่ง login เข้าสู่ระบบนั้น (ตัวเราเอง) login ด้วยชื่ออะไร
รูปแบบคำสั่ง/ตัวอย่าง whoami หรือ who am i (บน SUN OS หรือ UNIX บางตัวเท่านั้น)

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

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

pwd
เป็นคำสั่งที่ใช้สำหรับแสดง Directory ปัจจุบัน (ในทำนองเดียวกับการพิมพ์ cd บน DOS) มาจากคำว่า print work directory
รูปแบบคำสั่ง / ตัวอย่าง pwd

uname
คำสั่งแสดง ชื่อและรุ่นของ OS ชื่อและรุ่นของ cpu ชื่อเครื่อง
ตัวอย่าง uname -a

hostname
คำสั่งแสดงชื่อเครื่องที่ใช้อยู่
ตัวอย่าง hostname

tty
แสดงหมายเลข terminal ที่ใช้งานอยู่
ตัวอย่าง tty

id
ใช้แสดงชื่อและกลุ่มมของผู้ใช้งาน
ต้วอย่าง id
1.1 คำสั่ง ls : ใช้แสดงรายชื่อแฟ้มทั้งหมดใน home directory

--------------------------------------------------------------------------------
ทุกท่านที่มี account ใน linux จะมี home directory ของตนเอง เพื่อใช้เก็บแฟ้มต่าง ๆ ภายใต้ระบบ
linux เมื่อต้องการทราบว่ามีแฟ้มอะไรที่เก็บไว้บ้าง สามารถใช้คำสั่ง ls ได้ และสามารถกำหนด parameter ได้หลายตัว เช่น -al --sort เป็นต้น
ตัวอย่างคำสั่ง และการใช้งาน


ls -alt :: เพื่อแสดงรายชื่อแฟ้มทั้งหมด และจัดเรียงตามเวลา ให้ลองลบอักษรออกทีละตัวจาก alt ดูนะครับ
ls -alt | more :: เพื่อแสดงรายชื่อแฟ้มทั้งหมด แต่หยุดทีละหน้า เมื่อมีจำนวนแฟ้มเกินที่จะแสดงได้ ใน 1 หน้า
ls -al --sort=time | more :: แสดงรายชื่อแฟ้มเรียงตามเวลา แยกทีละหน้า โดยละเอียด
ls -R | more :: แสดงรายชื่อในทุก directory ในห้องปัจจุบัน
ถ้าสังเกตนะครับ แฟ้มที่มี . หน้าชื่อแฟ้ม จะหมายถึงแฟ้มที่ซ่อนไว้ ถ้าใช้คำสั่ง ls หรือ ls -l จะไม่เห็นแฟ้มเหล่านี้
ถ้ามีอักษร D ที่ Column แรก ในตอนแสดงชื่อแฟ้ม ด้วยคำสั่ง ls -al ก็จะหมายถึง directory ไม่ใช่แฟ้มธรรมดา

--------------------------------------------------------------------------------
1.2 คำสั่ง chmod : ใช้เปลี่ยนสิทธิ์ของแฟ้ม เจ้าของ(Owner), คนในกลุ่ม(Group), คนอื่น(Other) สามารถทำอะไรได้บ้าง
--------------------------------------------------------------------------------
เมื่อใช้คำสั่ง ls ท่านจะเห็นตัวอักษร RWXRWXRWX หรือทำนองนี้หน้าชื่อแฟ้ม ซึ่งเป็นการกำหนด
สิทธิ์ของแต่ละแฟ้ม ว่า อ่านได้ เขียนได้ และประมวลผลได้ โดยแยกเป็นส่วนของ เจ้าของ กลุ่ม คนอื่น
ซึ่งเป็นคำสั่งที่จำเป็นมากสำหรับ webmaster ในการดูแลระบบ และท่านที่ต้องการเขียน CGI
จะต้องรู้คำสั่งนี้ เพราะ เมื่อส่งแฟ้ม CGI เข้าไปใน server และต้องการให้คนทั่วไปเข้ามาใช้บริการ
โปรแกรมของตนที่เขียนขึ้นด้วย Perl จะไม่สามารถใช้ได้ ถ้าไม่กำหนดให้คนอื่น สามารถประมวลผลได้ (x)
จึง จำเป็นต้องใช้คำสั่ง เช่น chmod 755 hello.pl หรือ chmod 775 fileforyou.pl หรือ chmod +x test.pl เป็นต้น ในแต่ละกลุ่มจะมีการกำหนดสิทธิได้ 3 แบบ
ตัวอักษร R มาจาก Read หมายถึง อ่าน
ตัวอักษร W มาจาก Write หมายถึง เขียน
ตัวอักษร X มาจาก Execute หมายถึง ประมวลผล
ตัวอย่างเช่น
--- : ไม่มีสิทธิอะไรเลย (เลขที่ใช้คือ 0)
--X : ประมวลผลได้อย่างเดียว (เลขที่ใช้คือ 1)
R-- : อ่านได้อย่างเดียว (เลขที่ใช้คือ 4)
RW- : อ่าน และเขียนได้ (เลขที่ใช้คือ 6)
R-X : อ่าน และประมวลผลได้ (เลขที่ใช้คือ 5)
RWX : อ่าน เขียน และประมวลผลได้ (เลขที่ใช้คือ 7) ความหมายของ RWXRWXRWX จะเห็นว่ามีอักษร 9 ตัว
3 ตัวแรกหมายถึง เจ้าของ
3 ตัวที่สองหมายถึง กลุ่ม
3 ตัวที่สามหมายถึง คนอื่น
ตัวอย่างเช่น
RWX------ : เจ้าของเท่านั้นที่มีสิทธิทุกอย่าง (เลขที่ใช้คือ 700)
RWXRWX--- : เจ้าของ และสามาชิกกลุ่มเดียวกันมีสิทธิทุกอย่าง (เลขที่ใช้คือ 770)
RWXR-XR-X : เจ้าของทำได้หมด ส่วนกลุ่มและคนอื่นอ่านและประมวลผลได้ (เลขที่ใช้คือ 755)
R--R--R-- : ทุกคนอ่านได้อย่างเดียว (เลขที่ใช้คือ 444)

ตัวอย่างคำสั่ง และการใช้งาน
chmod 777 index.php :: ทำให้แฟ้มนี้ อ่าน เขียน และประมวลผล โดยทั้ง 3 กลุ่ม
chmod 755 * -Rf :: ทำให้ทุกแฟ้ม ทุก direcroty ในห้องปัจจุบัน เปลี่ยนตามที่กำหนด

--------------------------------------------------------------------------------
1.3 คำสั่ง man : เป็นคำสั่งที่สำคัญมาก เพราะจะช่วยให้อธิบายคำสั่งต่าง ๆ ให้ท่านได้ (Manual)
--------------------------------------------------------------------------------
ผมเชื่อว่าทุกคนที่ใช้ unix หรือ linux ต้องเคยใช้คำสั่งนี้มาก่อน เพราะจะเป็นคำสั่งที่ช่วยอธิบายหน้าที่ของคำสั่ง
พร้อมกับแสดง parameter ที่สามารถใช้ได้ทั้งหมดของคำสั่งนั้น และยังมีตัวอย่างการใช้ และคำสั่งที่เกี่ยวข้องอีก
ทำให้ประหยัดเวลาในการค้นเอกสารได้อย่างมาก บางท่านอาจศึกษา linux ด้วยการอ่านจาก man
อย่างเดียวเลยก็มีนะครับ โดยไม่ต้องไปหาซื้อหนังสือที่ไหนมาอ่านก็ทำได้
ตัวอย่างคำสั่ง และการใช้งาน
man man :: เพื่ออธิบายคำสั่ง man เอง ว่าตัวคำสั่งนี้ใช้อย่างไร
man ls :: เพื่ออธิบายคำสั่ง ls ว่าใช้อย่างไร
man useradd :: เพื่ออธิบายคำสั่ง useradd ว่าใช้อย่างไร

--------------------------------------------------------------------------------
1.4 คำสั่ง mkdir, rmdir, cd : งานต่าง ๆ เกี่ยวกับ directory
--------------------------------------------------------------------------------
ผู้ใช้คอมพิวเตอร์ที่ใช้ dos มาก่อนต้องคุ้นเคยกับ directory แน่นอน สำหรับคำสั่งเกี่ยวกับ directory
ในที่นี้มี 3 คำสั่ง mkdir หมายถึง สร้าง directory (Make directory) rm หมายถึง ลบ directory
(Remove directory) และคำสั่งนี้ยังใช้ลบแฟ้มตามปกติได้อีกด้วย cd หมายถึงเปลี่ยน directory (Change directory)
ตัวอย่างคำสั่ง และการใช้งาน
mkdir hello :: สร้าง directory ชื่อ hello ในห้องปัจจุบัน
rmdir hello.htm :: จะลบแฟ้มชื่อ hello.htm
cd / :: ย้าย directory ไปยัง root หรือห้องนอกสุด
cd .. :: ย้าย directory ออกไปข้างบน 1 ระดับ
cd ~/x :: เข้าไปยังห้อง x ของ home directory เช่น /home/thaiall/x ถ้า home directory คือ /home/thaiall

--------------------------------------------------------------------------------
1.5 โปรแกรม pico : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text คล้าย vi แต่มีประสิทธิภาพกว่ามาก
--------------------------------------------------------------------------------
เพียงแต่พิมพ์คำว่า pico แล้ว enter ก็ใช้งานได้เลย การจะจัดเก็บ หรืองานต่าง ๆ ที่มีบริการไว้มากมาย
ท่านสามารถอ่านได้จากเมนูด้านล่าง ซึ่งเครือ่งหมาย ^ หมายถึงการกดปุ่ม Ctrl ประกอบอักษรต่าง ๆ นั่นเอง
ผมคิดว่าท่านน่าจะพออ่านรู้เรื่อง หรือจะพิมพ์ว่า pico xx ก็จะเป็นการสร้างแฟ้มชื่อ xx ให้ทันที แต่หากมีแล้ว
ก็จะเปิดแฟ้ม xx มาให้แก้ไขในโปรแกรม xx เมื่อท่านต้องการเลิกก็ทำได้โดยกดปุ่ม Ctrl-X เป็นอันเรียบร้อย
หากท่านใดเคยใช้ vi เมื่อลองใช้โปรแกรมนี้จะติดใจอย่างแน่นอน เพราะใช้งานได้ง่ายกว่า หลายเท่านัก หลายครั้ง
ที่พิมพ์คำว่า pico แล้วไม่มีในเครื่อง ก็เพราะไม่ได้ลงโปรแกรม pine เมื่อต้องการใช้ pico ก็ต้องติดตั้งโปรแกรม
pine เข้าไปในเครื่อง จากแผ่น CD ด้วยคำสั่ง rpm -i pine*
1.6 โปรแกรม emacs : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text คล้าย vi แต่มีประสิทธิภาพกว่ามาก
--------------------------------------------------------------------------------
ทำงานได้คล้าย ๆ กับ pico แต่หลายคนบอกว่า ตัวนี้ทำงานได้ดีกว่า แต่ผมว่า pico ใช้งานได้ง่ายกว่ากันเยอะเลย
เพราะเห็นเมนูด้านล่าง แต่ของ emacs จะใช้ ctrl-h ดูส่วนช่วยเหลือ และกด ctrl-x + ctrl-c จึงจะออกจากโปรแกรม
อาจเป็นเพราะผมใช้ไม่ชำนาญมังครับ ในเมื่อผมใช้ pico เป็น editor ผมคงไม่จำเป็นต้องศึกษา emacs เพิ่มเติมแล้ว
ยกเว้นว่าสักวันอาจมีเหตุจำเป็นที่ความสามารถของ pico ให้ไม่ได้ แต่ emacs ให้ได้ก็เป็นได้
Welcome to GNU Emacs, one component of a Linux-based GNU system.
Get help C-h (Hold down CTRL and press h)
Undo changes C-x u Exit Emacs C-x C-c
Get a tutorial C-h t Use Info to read docs C-h i
Ordering manuals C-h RET
Activate menubar F10 or ESC ` or M-`
(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)


--------------------------------------------------------------------------------
1.7 โปรแกรม vi : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text
--------------------------------------------------------------------------------
Text editor ที่ใช้งานได้ยาก แต่มีใน linux ทุกรุ่น ในบางเครื่องไม่มี pico เพราะไม่ได้ติดตั้ง mail หรือ pine จึงจำเป็นต้องใช้โปรแกรม vi สำหรับแก้ไขข้อมูลในแฟ้มต่าง ๆ ของ linux เช่นการใช้คำสั่ง man ก็คือการใช้ความสามารถของ vi ในการนำข้อมูลมาแสดงผลนั่นเอง
ตัวอย่างคำสั่ง และการใช้งาน
esc กลับไปยังโหมดคำสั่ง
enter ย้ายไปยังต้นบรรทัดของบรรทัดถัดไป
i ใส่ข้อความก่อนเคอร์เซอร์
a ใส่ข้อความหลังเคอร์เซอร์
A ใส่ข้อความที่ท้ายบรรทัดปัจจุบัน
dd ลบบรรทัดปัจจุบันทั้งบรรทัด
x ลบอักษร 1 ตัวอักษร
cw เปลี่ยนข้อความ
:w บันทึกแฟ้ม
:q! ออกโดยไม่ เปลี่ยนแปลงใด ๆ
:wq บันทึกแฟ้ม และออกจากโปรแกรม vi


--------------------------------------------------------------------------------
1.8 คำสั่ง id, finger, who, w : ทุกคำสั่งข้างต้นใช้สำหรับตรวจสอบผู้ใช้ แต่จะให้รายละเอียดต่างกันไป
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
id uname :: ใช้ตรวจดูว่ามี account uname นี้ในระบบหรือไม่ ให้ผลสั้น
finger uname :: ใช้ตรวจดูว่ามี account uname นี้ในระบบหรือไม่ ให้ผลละเอียด ทั้ง last login หรือ email ฉบับล่าสุด
finger @www.isinthai.com :: ใช้แสดงรายชื่อทุกคนในระบบที่กำลัง login อยู่ในระบบ ใช้ได้กับทุกระบบที่ไม่ปิดบริการนี้
who |grep thai :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้ และเลือกเฉพาะบรรทัดที่มีอักษร thai
w :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้

--------------------------------------------------------------------------------
1.9 คำสั่ง cat : แสดงข้อมูลในแฟ้ม คล้ายคำสั่ง type ในระบบ DOS
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
cat /etc/passwd :: แสดงข้อมูลในแฟ้ม /etc/passwd
cat /etc/passwd | more :: แสดงข้อมูลในแฟ้ม /etc/passwd ทีละหน้า
ตัวอย่างข้อมูลในแฟ้ม passwd suwit:x:500:500:Suwit:/home/suwit:/bin/bash prasert:x:501:501::
/home/prasert:/bin/bash bcom101:x:502:502::/home/bcom302:/bin/bash

--------------------------------------------------------------------------------
1.10 คำสั่ง ifconfig : แสดงข้อมูลเกี่ยวกับ Network interface และแสดง ip ต่าง ๆ ที่มีการเพิ่มเข้าไปใน server ได้
--------------------------------------------------------------------------------

ดูผลการทำงานของคำสั่ง ifconfig
eth0 Link encap:Ethernet HWaddr 00:20:18:C0:06:C4
inet addr:202.29.78.12 Bcast:202.29.78.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:673054 errors:0 dropped:0 overruns:0 frame:0
TX packets:666268 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:74892865 (71.4 Mb) TX bytes:680121131 (648.6 Mb)
Interrupt:9 Base address:0xcf00
eth0:1 Link encap:Ethernet HWaddr 00:20:18:C0:06:C4
inet addr:202.29.78.1 Bcast:202.29.78.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0xcf00

เพิ่ม ip ใหม่อีก 1 ip เช่น #/sbin/ifconfig eth0:1 202.29.78.1
สามารถดูวิธีเพิ่มหลาย IP ในคอมพิวเตอร์เครื่องเดียว ได้จากหัวข้อ 9.10 ด้วยการแก้ไขแฟ้ม /etc/rc.d/rc.local
1.11 คำสั่ง netstat : แสดงสถานะของเครือข่ายว่ามีโปรแกรมใดเปิดให้บริการ
--------------------------------------------------------------------------------

ดูผลการทำงานของคำสั่ง netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 *:https *:* LISTEN
tcp 0 0 www.isinthai.com:ssh 202.29.78.200:1225 ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 855 /var/lib/mysql/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 119 /dev/log
unix 2 [ ] STREAM CONNECTED 3007
unix 2 [ ] STREAM CONNECTED 859


--------------------------------------------------------------------------------
1.12 คำสั่ง service : ดูสถานะของบริการต่าง ๆ ว่าถูกเปิดหรือ running อยู่หรือไม่
--------------------------------------------------------------------------------

ดูผลการทำงานของคำสั่ง service --status-all
httpd (pid 2160 2159 2158 2155 2114 583 579 578 577 576 575 573) is running...
mysqld (pid 446 429 427 414) is running...
sendmail (pid 1700 1690) is running...
sshd (pid 2970 358) is running...
xinetd (pid 3923 369) is running...


--------------------------------------------------------------------------------
1.13 คำสั่ง xinetd : ดูบริการภายใน xinetd ว่าอะไรเปิดอยู่บ้าง ทำให้เข้าไปเปิดที่ห้อง /etc/xinetd.d
แล้วเลือกเปิดบริการเฉพาะที่ต้องการ เช่นแก้แฟ้ม talk เพื่อให้เปิดบริการ talk ใน server เป็นต้น
--------------------------------------------------------------------------------

ดูผลบางส่วนจากการทำงานของคำสั่ง xinetd -d
Service configuration: ftp
id = ftp
flags = IPv4
socket_type = stream
Protocol (name,number) = (tcp,6)
Nice = 10
Groups = no
Bind = All addresses.
Server = /usr/sbin/vsftpd
Server argv = vsftpd
Only from: All sites
No access: No blocked sites
Logging to syslog. Facility = authpriv, level = info
Log_on_success flags = HOST PID
Log_on_failure flags = HOST


--------------------------------------------------------------------------------
1.14 คำสั่ง whereis : ค้นหาแฟ้มที่ต้องการว่าอยู่ที่ห้องใด แต่ค้นได้เฉพาะที่กำหนดไว้ใน PATH เท่านั้น หากต้องการค้นทั้งเครื่องต้องใช้คำสั่ง find
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
whereis usermod :: แสดงห้องที่เก็บคำสั่ง usermod ทำให้สามารถสั่ง run จากห้องที่เก็บคำสั่งโดยตรงได้
whereis ifconfig :: แสดงห้องที่เก็บคำสั่ง ifconfig ทำให้ใช้คำสั่งเช่น /sbin/ifconfig ได้โดยตรง

--------------------------------------------------------------------------------
1.15 คำสั่ง cp, rm, mv : จัดการแฟ้มเช่น คัดลอก ลบ และย้าย
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
cp x y :: เดิมมีแฟ้มชื่อ x ต้องการแฟ้ม y ที่เหมือน x ขึ้นมาใหม่ สามารถใช้คำสั่ง cp
rm y :: ลบแฟ้ม y ออกจากเครื่อง ซึ่งอยู่ใน directory ปัจจุบัน
rm -r directoryname :: จะลบ directory ในเครื่อง sun และแฟ้มทั้งหมดใน directory นั้น และการลบแฟ้ม จะมีการถาม confirm ทุกแฟ้มเสมอ
rm -rf directoryname :: จะลบ directory ใช้ใน Redhat และแฟ้มทั้งหมดใน directory นั้น และการลบแฟ้ม จะมีการถาม confirm ทุกแฟ้มเสมอ
rm -f * :: ลบแฟ้มทั้งหมดโดยไม่ถาม yes
mv x /root :: ย้ายแฟ้ม x จากห้องปัจจุบันไปไว้ในห้อง /root

--------------------------------------------------------------------------------
1.16 คำสั่ง ping : ตรวจสอบ ip ของเครื่องเป้าหมาย และการเชื่อมต่อ internet
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
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

--------------------------------------------------------------------------------
1.17 คำสั่ง env : แสดงค่า environment ปัจจุบัน
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
env

HISTSIZE=1000
SSH_CLIENT=202.29.78.100 1091 22
OLDPWD=/usr/sbin
QTDIR=/usr/lib/qt3-gcc3.2
SSH_TTY=/dev/pts/0
USER=burin
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;.... :
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
MAIL=/var/spool/mail/burin
PWD=/etc
INPUTRC=/etc/inputrc
LANG=en_US.UTF-8
HOME=/root
SHLVL=2
LOGNAME=burin
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env

--------------------------------------------------------------------------------
1.18 คำสั่ง lynx : Text browser ที่ใช้งานง่าย ใช้ดู source หรือ download ได้
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
lynx www.thaiall.com :: เพื่อเปิดเว็บ www.thaiall.com แบบ text mode
lynx http://www.yonok.ac.th :: เพื่อเปิดเว็บ www.yonok.ac.th แบบ text mode
lynx -dump http://www.yonok.ac.th :: เพื่อแสดงผลลัพธ์แบบไม่ interactive คือการ view ผลแล้วหยุดทันที
lynx -dump -width=500 http://piology.org/.procmailrc.html|grep '^|'|cut -c3- :: ตัวอย่างการนำไปใช้

--------------------------------------------------------------------------------
1.19 คำสั่ง nslookup : แสดงข้อมูลเกี่ยวกับ name server จาก ip หรือ domain name
--------------------------------------------------------------------------------

คำ สั่งนี้ ถูกประกาศว่าต่อไปอาจไม่พบใน Redhat รุ่นใหม่ ถ้าต้องการใช้คำสั่งแบบนี้สามารถใช้ dig หรือ host แทนได้ เช่น host yn1.yonok.ac.th หรือ dig yn1.yonok.ac.th เมื่อเข้าไปใน nslookup สามารถออกมาได้ด้วยการพิมพ์คำสั่ง exit หลังเครื่องหมาย >
ตัวอย่างคำสั่ง และการใช้งาน
nslookup 202.28.18.65
Non-authoritative answer:
65.18.28.202.in-addr.arpa name = mars.uni.net.th.
Authoritative answers can be found from:
18.28.202.in-addr.arpa nameserver = mars.uni.net.th.
18.28.202.in-addr.arpa nameserver = ns.netserv.chula.ac.th.
mars.uni.net.th internet address = 202.28.18.65
nslookup www.thaiall.com
Name: www.thaiall.com
Address: 66.150.1.141


--------------------------------------------------------------------------------
1.20 คำสั่ง tail : แสดงส่วนท้ายของแฟ้มที่มีขนาดใหญ่ ต้องข้ามกับ cat ที่ดูตั้งแต่เริ่มแฟ้ม
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
tail index.html :: ดูส่วนท้ายของแฟ้ม index.html ใน Current directory
tail --lines=5 /var/log/messages :: ดูส่วนท้ายของแฟ้ม /var/log/messages แต่ต้องเป็น root จึงจะดูได้
tail /var/log/html/access.log :: ดูส่วนท้ายเพียง 10 บรรทัด ซึ่งเป็นค่า default ที่ไม่ได้กำหนดจำนวนบรรทัด
tail --lines=100 /var/log/html/access_log > access_bak :: เป็นการ backup ในขั้นแรก ก่อนใช้ mv ย้ายไปทับแฟ้มเดิม

--------------------------------------------------------------------------------
1.21 คำสั่ง telnet : ใช้ติดต่อเข้า server ต่าง ๆ ตาม port ที่ต้องการ แต่ปัจจุบัน server ต่าง ๆ ปิดบริการ telnet แต่เปิด SSH แทน
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
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. USER aa@class.yonok.ac.th +OK PASS xxxxxxx +OK User successfully logged on
--------------------------------------------------------------------------------
2.1 คำสั่ง df : แสดงการเนื้อที่ใช้งานทั้งหมดของ Harddisk ว่าเหลือเท่าใด
--------------------------------------------------------------------------------
ช่วย ให้ผู้ดูแลระบบรู้ว่าตอนนี้เนื้อที่ใน Harddisk เหลืออยู่เท่าใด และอาจใช้ตรวจสอบได้ว่า มีใครแอบมา upload แฟ้มขนาดใหญ่ไว้หรือไม่ จะได้ตรวจสอบในรายละเอียดของแต่ละ user ต่อไป (ผมเองก็ใช้บ่อย เพราะถ้า server เล็ก ๆ จะเต็มบ่อยครับ ต้องคอย clear เสมอ)
ตัวอย่างคำสั่ง และการใช้งาน
df :: เพื่อแสดงรายงานสรุปการใช้ในแต่ละส่วน
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda5 505605 82764 396737 18% /
/dev/hda1 101089 9180 86690 10% /boot
/dev/hda3 1423096 41956 1308848 4% /home
none 30740 0 30740 0% /dev/shm
/dev/hda2 3889924 1551872 2140456 43% /usr
/dev/hda6 1027768 952876 22684 98% /var

--------------------------------------------------------------------------------
2.2 คำสั่ง du : แสดงการเนื้อที่ใช้งาน ของแต่ละ directory โดยละเอียด
--------------------------------------------------------------------------------
ช่วย ให้ผู้ดูแลระบบรู้ว่า directory ใด ใช้เนื้อที่ใด หรือใช้ดูรวม ๆ ว่า ผู้ใช้แต่ละคนใช้เนื้อที่เก็บข้อมูลกันเท่าใด เพราะผู้ใช้ปกติจะใช้กันไม่เยอะ แต่ถ้าตรวจสอบแล้วเยอะผิดปกติ ก็จะเข้าไปดูว่า เยอะเพราะอะไร จะได้แก้ไขได้
ตัวอย่างคำสั่ง และการใช้งาน
du :: เพื่อแสดงรายชื่อ directory และเนื้อที่ที่ใช้ไป
du -all :: เพื่อแสดงโดยละเอียดว่าแต่ละแฟ้มมีขนาดเท่าใด ใน directory ปัจจุบัน
du | sort -g :: แสดงการใช้พื้นที่ของแต่ละ directory พร้อม sort จากน้อยไปมาก มีหน่วยเป็น Kb
du -b :: แสดงหน่วยเป็น byte ของแต่ละ directory

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

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

--------------------------------------------------------------------------------
2.5 คำสั่ง find : เมื่อไฟล์ที่ต้องการว่าอยู่ใน directory ของเครื่องเราหรือไม่
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
find / -name hello.pl :: ใช้ค้นหาแฟ้ม hello.pl ในทุก directory
find / -name hello* :: ใช้ค้นหาแฟ้มที่ขึ้นต้นด้วยคำว่า hello
find /bin -size 626188c :: ใช้ค้นหาแฟ้มที่มีขนาด 626188 ถ้าเป็น RH8 จะพบแฟ้ม bash

--------------------------------------------------------------------------------
2.6 คำสั่ง gzip : ใช้สำหรับแตกแฟ้มที่ถูกบีบอัด แล้วนามสกุล gz หรือ z แต่ทั่วไปเขาแนะนำให้ใช้ tar สำหรับสกุล .tar.gz
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
gzip -d x.tar.gz :: ใช้แตกแฟ้มที่นามสกุล gz
man gzip :: ใช้ดูว่า gzip ใช้งานอะไรได้บ้าง
gzip -d radius-1.16.1.tar.Z :: ได้แฟ้มนี้จาก ftp.livingston.com/pub/le/radius/ เป็นระบบรับโทรศัพท์เข้าเครือข่าย
gzip -dc x.tar.Z|tar xvf - :: ประหยัดขั้นตอนในการใช้คำสั่ง 2 ครั้ง เพราะคำสั่งชุดนี้จะใช้ทั้ง gzip และ tar กับ x.tar.z ได้ตามลำดับ

--------------------------------------------------------------------------------
2.7 คำสั่ง tar : ใช้สำหรับแตกแฟ้มที่ถูกบีบอัด แล้วนามสกุล tar
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
tar xvf x.tar :: ใช้สำหรับแตกแฟ้มที่นามสกุล tar ปกติแล้วจะมีการสร้าง directory ของแฟ้มพร้อมโปรแกรมอีกเพียบ
tar xvfz squid-2.3-200103110000-src.tar.gz :: จะคลาย gz พร้อมกับใช้คำสั่ง tar ได้พร้อม ๆ กัน ไม่ต้องใช้ gzip และมาใช้ tar
man tar :: ใช้ดูว่า tar ใช้งานอะไรได้บ้าง
tar zcvf abc.tar.gz /etc :: ใช้ copy /etc เก็บเป็นแฟ้ม abc.tar.gz แบบบีบอัด
tar zxvf abc.tar.gz :: ใช้คลายแฟ้ม abc.tar.gz ซึ่งจะได้ directory /etc ออกมาทั้งหมด

--------------------------------------------------------------------------------
2.8 คำสั่ง last : ใช้แสดงรายชื่อผู้ login เข้ามาล่าสุด
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
last |grep reboot :: ใช้ดูระบบถูก reboot เมื่อใดบ้าง
last |more :: ใช้รายชื่อผู้ login เข้ามาในระบบล่าสุดทีละหน้า

--------------------------------------------------------------------------------
2.9 คำสั่ง grep : ใช้สำหรับเลือกข้อมูลเฉพาะบรรทัดที่ต้องการ
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
more /etc/passwd|grep thaiall :: ใช้แสดงข้อมูลในแฟ้ม /etc/passwd แต่เลือกเฉพาะบรรทัดที่มีคำว่า thaiall
rpm -qa|grep ftp :: ใช้ดูว่าระบบลงโปรแกรม ftp หรือยัง เวอร์ชั่นใดบ้าง
last |grep reboot :: ใช้ดูระบบถูก reboot เมื่อใดบ้าง

--------------------------------------------------------------------------------
2.10 คำสั่ง date : ใช้ดูวันที่ หรือเปลี่ยนวันที่ และเวลาได้ date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
date +%x :: ดูวันที่ปัจจุบัน เช่นการแสดงเลข 04/27/01 ออกมา
date +%d :: ดูวันที่ปัจจุบัน เช่นการแสดงเลข 27 ออกมา
date 04271340 :: กำหนดวันที่ใหม่ให้เป็น วันที่ 27 เดือน 4 เวลา 13.40 น. (mmddhhmmccyy)
hwclock --systohc :: เมื่อเปลี่ยนเวลาด้วย date หาก restart เครื่องเวลาจะผิดเหมือนเดิมต้องใช้คำสั่งนี้ เพื่อเขียนเวลาลงไปใน hardware clock จึงจะเปลี่ยนเวลา hardware ได้
--------------------------------------------------------------------------------
2.11 คำสั่ง top : ใช้แสดงสถานะการใช้ทรัพยากร ภายในเครื่อง
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
top :: แสดงการใช้ทรัพยากรของเครื่อง จากแต่ละ process ทดสอบคำสั่งนี้ใน Redhat 8.0
ตัวอย่างผลของการใช้คำสั่ง
CPU states: 0.5% user, 1.3% system, 0.0% nice, 98.0% idle
Mem: 31328K av, 28872K used, 2456K free, 0K shrd, 1032K buff
Swap: 1718912K av, 2608K used, 1716304K free 16528K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
18306 root 14 0 852 852 672 R 0 1.5 2.7 0:00 top
18229 root 1 0 1684 1536 1240 S 0 0.3 4.9 0:00 sshd
1 root 0 0 160 116 92 S 0 0.0 0.3 0:08 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:01 kflushd


--------------------------------------------------------------------------------
2.12 คำสั่ง ntsysv หรือ setup : ใช้เปิด-ปิด บริการของเครื่องที่สะดวกรวดเร็ว
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
setup :: แสดงการตัวเลือกให้กำหนดบริการต่าง ๆ ปกติจะเลือก system services บริการที่เปิดใน server ของผมประกอบด้วย httpd, imap, ipop3, iptables, named, network, sendmail, servers, services, vsftpd, xinetd เพื่อให้บริการ web, mail, ftp และ dns
ntsysv :: ใช้เปิด-ปิดบริการ ให้ผลเหมือน setup, services (แต่คำสั่งนี้ถูกยกเลิกใน RH รุ่นใหม่)

--------------------------------------------------------------------------------
2.13 คำสั่ง route : ใช้เส้นทางการเชื่อมเครือข่าย
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
# route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.29.78.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 202.29.78.254 0.0.0.0 UG 0 0 0 eth0


--------------------------------------------------------------------------------
2.14 คำสั่ง shutdown, reboot : ใช้ปิดเครื่อง หรือ ปิดและเปิดเครื่องใหม่อย่างถูกวิธี
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
shutdown -h now หรือ halt :: สั่งปิดเครื่องทันที (แต่ใช้เวลาประมาณ 1 นาทีเพื่อปิดบริการต่าง ๆ)
reboot หรือ shutdown -r now :: ปิด และเปิดเครื่องใหม่ หากติดตั้งโปรแกรมบางตัว และ clear ค่าต่าง ๆ หากไม่แน่ใจ

--------------------------------------------------------------------------------
2.15 คำสั่ง runlevel : คู่กับแฟ้ม /etc/inittab เพื่อบอกว่าปัจจุบันอยู่ใน level ใด : ถ้าต้องการเปลี่ยน level ต้องใช้คำสั่ง chkconfig ให้ดูเพิ่มเติมจาก 2.18
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#/sbin/runlevel :: แสดง level ปัจจุบัน
#cat /etc/inittab :: แสดงตาราง กำหนดการสั่งเครื่อง ว่าใช้ level ใด

--------------------------------------------------------------------------------
2.16 คำสั่ง fsck : ซ่อมแซมระบบแฟ้มใน linux
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#fsck / :: ใช้ซ่อม harddisk ในห้อง / เมื่อการ harddisk เกิดปัญหาเกี่ยวกับการปิดเปิด
#fsck /dev/hdc :: ใช้ซ่อม harddisk ที่ชื่อ /dev/hdc ถ้าต่อ harddisk ไว้หลายตัว

--------------------------------------------------------------------------------
2.17 คำสั่ง chown, chgrp : เปลี่ยนเจ้าของ หรือเปลี่ยนกลุ่ม
--------------------------------------------------------------------------------
ตาม หัวข้อ 1.2 เรื่องคำสั่ง chmod ทำให้ทราบว่า แฟ้มแต่ละแฟ้มมี 3 ส่วน คือเจ้าของ กลุ่ม และทั่วไป เมื่อต้องการเปลี่ยนความเป็นเจ้าของ หรือกลุ่ม ก็สามารถทำได้ ซึ่งเป็นหลักการง่าย ๆ ไม่ยุ่งยาก
ตัวอย่างคำสั่ง และการใช้งาน
#chown burin:users x :: เปลี่ยนเจ้าของของแฟ้ม x ให้เป็น burin และอยู่ในกลุ่มของ users
#chgrp users y :: เปลี่ยนกลุ่มของแฟ้ม x ให้เป็น users

--------------------------------------------------------------------------------
2.18 คำสั่ง chkconfig : กำหนด หรือแสดง บริการที่สั่งประมวลผลใน level ต่าง ๆ ขณะเปิดเครื่อง
--------------------------------------------------------------------------------
คำ ว่า level คือระดับในการเปิดเครื่อง ดูได้จากแฟ้ม /etc/inittab โดยโปรแกรมต่าง ๆ ที่สั่งให้ประมวลผล สามารถเลือกให้ทำงานใน level ใดได้ หากสั่งให้ประมวลผลปิด level เมื่อมีการ start linux ใน level หนึ่ง โปรแกรมที่คิดว่าสั่งให้ทำงานขณะเปิดเครื่อง ก็จะไม่ทำงาน
# /etc/inittab
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#id:5:initdefault:
id:3:initdefault:

ตัวอย่างคำสั่ง และการใช้งาน
#/sbin/chkconfig --add mysql :: สั่งให้เพิ่ม mysql เข้าไปในระบบ system services
#/sbin/chkconfig --list :: แสดงรายการโปรแกรมทั้งหมด ที่สั่งให้ทำงานใน level ต่าง ๆ
#/sbin/chkconfig --level 3 sendmail on :: สั่งโปรแกรม sendmail ทำงานใน level 3 (Text mode)
#/sbin/chkconfig --level 5 sendmail on :: สั่งโปรแกรม sendmail ทำงานใน level 5 (X Windows)

--------------------------------------------------------------------------------
2.19 คำสั่ง mount, umount : สั่งเชื่อมต่ออุปกรณ์ หรือ partition เช่น Diskette หรือ Handy drive เป็นต้น
--------------------------------------------------------------------------------
การ ใช้ mount เป็นสิ่งที่ผู้ดูแลระบบต้องเข้าใจหลักการให้ได้ เพราะเป็นช่องทางในการติดต่อกับอุปกรณ์ต่าง ๆ ล่าสุด ผมต่อ harddisk เข้าไปในเครื่อง server เพิ่มอีก 1 ตัว ซึ่งระบบมอง harddisk ตัวที่เพิ่มเข้าไปเป็น hdc ด้วยคำสั่ง fdisk -l เมื่อต้องการ partition ที่ 1 ของ hdc มาเป็นห้อง /x ก็เพียงแต่ใช้คำสั่งสร้างห้องคือ #mkdir /x สำหรับครั้งแรก แล้วใช้คำสั่ง #mount /dev/hdc1 /x ก็จะใช้ห้อง /x ซึ่งอยู่ใน harddisk อีกตัวหนึ่งได้ทันที
คำสั่งที่เกี่ยวข้องกับคำสั่ง mount
#cat /etc/fstab : ดู file system table เพื่อบอกว่ามีอะไร mount ไว้แล้วบ้าง
#cat /etc/mtab : ดูรายละเอียดการ mount ในอีกรูปแบบหนึ่ง
#cat /proc/mounts : บอกว่ามีอะไร mount ไว้แล้วบ้าง
#cat /proc/partitions : บอกชื่อ และขนาดของแต่ละ partitions
#cat /proc/filesystems : บอกประเภทของ filesystems ที่มีการสนับสนุน
#/sbin/fdisk -l : แสดง partition จาก harddisk ทุกตัวที่เชื่อมต่อในเครื่องนั้น

ตัวอย่างคำสั่ง และการใช้งาน
#mount --bind /var/www /home/yourname/www
#mount แสดงข้อมูลที่เคย mount ไว้ทั้งหมด

วิธีใช้แผ่น Floppy Disk ใน linux
#mkdir /floppy
#mkfs -t ext3 /dev/fd0 1440
#mount -t ext3 /dev/fd0 /floppy
- or -
#mkdir /floppy
#mkfs -t msdos /dev/fd0 1440
#mount -t msdos /dev/fd0 /floppy
ต่อไปในห้อง /floppy ก็คือแผ่น disk ใน drive A ส่วน /dev/fd1 ก็คือ drive B แต่ต้องเริ่มทำใหม่นะครับ
วิธีใช้ Handy Drive เช่น Apacer (ต้อง umount ก่อนดึง apacer ออกก่อนเสมอ)
#mkdir /mnt/apacer (Just first time)
#mount /dev/sda1 /mnt/apacer
...
#cd /
#umount /dev/sda1
- and -
#pico /etc/fstab Add: /dev/sda1 /mnt/apacer auto noauto,user 0 0
วิธีเรียกใช้แฟ้มใน Partition อื่น เช่น WindowsXP
cd / :: ย้ายตัวเองไปยัง root directory
mkdir hd :: สร้างห้องชื่อ hd ซึ่งเป็นห้องเปล่าไม่มีอะไร
fdisk -l :: ดูว่ามี partition อะไรในเครื่องบ้าง ที่ต้องการ mount เข้ากับ /hd
mount /dev/hdb2 /hd :: ทำให้เรียกใช้ /dev/hdb2 จาก /hd ได้ เช่น cd /hd/etc ถ้าใน hdb2 มีห้องชื่อ etc
umount /hd :: ยกเลิกการ mount /hd

วิธีใช้ CDROM
mount :: แสดงรายการอุปกรณ์ หรือห้องต่าง ๆ ที่ถูก mount ไว้แล้ว
mount -t ext3 :: แสดงให้เห็นว่า partition แบบ ext3 มีอะไรถูก mount ไว้บ้าง
mount -t vfat :: แสดงให้เห็นว่า partition แบบ vfat มีอะไรถูก mount ไว้บ้าง
mount /dev/cdrom :: ใช้ติดต่อ CD ROM เมื่อเข้าไปใช้เช่น #cd /mnt/cdrom และใช้ #ls
umount /dev/cdrom :: เพื่อเลิกใช้ CD ROM หรือต้องการดึงแผ่นออก แต่ท่านต้องออกมาก่อนด้วยคำสั่ง #cd / เป็นต้น
eject :: ถ้าไม่ umount ด้านล่าง ก็สั่ง eject เพื่อดีด CD-ROM ออกได้เลยครับ และไม่ต้องสั่ง umount หรือออกจากห้องก่อนนะ

ตัวอย่าง ผลการใช้คำสั่ง #mount ใน server ตัวหนึ่ง /dev/hda5 on / type ext3 (rw) none on /proc type proc (rw) /dev/hda1 on /boot type ext3 (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) /dev/hda3 on /home type ext3 (rw) none on /dev/shm type tmpfs (rw) /dev/hda2 on /usr type ext3 (rw) /dev/hda6 on /var type ext3 (rw)

--------------------------------------------------------------------------------
2.20 คำสั่ง mkbootdisk : สร้างแผ่น boot disk เพื่อใช้ boot ระบบ linux ขึ้นมาภายหลัง และมีการทำงานแบบ stand alone
--------------------------------------------------------------------------------
คำ สั่งนี้ผมเคยใช้ตอนคัดลอก harddisk ที่เป็น linux 2 ตัว แต่ตัวลูกเมื่อนำไปเสียบเข้าเครื่องใหม่ พบว่า boot ด้วยตนเองไม่ได้ จึงต้องหาแผ่น boot จนเข้าไปใน harddisk ได้ จากนั้นก็สั่ง #lilo เพื่อให้การ boot ครั้งต่อไปสามารถทำงานตาม /etc/lilo.conf ได้ตามปกติ ส่วนตัวเลข 2.4.18-14 เป็นเลขรุ่นของ kernel ใน Redhat 8.0 สังเกตเลขนี้ได้ตอน boot เครื่อง
ตัวอย่างคำสั่ง และการใช้งาน
mkbootdisk --device /dev/fd0 2.4.18-14 :: สร้างแผ่น disk เพื่อใช้ boot เข้า linux ในกรณีที่ระบบ boot ของเครื่องมีปัญหา
--------------------------------------------------------------------------------
2.21 คำสั่ง traceroute : แสดงเลข ip ของเครื่องที่ถูกเชื่อมต่อทั้งหมด ไปยังปลายทางที่ต้องการ
--------------------------------------------------------------------------------
ตัวอย่างข้างล่างนี้แสดงให้เห็นว่า เมื่อในวิทยาลัยโยนกเปิดเว็บ www.thai.net จะต้องติดต่อผ่านเครื่องบริการ 8 ตัว ดังตัวอย่างล่างนี้ ถ้าเปิดเว็บไซต์ต่างประเทศ ก็จะมีจำนวนเครื่องในการติดต่อมากขึ้นไปด้วย เครื่องบริการในที่นี้ มักเป็นอุปกรณ์ที่เรียกว่า router และ router ทุกตัวจะมี ip และความสามารถเฉพาะตัวที่ต่างกันไป โดยหน้าที่หลักของ router ก็คือการกำหนดเส้นทางในการติดต่อนั่นเอง
ตัวอย่างคำสั่ง และการใช้งาน
/usr/sbin/traceroute www.thai.net
traceroute to www.thai.net (203.150.13.2), 30 hops max, 38 byte packets
1 door.yonok.ac.th (202.29.78.254) 2.046 ms 1.962 ms 2.532 ms
2 202.28.29.41 (202.28.29.41) 3.703 ms 3.294 ms 3.760 ms
3 UniNet-BKK2-ATM1-0-0.700.uni.net.th (202.28.28.129) 14.185 ms 13.226 ms 14.614 ms
4 202.28.28.18 (202.28.28.18) 13.705 ms 13.227 ms 14.130 ms
5 202.47.255.2 (202.47.255.2) 13.222 ms 13.890 ms 13.210 ms
6 202.129.63.182 (202.129.63.182) 16.649 ms 14.960 ms 15.659 ms
7 juliet-vlan-2.bkk.inet-th.net (203.150.14.22) 14.817 ms 15.573 ms 15.610 ms
8 www.thai.net (203.150.13.2) 15.628 ms 14.775 ms 14.222 ms


--------------------------------------------------------------------------------
2.22 คำสั่ง rpm : ใช้ตรวจสอบ เพิ่ม หรือลบ package ของระบบ linux เกือบทั้งหมด
--------------------------------------------------------------------------------
ใน กรณีที่ท่านมีโปรแกรมตัวใหม่มา สามารถที่จะลบโปรแกรมเพิ่มโดยใช้คำสั่ง rpm ได้ หรือต้องการตรวจสอบว่า มี package บางตัว install อยู่หรือไม่ หรือจะยกเลิกโปรแกรมบางตัวออกจากระบบก็ทำได้ หรือจะแสดงรายชื่อ package ทั้งหมดในระบบก็ทำได้อีก รวมทั้งการตรวจ version ของ package แต่ละตัว จากประสบการณ์ ไม่แน่ใจว่าเกิดจากอะไร เมื่อลง Redhat 7.2 แล้ว แต่ระบบไม่บริการ pop3 จึงได้ทำการ mount /dev/cdrom จากนั้นก็ทำการ install package pop เพิ่มเข้าไป ที่รู้เพราะลองใช้คำสั่ง telnet localhost 110 แล้ว error จึงต้องทำการเพิ่ม package pop เข้าไปใหม่ โดยใช้คำสั่ง rpm -i imap-4.7-5.i386.rpm ที่รู้เพราะได้ใช้ cd เข้าไปในห้อง /mnt/cdrom/RedHat/RPMS จึงพบแฟ้มมากมายที่สามารถ install เพิ่มได้
ตัวอย่างคำสั่ง และการใช้งาน
rpm -i imap-4.7-5.i386.rpm :: ใช้ install package pop เข้าไปใน linux ใหม่ เพราะไม่มี และให้ดูเพิ่มเติมจาก 8.99 เกี่ยวกับการติดตั้งโปรแกรมจาก CD-ROM
rpm -qa|grep imap :: ใช้ดูว่ามี package อะไรบ้างที่ขึ้นต้นด้วย imap
rpm -qa :: ใช้ดูรายชื่อ package ทุกตัวที่ install ไว้แล้ว
rpm -q telnet :: ใช้ตรวจว่ามี package ชื่อ telnet อยู่หรือไม่
rpm -qpl imap-4.7-5.i386.rpm :: แสดงชื่อแฟ้มใน package แต่ต้องเข้าไปที่ /mnt/cdrom/RedHat/RPMS ก่อนนะครับ
rpm -qf /usr/sbin/vi :: จะแสดง vim-minimal-5.6-11 ซึ่งเป็นรุ่นของ vi นั้น
rpm -qf /usr/sbin/httpd :: จะได้ apache-1.3.12-2 ซึ่งเป็นรุ่นที่ติดตั้งมาใน linux 6.2
rpm -e apache-1.3.12-2 :: ลบ หรือ erase โปรแกรม apache-1.3.12-2 ออกจากเครื่อง
rpm -Fvh openssl-0.9.5a-2.6.x.i386.rpm :: Upgrade โปรแกรม แต่ต้องลงโปรแกรมก่อนมิเช่นนั้น ไม่สำเร็จนะครับ
rpm -qi vsftpd :: แสดงรายละเอียดของ Application เช่น ขนาด วันติดตั้ง รุ่น ผู้ผลิต เป็นต้น

--------------------------------------------------------------------------------
2.23 คำสั่ง SU : ขอเปลี่ยนตนเองเป็น Super user หรือ root เพื่อใช้สิทธิ์สูงสุดในการบริหารระบบ ที่ผู้ใช้ปกติทำไม่ได้
--------------------------------------------------------------------------------
การ จะใช้ su ได้จะต้องเป็นผู้ใช้ตามปกติ เมื่อพิมพ์ su แล้วระบบจะถามรหัสผ่านของ user root หากพิมพ์รหัสผ่านถูกต้อง ท่านก็จะสามารถกระทำการใด ๆ ก็ได้ ในฐานะ root เพราะ root หรือ super user คือผู้ที่มีอำนาจสูงสุดในระบบ เช่น เพิ่มผู้ใช้ท่านใหม่ ลบผู้ใช้คนเดิม เป็นต้น (เพียงแต่พิมพ์คำว่า su ท่านก็สามารถเปลี่ยนสิทธิ์ได้แล้ว ถ้าท่านมีรหัสผ่านของ su) เดิมผมใช้แค่คำว่า su ต่อมาคุณประเสริฐ แนะนำว่าต้องใช้ su - จึงจะสมบูรณ์ พอทดสอบก็พบว่า $PATH ที่ได้แตกต่างกันจริง
ตัวอย่างคำสั่ง และการใช้งาน
#su - :: เปลี่ยนตนเองเป็น super user เพื่อกระทำการใด ๆ ก็ได้กับตัวระบบ
#su prasert :: ไม่ว่าขณะที่ login เป็น user ใด เมื่อต้องการเปลี่ยนเป็น user prasert ก็ไม่ต้อง logout แล้ว login ใหม่ ใช้คำสั่งนี้ได้เลย

--------------------------------------------------------------------------------
2.24 คำสั่ง useradd : เพิ่มผู้ใช้รายใหม่เข้าไปในระบบ
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#useradd theman :: เพิ่มผู้ใช้รายใหม่เข้าไปในระบบชื่อ theman ในกลุ่ม theman และมี home directory เป็น /home/theman
#useradd -g users -d /home/theman -c "user name here" theman :: เพิ่มผู้ใช้รายใหม่เข้าไปในระบบชื่อ theman

--------------------------------------------------------------------------------
2.25 คำสั่ง userdel : ลบผู้ใช้รายเดิม ออกจากระบบ
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#userdel -r theman :: ลบ theman และ home directory ของ theman ออกหมด

--------------------------------------------------------------------------------
2.26 คำสั่ง usermod : แก้ไขข้อมูลของผู้ใช้ได้
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#usermod -s /rbin/menu theman :: กำหนดให้ shell สำหรับ user ที่ชื่อ theman ใหม่ เพื่อจำกัดสิทธิ์ในการเข้าใช้ shell
#usermod -d /home/theman theman :: กำหนดให้ theman มี homedirectory อยู่ที่ /home/theman
#usermod -c "Mr.Suwit Somsupabrungyod" theman :: กำหนดให้ comment หรือชื่อ เป็น Mr.Suwit Somsupabrungyod ซึ่ง comment จะไปแสดงผลให้เห็นชัดเจนตอนที่ใช้ pine เมื่อพิมพ์คำว่า theman ในช่อง to ขณะที่กำลัง compose จะแสดง comment หน้า email ให้ทันที

--------------------------------------------------------------------------------
2.27 คำสั่ง crontab : ตั้งเวลาสั่งงานคอมพิวเตอร์
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#crontab -l :: แสดงกำหนดการของการสั่งให้คอมพิวเตอร์ทำงานอย่างอัตโนมัติ ตามเวลาที่กำหนด
#cat /etc/crontab :: แสดงตาราง crontab ในเครื่อง

--------------------------------------------------------------------------------
2.28 คำสั่ง lspci : ตรวจสอบอุปกรณ์ที่เชื่อมต่อภายในเครื่อง
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#lspci
00:00.0 Host bridge: Intel Corp . 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller : Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:0f.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03)
00:11.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24)
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c)


--------------------------------------------------------------------------------
2.29 คำสั่ง nmap : ตรวจสอบเครือข่ายแบบกวาดทั้งในเครื่อง และ class C
--------------------------------------------------------------------------------

ตัวอย่างคำสั่ง และการใช้งาน
#nmap -sP 202.29.78.*
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Host (202.29.78.0) seems to be a subnet broadcast address (returned 1 extra pings).
Note -- the actual IP also responded.
Host www.isinthai.com (202.29.78.1) appears to be up.
Host course.yonok.ac.th (202.29.78.5) appears to be up.
Host yonok.ac.th (202.29.78.12) appears to be up.
Host w2kdhcp.yonok.ac.th (202.29.78.17) appears to be up.
Host (202.29.78.31) appears to be up.
Host (202.29.78.32) appears to be up.
Host (202.29.78.33) appears to be up.

#nmap -sT www.yonok.ac.th (on TCP)
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on yonok.ac.th (202.29.78.12):
(The 1590 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
109/tcp open pop-2
110/tcp open pop-3

#nmap www.yonok.ac.th -sU (on UDP)
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on yn1.yonok.ac.th (202.29.78.12):
(The 1465 ports scanned but not shown below are in state: closed)
Port State Service
53/udp open domain
111/udp open sunrpc
867/udp open unknow

คัดมาจาก http://www.linuxcentrix.com/index.php/topic,11.0.html

ความรู้เบื้องต้นเกี่ยวกับ linux

            Linux เป็นชื่อของระบบปฏิบัติการตัวหนึ่งที่มีความคล้าย Unix (Unix-like) ซึ่งระบบปฏิบัติการเป็นซอฟแวร์ที่ทำหน้าที่เป็นตัวกลาง ระหว่างฮาร์ดแวร์ และซอฟแวร์ประยุกต์อื่น ๆ  OS มีหน้าที่หลักๆ คือ การจัดสรรทรัพยากรภายในเครื่องคอมพิวเตอร์เพื่อให้บริการซอฟแวร์ประยุกต์ อื่นๆ และจัดเก็บข้อมูลจากฮาร์ดแวร์   OS ที่คุ้นเคยกันดีก็อย่างเช่น Microsoft Windows ของบริษัท Microsoft เป็นต้น
              ในอดีตกาลประมาณช่วงทศวรรษที่ 60 สถาบันเทคโนโลยีแมสซาชูเซตส์ หรือเรียกกันย่อๆว่า MIT รวมทั้ง AT&T Bell Labs และบริษัท General Electric ได้ร่วมมือกันวิจัยระบบปฏิบัติการที่ชื่อ Multics (ย่อมาจาก Multiplexed Information and Computing Service) โดยมีจุดมุ่งหมายเพื่อทำงานบนเครื่องเมนเฟรมรุ่น GE-645 แต่ภายหลัง AT&T ได้ถอนตัวจากโครงการนี้ Ken Thomson ซึ่งเป็นหนึ่งในทีมพัฒนาในขณะนั้น ได้เขียนเกมส์บนเครื่อง GE-645 ชื่อว่าเกมส์ Space Travel และพบปัญหาว่าเกมส์ทำงานได้ช้ากว่าที่ควร เขาจึงย้ายมาเขียนเกมส์บนเครื่อง PDP-7 ของบริษัท DEC แทนด้วยภาษาแอสเซมบลี โดยความช่วยเหลือของ Dennis Ritchie ประสบการณ์เหล่านี้ทำให้ Thomson หันมาพัฒนาระบบปฏิบัติการบนเครื่อง PDP-7 ซึ่งระบบปฏิบัติการนี้ชื่อว่า UNICS (ย่อมาจาก Uniplexed Information and Computing System) เนื่องจากการออกเสียงสามารถสะกดได้หลายแบบ และพบปัญหาชื่อใกล้เคียงกับ Multics ภายหลังจึงเปลี่ยนเป็น Unix (ยูนิกซ์) 

               Linux หรือ GNU/Linux เป็นระบบปฏิบัติการที่นิยมตัวหนึ่งในฐานะซอฟแวร์เสรีหรือซอฟแวร์โอเพนซอร์ส Linux มีลักษณะคล้ายระบบปฏิบัติการ Unix โดยมี Linux Kernel เป็นศูนย์กลางการทำงานร่วมกับไลบราลีและเครื่องมืออื่นๆ เริ่มแรกของของลินุกซ์พัฒนาและใช้งานในเฉพาะกลุ่มผู้ที่สนใจ ซึ่งในปัจจุบันลินุกซ์ได้รับความนิยมเนื่องมาจากระบบการทำงานที่เป็นอิสระ ปลอดภัย เชื่อถือได้ และราคาต่ำ จึงได้มีการพัฒนาจากองค์กรต่าง ๆ เช่น ไอบีเอ็ม ฮิวเลตต์-แพกการ์ด และ โนเวลล์ ใช้สำหรับในระบบเซิร์ฟเวอร์และพีซี เริ่มแรกลินุกซ์พัฒนาสำหรับใช้กับเครื่อง อินเทล 386 ไมโครโพรเซสเซอร์ หลังจากที่ได้รับความนิยมปัจจุบัน ลินุกซ์ได้พัฒนารับรองการใช้งานของระบบสถาปัตยกรรมคอมพิวเตอร์ในระบบต่าง ๆ รวมถึงในโทรศัพท์มือถือ และกล้องวีดีโอ ลินุกซ์มีสัญญาอนุญาตแบบ GPLซึ่งเป็นสัญญาอนุญาตที่กำหนดให้ผู้ที่นำโค้ดไปใช้ต้องใช้สัญญาอนุญาตแบบเดิม ต่อคือใช้สัญญาอนุญาต GPL เช่นเดียวกัน ซึ่งลักษณะสัญญาอนุญาตแบบนี้เรียกว่า copyleft นั่นเอง ผู้เริ่มพัฒนาลินุกซ์เป็นคนแรก คือ ลินุส โตร์วัลดส์ (Linus Torvalds) ชาวฟินแลนด์ เมื่อสมัยที่เขายังเป็นนักศึกษาคอมพิวเตอร์ ที่มหาวิทยาลัยเฮลซิงกิ ปี พ.ศ. 2526 ริชาร์ด สตอลแมน (Richard Stallman) ได้ก่อตั้งโครงการกนูขึ้น จุดมุ่งหมายโครงการ GNU คือ ต้องการพัฒนาระบบปฏิบัติการคล้ายยูนิกซ์ที่เป็นซอฟต์แวร์เสรีทั้งระบบ ราวช่วง พ.ศ. 2533 โครงการ GNU มีส่วนโปรแกรมที่จำเป็นสำหรับระบบปฏิบัติการเกือบครบทั้งหมด ได้แก่ คลังโปรแกรม คอมไพเลอร์ โปรแกรมแก้ไขข้อความ และ Unix Shell ซึ่งขาดแต่เพียงเคอร์เนลเท่านั้น ในพ.ศ. 2533 โครงการ GNU ได้พัฒนาเคอร์เนลชื่อ Hurd เพื่อใช้ในระบบ GNU ซึ่งในขณะนั้นมีปัญหาเกี่ยวกับความเร็วในการประมวลผล ในพ.ศ. 2534 โตร์วัลดส์เริ่มโครงการพัฒนาเคอร์เนล ขณะศึกษาในมหาวิทยาลัยแล้ว โดยอาศัย Minix ซึ่งเป็นระบบที่คล้ายกับ Unix ซึ่งมากับหนังสือเรื่องการออกแบบระบบปฏิบัติการ มาเป็นเป็นต้นแบบในการเขียนขึ้นมาใหม่โดย Torvalds ได้พัฒนาโดยใช้ IA-32 assembler และภาษาซี คอมไพล์เป็นไฟล์ไบนารี่และบูทจากแผ่นฟล็อปปี้ดิสก์ และได้พัฒนามาเรื่อยๆจนกระทั่งสามารถบูทตัวเองได้ (กล่าวคือสามารถคอมไพล์ภายใน linuxได้เลย) และในปัจจุบันมีนักพัฒนาจากพันกว่าคนทั่วโลกได้เข้ามามีส่วนรวมในการพัฒนา โครงการ Eric S. Raymond ได้ศีกษากระบวนการพัฒนาดังกล่าวและเขียนบทความเรื่อง The Cathedral and the Bazaar ในรุ่น 0.01 นี้ถือว่ามีเครื่องมือที่เพียงพอสำหรับระบบ POSIX ที่ใช้เรียก linux ที่รันกับ GNU Bash Shell และมีการพัฒนาอย่างต่อเนื่องและอย่างรวดเร็ว โตร์วัลดส์ยังคงมุ่งมั่นพัฒนาระบบต่อไป ซึ่งต่อมาก็สามารถรันบน X Window System และมีการเลือกนกเพนกวินที่ชื่อ Tux ให้เป็นตัวนำโชคหรือ Mascot ของระบบ linux นั่นเอง ยิงฟันยิ้ม

การใช้งาน

               การ ใช้งานดั้งเดิมของ linux คือ ใช้เป็นระบบปฏิบัติการสำหรับเครื่องเซิร์ฟเวอร์ แต่จากราคาที่ต่ำ ความยืดหยุ่น พื้นฐานจากยูนิกซ์ ทำให้ linuxเหมาะกับงานหลาย ๆ ประเภท linux ถือเป็นส่วนสำคัญของซอฟต์แวร์เซิร์ฟเวอร์ที่เรียกว่า LAMP ย่อมาจาก Linux, Apache, MySQL, Perl/PHP/Python ซึ่งเป็นที่นิยมใช้เป็นเว็บเซิร์ฟเวอร์ และพบมากสุดระบบหนึ่ง ตัวอย่างซอฟต์แวร์ซึ่งพัฒนาสำหรับระบบนี้คือ media wiki ซอฟต์แวร์สำหรับวิกิพีเดีย

          เนื่องจากราคาที่ต่ำและการปรับแต่งได้ หลากหลาย linux ถูกนำมาใช้ในระบบฝังตัว (Embeded linux) เช่น เครื่องรับสัญญาณโทรทัศน์ โทรศัพท์มือถือ และอุปกรณ์พกพาต่าง ๆ linux เป็นคู่แข่งที่สำคัญของ ซิมเบียนโอเอส (Symbian OS) ซึ่งใช้ในโทรศัพท์มือถือจำนวนมาก และใช้แทนวินโดวส์ซีอี และปาล์มโอเอส บนเครื่องคอมพิวเตอร์พกพา เครื่องบันทึกวีดิโอก็ใช้ linux ที่ดัดแปลงเป็นพิเศษ ไฟร์วอลล์และเราเตอร์หลายรุ่น เช่นของ Linksys ใช้ linux และขีดความสามารถเรื่องทางเครือข่ายของมัน

            ระยะ หลังมีการใช้ linux เป็นระบบปฏิบัติการของซูเปอร์คอมพิวเตอร์มากขึ้น ในรายชื่อซูเปอร์คอมพิวเตอร์ TOP500 ของเดือนพฤศจิกายน พ.ศ. 2548 เครื่องซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดสองอันดับแรกใช้ linux และจาก 500 ระบบ มีถึง 371 ระบบ (คิดเป็น 74.2%) ให้ linux แบบใดแบบหนึ่ง

               เครื่องเล่น เกม โซนี่ เพลย์สเตชัน 3 ที่ออกในปี พ.ศ. 2549 รัน linux โซนียังได้ปล่อย PS2 Linux สำหรับใช้กับเพลย์สเตชัน 2 อีกด้วย ผู้พัฒนาเกมอย่าง Atari และ id Software ก็เคยออกซอฟต์แวร์เกมบน linux มาแล้ว ยิ้มเท่ห์

การติดตั้ง

                การ ติดตั้งโดยทั่วไป จะติดตั้งผ่านซีดีที่มีโปรแกรมบรรจุอยู่ในแผ่นซึ่งแผ่นซีดีนั้นสามารถหามา ได้หลายวิธี เช่นสามารถเบิร์นได้จาก ISO image ที่ดาวน์โหลดจากอินเทอร์เน็ต หรือสามารถหาซื้อซีดีได้ในราคาถูกโดยอาจจะซื้อรวมหรือแยกพร้อมกับคู่มือ เนื่องจากสัญญาอนุญาตของโปรแกรมเป็นแบบ GPL linux จากผู้จัดทำบางตัวเช่น เดเบียน (Debian) สามารถติดตั้งได้จากโปรแกรมขนาดเล็กผ่านฟลอปปีดิสก์ ซึ่งเมื่อติดตั้งส่วนหนึ่งสำเร็จ ตัวโปรแกรมของมันเองจะดาวน์โหลดส่วนอื่นเพิ่มขึ้นมาผ่านทางอินเทอร์เน็ต หรือสำหรับบางตัวเช่นอูบุนตุ สามารถทำงานได้ผ่านซีดีโดยติดตั้งในแรมในช่วงที่เปิดเครื่อง

                 การ ทำงานของ linux สามารถติดตั้งได้ในเครื่องเซิร์ฟเวอร์หรือเครื่องคอมพิวเตอร์ที่มีสมรรถนะ สูง จนถึงเครื่องที่สมรรถนะต่ำ ที่ไม่มีฮาร์ดไดรฟ์หรือมีแรมน้อยโดยทำงานเป็นเครื่องไคลเอนต์โดยที่เครื่อง ไคลเอนต์ สามารถบูตและเรียกใช้งานโปรแกรมต่างๆผ่านทางเน็ตเวิร์กจากเครื่องเทอร์มินอ ลเซิร์ฟเวอร์ ซึ่งวิธีการนี้ยังคงช่วยให้ประหยัดเวลาในการติดตั้งโปรแกรม เพราะติดตั้งเพียงเครื่องเดียวที่เทอร์มินอลเซิร์ฟเวอร์ รวมถึงราคาของเครื่องไคลเอนต์ที่ไม่จำเป็นต้องมีสมรรถภาพสูงซึ่งมีราคาถูก กว่าเครื่องทั่วไป

Linux Distro
                 Linux Distro มาจากคำว่า Linux Distribution เป็น linux ที่ถูกสร้างมาจากผู้ผลิตในแต่ละค่าย ซึ่งในแต่ละ distro ก็จะมีองค์ประกอบหลักๆคือ linux kernel, GNU library, กราฟฟิกจาก x-window system และ โปรแกรมประยุกต์ต่างๆที่ผู้ผลิตใส่เข้าไป ในโลกใบนี้มี linux distro อยู่เป็นจำนวนมาก ซึ่งในแต่ละค่ายก็มีจุดเด่นและเอกลักษณ์เฉพาะตัวแตกต่างกันไป ซึ่งจะเลือกใช้ตัวใดนั้นก็ขึ้นอยู่กับลักษณะการใช้งานและความพึงพอใจของผู้ ใช้ด้วยครับ เราสามารถดูการจัดอันดับและข่าวสารของ linux แต่ละ distro ได้ที่ http://www.distrowatch.com ยิงฟันยิ้ม
หมายเหตุ : บทความนี้คัดลอกมาจากที่อื่นแต่จำไม่ได้แล้วต้องขอขอบพระคุณเป็นอย่างสูง