Subscribe:

Ads 468x60px

:: เพื่อแลกเปลี่ยนเรียนรู้ในงานITที่ใช้ในงานด้านสาธารณสุขของเจ้าหน้าที่สาธารณสุขในจังหวัดสตูล

คำสั่งขั้นสูง LINUX



คำสั่งขั้นสูง LINUX และ UNIX credit ::http://jda-memo.blogspot.com/2016/09/linux-unix.html

 
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

--------------------------------------



รายงานประจำเดือน ทดลองนะครับ

สอบถามปัญหา

บันทึกกันลืม ลินุกซ์ ของ อ.วิภัทร

จากอ.วิภทร ชมรมopensource มอ.

thaiopensource.org | เปิดโลกอิสระกับโอเพนซอร์ส blogs