Wednesday, November 23, 2011

คำสั่ง linux server

,

คำสั่ง linux server

คำสั่ง linux server
คำสั่ง linux server
1.1 คำสั่ง ls
: ใช้แสดงรายชื่อแฟ้มทั้งหมดใน home directory
: list directory contents
ทุก ท่านที่มี account ใน linux จะมี home directory ของตนเอง เพื่อใช้เก็บแฟ้มต่าง ๆ ภายใต้ระบบ linux เมื่อต้องการทราบว่ามีแฟ้มอะไร เก็บไว้บ้าง สามารถใช้คำสั่ง ls ได้ และสามารถกำหนด parameter ได้หลายตัว เช่น -al --sort เป็นต้น ถ้าต้องการทราบว่าปัจจุบันตนเองอยู่ใน Directory ใด ให้ใช้คำสั่ง pwd
    ตัวอย่างคำสั่ง และการใช้งาน ls -alt :: เพื่อแสดงรายชื่อแฟ้ม และจัดเรียงตามเวลา (a=all, l=long listing, t=sort by modification time) ls -alt | more :: เพื่อแสดงรายชื่อแฟ้มทั้งหมด แต่หยุดทีละหน้า ถ้ามีจำนวนแฟ้มเกินที่จะแสดงได้ ใน 1 หน้า ls -al --sort=time | more :: แสดงรายชื่อแฟ้มเรียงตามเวลา แยกทีละหน้า แบบ long listing ls -R | more :: แสดงรายชื่อในทุก directory ในห้องปัจจุบัน (R=Recursive) ถ้าสังเกตนะครับ แฟ้มที่มี . หน้าชื่อแฟ้ม หมายถึง แฟ้มที่ซ่อนไว้ ถ้าใช้คำสั่ง ls หรือ ls -l จะไม่เห็นแฟ้มเหล่านี้ ถ้ามีอักษร D ที่ Column แรก ในส่วนแสดงรายชื่อแฟ้ม ด้วยคำสั่ง ls -al จะหมายถึง directory

1.2 คำสั่ง chmod
: ใช้เปลี่ยนสิทธิของแฟ้ม เจ้าของ(Owner), คนในกลุ่ม(Group), คนอื่น(Other) สามารถทำอะไรได้บ้าง
: change file access permissions
เมื่อใช้คำสั่ง 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)
: format and display the on-line manual pages
ผม เชื่อว่าทุกคนที่ใช้ unix หรือ linux ต้องเคยใช้คำสั่งนี้มาก่อน เพราะจะเป็นคำสั่งที่ช่วยอธิบายหน้าที่ของคำสั่ง พร้อมกับแสดง parameter ที่สามารถใช้ได้ทั้งหมดของคำสั่งนั้น และยังมีตัวอย่างการใช้ และคำสั่งที่เกี่ยวข้องอีก ทำให้ประหยัดเวลาในการค้นเอกสารได้อย่างมาก บางท่านอาจศึกษา linux ด้วยการอ่านจาก man อย่างเดียวเลยก็มีนะครับ โดยไม่ต้องไปหาซื้อหนังสือที่ไหนมาอ่านก็ทำได้
    ตัวอย่างคำสั่ง และการใช้งาน man man :: เพื่ออธิบายคำสั่ง man เอง ว่าตัวคำสั่งนี้ใช้อย่างไร man ls :: เพื่ออธิบายคำสั่ง ls ว่าใช้อย่างไร man useradd :: เพื่ออธิบายคำสั่ง useradd ว่าใช้อย่างไร

1.4 คำสั่ง mkdir, rmdir, cd
: งานต่าง ๆ เกี่ยวกับ directory
: make, remove empty, change working directory
ผู้ใช้คอมพิวเตอร์ที่ใช้ dos มาก่อนต้องคุ้นเคยกับ directory แน่นอน สำหรับคำสั่งเกี่ยวกับ directory ในที่นี้มี 3 คำสั่ง
mkdir หมายถึง สร้าง directory (make directories)
rm หมายถึง ลบ directory (remove files or directories) และคำสั่งนี้ยังใช้ลบแฟ้มตามปกติได้อีกด้วย
cd หมายถึงเปลี่ยน directory (change working 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
: a programmers text editor
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
: ทุกคำสั่งข้างต้นใช้สำหรับตรวจสอบผู้ใช้ แต่จะให้รายละเอียดต่างกันไป
: print real and effective UIDs and GIDs
    ตัวอย่างคำสั่ง และการใช้งาน id uname :: ใช้ตรวจดูว่ามี account ในระบบหรือไม่ (ผลแสดงรหัสผลู้ใช้ และชื่อกลุ่ม) finger uname :: ใช้ตรวจดูว่ามี account uname นี้ในระบบหรือไม่ ให้ผลละเอียด ทั้ง last login หรือ email ฉบับล่าสุด finger :: ใช้แสดงรายชื่อทุกคนในระบบที่กำลัง login อยู่ finger @www.isinthai.com :: ใช้แสดงรายชื่อทุกคนในระบบที่กำลัง login อยู่ ตรวจ server นอกระบบได้ ถ้าเขาไม่ปิด who |grep thai :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้ และเลือกเฉพาะบรรทัดที่มีอักษร thai w :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้

1.9 คำสั่ง cat
: แสดงข้อมูลในแฟ้ม คล้ายคำสั่ง type ในระบบ DOS
: concatenate files and print on the standard output
    ตัวอย่างคำสั่ง และการใช้งาน 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 ได้
: configure a network interface
    ดูผลการทำงานของคำสั่ง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
: แสดงสถานะของเครือข่ายว่ามีโปรแกรมใดเปิดให้บริการ
: Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
    ดูผลการทำงานของคำสั่ง 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 อยู่หรือไม่
: Internet network services list
    ดูผลการทำงานของคำสั่ง 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 เป็นต้น แต่ใน Fedora ที่ผมติดตั้งไม่มีคำสั่งนี้ครับ
    ดูผลบางส่วนจากการทำงานของคำสั่ง 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
: locate the binary, source, and manual page files for a command
    ตัวอย่างคำสั่ง และการใช้งาน 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
: send ICMP ECHO_REQUEST to network hosts
    ตัวอย่างคำสั่ง และการใช้งาน ping www.thaiall.com :: ตัวสอบการมีอยู่ของ www.thaiall.com และแสดงเลข IP ของเว็บนี้ ping 202.29.78.100 -c 5 :: แสดงผลการทดสอบเพียง 5 บรรทัด ping 202.29.78.2 :: ผลดังข้างล่างนี้ แสดงว่าไม่พบเครื่องที่มีเลข ip ดังกล่าว
    PING 202.29.78.2 (202.29.78.2) from 202.29.78.12 : 56(84) bytes of data.
    From 202.29.78.12 icmp_seq=1 Destination Host Unreachable
    From 202.29.78.12 icmp_seq=2 Destination Host Unreachable
    From 202.29.78.12 icmp_seq=3 Destination Host Unreachable

1.17 คำสั่ง env
: แสดงค่า environment ปัจจุบัน
: run a program in a modified 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 ได้ (ในเครื่องผมไม่ได้ลงไว้)

1.19 คำสั่ง nslookup
: แสดงข้อมูลเกี่ยวกับ name server จาก ip หรือ domain name
: query Internet name servers interactively
    คำสั่งนี้ ถูกประกาศว่าต่อไปอาจไม่พบใน 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

1.20 คำสั่ง tail
: แสดงส่วนท้ายของแฟ้มที่มีขนาดใหญ่ ต้องข้ามกับ cat ที่ดูตั้งแต่เริ่มแฟ้ม
: output the last part of files
    ตัวอย่างคำสั่ง และการใช้งาน 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 แทน
: user interface to the TELNET protocol
    ตัวอย่างคำสั่ง และการใช้งาน telnet 202.202.202.202 :: ขอติดต่อเข้าเครื่อง 202.202.202.202 การไม่กำหนด port คือเข้า port 23 telnet www.school.net.th 21 :: ขอติดต่อผ่าน port 21 ซึ่งเป็น FTP port telnet mail.loxinfo.co.th 25 :: ตรวจ smtp ว่าตอบสนองกลับมา หรือไม่ telnet class.yonok.ac.th 110 :: ทดสอบ pop service ของ windows server 2003
    Microsoft Windows POP3 Service Version 1.0 ready.
    USER aa@class.yonok.ac.th
    +OK
    PASS xxxxxxx
    +OK User successfully logged on telnet 202.29.78.13 80 :: ให้พิมพ์คำสั่ง GET แม้มองไม่เห็นหลังกดปุ่ม enter (ใช้ทดสอบการตอบสนองของ server)
    GET /index.html
    <frameset>
    <frame src=index.php>
    </frameset>
    Connection to host lost.
C:\>
100 : Continue 101 : Switching Protocols 200 : OK 201 : Created 202 : Accepted 203 : Non-Authoritative Information 204 : No Content 205 : Reset Content 206 : Partial Content 300 : Multiple Choices 301 : Moved Permanently 302 : Moved Temporarily 303 : See Other 304 : Not Modified 305 : Use Proxy 400 : Bad Request 401 : Unauthorized 402 : Payment Required 403 : Forbidden
404 : Not Found 405 : Method Not Allowed 406 : Not Acceptable 407 : Proxy Authentication Required 408 : Request Time-out 409 : Conflict 410 : Gone 411 : Length Required 412 : Precondition Failed 413 : Request Entity Too Large 414 : Request-URI Too Large 415 : Unsupported Media Type 500 : Internal Server Error 501 : Not Implemented 502 : Bad Gateway 503 : Service Unavailable 504 : Gateway Time-out 505 : HTTP Version not supported

2.1 คำสั่ง df
: แสดงการเนื้อที่ใช้งานทั้งหมดของ Harddisk ว่าเหลือเท่าใด
: report filesystem disk space usage
ช่วย ให้ผู้ดูแลระบบรู้ว่าตอนนี้เนื้อที่ใน 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 โดยละเอียด
: estimate file space usage
ช่วย ให้ผู้ดูแลระบบรู้ว่า directory ใด ใช้เนื้อที่ใด หรือใช้ดูรวม ๆ ว่า ผู้ใช้แต่ละคนใช้เนื้อที่เก็บข้อมูลกันเท่าใด เพราะผู้ใช้ปกติจะใช้กันไม่เยอะ แต่ถ้าตรวจสอบแล้วเยอะผิดปกติ ก็จะเข้าไปดูว่า เยอะเพราะอะไร จะได้แก้ไขได้
    ตัวอย่างคำสั่ง และการใช้งาน du :: เพื่อแสดงรายชื่อ directory และเนื้อที่ที่ใช้ไป du -all :: เพื่อแสดงโดยละเอียดว่าแต่ละแฟ้มมีขนาดเท่าใด ใน directory ปัจจุบัน du | sort -g :: แสดงการใช้พื้นที่ของแต่ละ directory พร้อม sort จากน้อยไปมาก มีหน่วยเป็น Kb du -b :: แสดงหน่วยเป็น byte ของแต่ละ directory

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

2.4 คำสั่ง kill
: เมื่อทราบว่า process ใดที่มีปัญหา ก็จะเห็นเลขประจำ process คำสั่ง kill จะสามารถ process ออกจากระบบได้
: terminate a 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 รุ่นใหม่ ลองใน Fedora พบว่าใช้ได้ครับ)

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 ตัวหนึ
คำสำคัญ (keywords): คำสั่ง linux server

คำสั่ง linux พื้นฐานที่ต้องใช้

,
1. ls ใช้ list ดูว่ามีไฟล์และ directory ใดบ้าง ( แต่ผมชอบใช้ ll มากกว่า )
ตัวอย่างการใช้ #ls -lah
ความหมายคือแสดงไฟล์ทั้งหมดใน directory นี้แบบมีรายละเอียดและอ่านง่าย
2. pwd ใช้ดูว่าขณะนี้อยู่ใน directory ใด
ตัวอย่างการใช้ #pwd
3. cd เปลี่ยนไปยัง directory ที่ต้องการ
ตัวอย่างการใช้ #cd root
ความหมายคือเข้าไป directory ที่ชื่อ root
4. mv ใช้ย้ายและเปลี่ยนชื่อไฟล์และ directory
ตัวอย่างการใช้ #mv name1.log name2.log
ความหมายคือเปลี่ยนชื่อไฟล์ name1.log เป็น name2.log
5. mkdir ใช้สร้าง directory
ตัวอย่างการใช้ #mkdir name1
ความหมายคือให้สร้าง directory ชื่อ name1 ใน directory ปัจจุบัน
6. rm ใช้ลบไฟล์และ directory
ตัวอย่างการใช้ #rm name1.log
ความหมายคือให้ลบไฟล์ name1.log ใน directory ปัจจุบัน
7. ps ใช้ดู process ที่กำลัง run อยู่
ตัวอย่างการใช้ #ps -ef
ความหมายคือให้แสดง process ที่ run อยู่ พร้อมทั้งรายละเอียด
8. top ใช้ดู status ของ cpu , process , ram
ตัวอย่างการใช้ #top
9. cat ใช้ print ข้อมูลของไฟล์ออกมาดู
ตัวอย่างการใช้ #cat name1.log
ความหมายคือให้แสดงข้อมูลในไฟล์ name1.log ออกมา
10. touch ใช้สร้างไฟล์ใหม่
ตัวอย่างการใช้ #touch name2.log
ความหมายคือให้สร้างไฟล์ใหม่ชื่อ name2.log

คำสั่ง Linux พื้นฐานสำหรับ Admin มือใหม่

,
ในความรู้สึกส่วนตัวผมแล้วนะครับสำหรับ คำสั่งลีนุกซ์นี้ถ้าใครที่เคยใช้ DOS มาก่อนก็ค่อนข้างจะได้เปรียบอยู่
พอ สมควรครับ แต่ถ้าใครที่เกิดไม่ทัน DOS ก็ไม่ต้องตกใจนะครับ เหอ ๆ มันไม่ยากเกินความสามารถเราหรอกนะครับ วันนี้ก็ได้นำคำสั่งที่คิดว่าใช้เป็นประจำทุกวันมาฝากครับ แล้วยังไงผมจะค่อยๆเพิ่มเข้ามาเรื่อยๆนะครับ
    uname   การแสดงรายละเอียดของเครื่อง
    pwd   แสดงตำแหน่งปัจจุบัน
    ls   แสดงรายชื่อไฟล์ ไดเร็คทอรี่ ในรูปแบบต่างๆ
    cd   คือการ access เข้าไปยังไดเร็คทอรี่
    cd ..    การถอยออกจากไดเร็คทอรี่ที่อยู่ปัจจุบัน หนึ่งไดเร็คทอรี่
    tty   การแสดงหน้าจอที่กำลังใช้งานอยู่
    whoami   แสดงว่าตัวเองเป็น user อะไร
    cp   การสำเนาไฟล์
    mv   การย้ายไฟล์
    mkdir   การสร้างไดเร็คทอรี่
    touch   การสร้างไฟล์
    rm   การลบไฟล์
    rmdir   การลบไดเร็คทอรี่
    history   การแสดงคำสั่งที่เราได้ใช้ไปแล้ว
    man   เป็นการขอตัวช่วยหรือเป็นการดูเอกสารของคำสั่งนั้นๆ
    reboot   การ restart เครื่อง
    init 0    การปิดเครื่อง
    date   การแสดงวัน
    cal   การแสดงปฏิทิน
    finger   การแสดงรายชื่อ user ที่กำลังอยู่ในระบบขณะนี้
    exit   การออกจาก shell ปัจจุบัน
    fdisk   การจัดการเกี่ยวกับ partition
    cat   เป็นการดูเนื้อหาของไฟล์ที่ต้องการเช่น cat /etc/passwd
    find   เป็นการค้นหาไฟล์
    grep   เป็นคำสั่งในการหาข้อความในบรรทัด
    gzip   เป็นการลดขนาดไฟล์
    gunzip   เป็นการยกเลิกการลดขนาดไฟล์
    chmod   เป็นการกำหนดค่าที่เซตใน Owner-Group-Other
    chown   เป็นการเปลี่ยนมือเจ้าของ
    chgrp   เป็นการเปลี่ยนกลุ่ม
    mount   เป็นคำสั่งที่เมาท์อุปกรณ์ หรือพาร์ติชั่น โดยมีรูปแบบดังนี้ mount options device directory
    umount   เป็นการยกเลิกการเมาท์
    fsck   เป็นการตรวจสอบไฟล์ หรือย่อจาก File System Checking
    df   เป็นคำสั่งที่ดูเนื้อที่ว่างบนระบบไฟล์ที่เมาท์
    du   เป็นการดูเนื้อที่ว่างบนไดเรคทรอรี่ที่ใช้อยู่
    ps   แสดงงานที่เปิดอยู่ หรือกระบวนการที่ทำงาน
    kill   เป็นคำสั่งที่ยกเลิกการทำงานของกระบวนการ
    logout   เป็นคำสั่งที่ออกจากระบบ ใช้ได้ต่อเมื่ออยู่ใน Shell
    free   เป็นการแสดงสถานะของเมมโมรี่ และเนื้อที่ว่างบนเมมโมรี่ ทั้งกายภาพ ที่ใช้ ใน swap, และบัฟเฟอร์
    mke2fs   เป็นคำสั่งฟอร์แมตดิสก์พร้อมใส่ระบบไฟล์ไปด้วย
    lpr   เป็นการส่งงานพิมพ์จากเครื่องลูกข่าย
    top   เป็นคำสั่ง Monitor System

คำสั่ง Linux พื้นฐาน

,
แบบอธิบายย่อๆ แต่สำคัญสำหรับมือใหม่อย่างผม ถ้าเน้นใช้คำสั่งเฉพาะจริงๆ ก็ต้องค้นหาเพิ่มเติมต่อปาย…
uname การแสดงรายละเอียดของเครื่อง
pwd แสดงตำแหน่งปัจจุบัน
ls แสดงรายชื่อไฟล์ ไดเร็คทอรี่ ในรูปแบบต่างๆ
cd คือการ access เข้าไปยังไดเร็คทอรี่
cd .. การถอยออกจากไดเร็คทอรี่ที่อยู่ปัจจุบัน หนึ่งไดเร็คทอรี่
tty การแสดงหน้าจอที่กำลังใช้งานอยู่
whoami แสดงว่าตัวเองเป็น user อะไร
cp การสำเนาไฟล์
mv การย้ายไฟล์
mkdir การสร้างไดเร็คทอรี่
touch การสร้างไฟล์
rm การลบไฟล์
rmdir การลบไดเร็คทอรี่
history การแสดงคำสั่งที่เราได้ใช้ไปแล้ว
man เป็นการขอตัวช่วยหรือเป็นการดูเอกสารของคำสั่งนั้นๆ
reboot การ restart เครื่อง
init 0 การปิดเครื่อง
date การแสดงวัน
cal การแสดงปฏิทิน
finger การแสดงรายชื่อ user ที่กำลังอยู่ในระบบขณะนี้
exit การออกจาก shell ปัจจุบัน
fdisk การจัดการเกี่ยวกับ partition
cat เป็นการดูเนื้อหาของไฟล์ที่ต้องการเช่น cat /etc/passwd
find เป็นการค้นหาไฟล์
grep เป็นคำสั่งในการหาข้อความในบรรทัด
gzip เป็นการลดขนาดไฟล์
gunzip เป็นการยกเลิกการลดขนาดไฟล์
chmod เป็นการกำหนดค่าที่เซตใน Owner-Group-Other
chown เป็นการเปลี่ยนมือเจ้าของ
chgrp เป็นการเปลี่ยนกลุ่ม
mount เป็นคำสั่งที่เมาท์อุปกรณ์ หรือพาร์ติชั่น โดยมีรูปแบบดังนี้ mount options device directory
umount เป็นการยกเลิกการเมาท์
fsck เป็นการตรวจสอบไฟล์ หรือย่อจาก File System Checking
df เป็นคำสั่งที่ดูเนื้อที่ว่างบนระบบไฟล์ที่เมาท์
du เป็นการดูเนื้อที่ว่างบนไดเรคทรอรี่ที่ใช้อยู่
ps แสดงงานที่เปิดอยู่ หรือกระบวนการที่ทำงาน
kill เป็นคำสั่งที่ยกเลิกการทำงานของกระบวนการ
logout เป็นคำสั่งที่ออกจากระบบ ใช้ได้ต่อเมื่ออยู่ใน Shell
free เป็นการแสดงสถานะของเมมโมรี่ และเนื้อที่ว่างบนเมมโมรี่ ทั้งกายภาพ ที่ใช้ ใน swap, และบัฟเฟอร์
mke2fs เป็นคำสั่งฟอร์แมตดิสก์พร้อมใส่ระบบไฟล์ไปด้วย
lpr เป็นการส่งงานพิมพ์จากเครื่องลูกข่าย
top เป็นคำสั่ง Monitor System

Tuesday, November 22, 2011

คำสั่ง Linux เบื้องต้น [ Basic Linux Command ]

,
หลังจากที่เราได้เรียนรู้ และ รู้จักลีนุกซ์ กันไปซักพักแล้ว  เรามีความจำเป็นที่จะต้องศึกษาคำสั่งต่างๆ ของ ลีนุกซ์ เพื่อให้มีความคล่องตัวในการทำงาน นะครับ คำสั่งที่ยกมาทั้งหลายนี้ เป็น คำสั่ง ลีนุกซ์ ที่ได้ใช้ค่อนข้างบ่อย และเป็น พื้นฐาน ในการที่จะทำงานต่างๆ เลยทีเดียว … เอาล่ะ เรามาเริ่มต้นกันเลยดีกว่าครับ

คำสั่ง ls (list)
ใช้ในการดูข้อมูลในไดเรคเทอรี
รูปแบบการใช้งาน
ls -l => ดูข้อมูลในไดเรคเทอรีแบบละเอียด
ls -a => ดูข้อมูลในไดเรคเทอรีรวมทั้งไฟล์ที่มีการซ่อนไว้ด้วย
ตัวอย่างการใช้งาน
$  ls
Desktop
$ ls   /home
cp lost+found
$ ls   -l
total 4
drwxr-xr-x 4 cp cp 4096 May 15 21:56 Desktop
$ ls   -a
. .beagle .gconf .gstreamer-0.10 .nautilus
.. Desktop .gconfd .gtkrc-1.2-gnome2 .redhat
.bash_logout .dmrc .gnome .ICEauthority .Trash
คำสั่ง man (Manual)
ใช้สำหรับดูวิธีการใช้งานคำสั่งต่างๆในการใช้งาน เราจะพิมพ์ man แล้วตามด้วยคำสั่งที่ต้องการดูรายละเอียดเพิ่มเติม ซึ่งจะมีหน้าต่างขึ้นมาแสดงขึ้นมา เมื่อจะออกจากคำสั่ง man ให้กดปุ่ม q
ตัวอย่างการใช้งาน
$ man   ls
LS(1) User Commands LS(1)
NAME
ls – list directory contents
SYNOPSIS
ls [OPTION]… [FILE]…
DESCRIPTION
List information about the FILEs (the current directory by default). Sort
คำสั่ง mkdir (Make Directory)
ใช้ในการสร้างไดเรคเทอรี
ตัวอย่างการใช้งาน
$ mkdir   linux-command
$ ls
Desktop   linux-command
คำสั่ง cd (Change Directory)
ใช้ในการเปลี่ยนไดเรคเทอรีที่ทำงาน
ตัวอย่างการใช้งาน
$ cd   linux-command
แบบทดสอบ
ให้สร้างไดเรคเทอรีชื่อว่า  backups  ภายใต้ไดเรคเทอรี linux-command
ไดเรคเทอรี . และ ..
จากที่ได้ใช้คำสั่ง ls -a จะเห็นว่ามีไดเรคเทอรี . และ .. ขึ้นมาด้วย ซึ่งทั้งสองไดเรคเทอรี มีความสำคัญดังนี้ (.) เป็นไดเรคเทอรีปัจจุบัน การใช้คำสั่ง cd . จะหมายถึงการไปยังไดเรคเทอรีปัจจุบัน(..) เป็นไดเรคเทอรีที่อยู่สูงกว่าไดเรคเทอรีปัจจุบัน (Parent Directory) การใช้คำสั่ง cd .. จะหมายถึง การไปยังไดเรคเทอรีที่อยู่สูงกว่าไดเรคเทอรีปัจจุบัน
คำสั่ง pwd (Print Working Directory)
ใช้ในการแสดงพาธที่อยู่ ณ ปัจจุบันตัวอย่างการใช้งาน
$ pwd
/home/cp
~ ( Home Directory )
ใช้ในการอ้างอิง Home Directory แทนพาธเต็มตัวอย่างการใช้งาน
$ cd   ~
คำสั่ง cp ( Copy )
ใช้ในการคัดลอกไฟล์รูปแบบคำสั่งcp file1 file2ตัวอย่างการใช้งาน
$ cd ~/linux-command
$ cp /etc/services .
แบบทดสอบ
ให้คัดลอกไฟล์ services ไปเป็นไฟล์สำรองชื่อ services-org

คำสั่ง mv ( Move )
ใช้ในการย้ายที่อยู่ (Move) หรือเปลี่ยนชื่อ (Rename)
ไฟล์หรือไดเรคเทอรี รูปแบบการใช้งาน
mv     ต้นทาง      ปลายทาง
ตัวอย่างการใช้งาน
$ mv   services-org   backups
คำสั่ง rm (Remove) ใช้ในการลบไฟล์ , rmdir (Remove Directory)
ใช้ในการลบไดเรคเทอรีการ ใช้งานคำสั่ง rm และ rmdir จะคล้ายๆ กัน ซึ่ง rmdir จะไม่สามารถลบไดเรคเทอรี ที่มีข้อมูลอยู่ข้างในได้ ต้องใช้คำสั่ง rm -r แทน ถ้าต้องการลบข้อมูลข้างในด้วยตัวอย่างการใช้งาน
$ cd    ~/linux-command
$ cp    services    services.tmp
$ ls
backups services services.tmp
$ rm services.tmp
$ ls
backups services
คำสั่ง cat (Concatenate)
ใช้สำหรับดูข้อมูลในไฟล์ตัวอย่างการใช้งาน
$ cd ~/linux-command
$ cat services


iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
# Local services
คำสั่ง less
ใช้สำหรับดูข้อมูลในไฟล์ทีละหน้าจอคำ สั่ง less จะใช้สำหรับดูข้อมูลในไฟล์ทีละหน้าจอ สามารถใช้ปุ่ม space bar สำหรับการดูหน้าถัดไป และสามารถเลื่อนลูกศรขึ้น-ลง ได้ ถ้าต้องการออกจากหน้าจอของคำสั่ง less ให้กดปุ่ม qตัวอย่างการใช้งาน
$ cd ~/linux-command
$ less services
# /etc/services:
# $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $
#
# Network services, Internet style

คำสั่ง tail
ใช้สำหรับดูข้อมูล ที่บรรทัดล่างสุดของไฟล์
รูปแบบการใช้งาน
tail   -n   number-of-line   filename => ดูข้อมูลที่บรรทัดล่างสุดของไฟล์แบบระบุจำนวนบรรทัด
tail -f filename => ดูข้อมูลของไฟล์นั้นๆ แบบเรียลไทม์
ตัวอย่างการใช้งาน
$ cd   ~/linux-command
$ tail services
nimspooler 48001/udp # Nimbus Spooler
nimhub 48002/tcp # Nimbus Hub
nimhub 48002/udp # Nimbus Hub
nimgtw 48003/tcp # Nimbus Gateway
nimgtw 48003/udp # Nimbus Gateway
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
# Local services
คำสั่ง grep
ใช้ในการค้นหาข้อความในไฟล์
รูปแบบการใช้งาน
grep   'keyword'   filename
grep   -i   'keyword'   filename => ค้นหาแบบไม่สนใจตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ (Non-Case Sensitive)
ตัวอย่างการใช้งาน
$ cd ~/linux-command
$ grep ssh services
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
sshell 614/tcp # SSLshell
sshell 614/udp # SSLshell
sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
sdo-ssh 3897/udp # Simple Distributed Objects over SSH
ssh-mgmt 17235/tcp # SSH Tectia Manager
ssh-mgmt 17235/udp # SSH Tectia Manager
การเปลี่ยนเส้นทางการแสดงผลของคำสั่ง (Redirection)
โดย ปกติแล้ว คำสั่งลินุกซ์หลายคำสั่ง จะให้ผลลัพธ์ของการใช้คำสั่งออกทางหน้าจอคอมพิวเตอร์ หรือที่เรียกกันว่า standard output และโดยปกติการรับข้อมูลก็จะมาจากการพิมพ์ผ่านแป้นคีย์บอร์ด หรือเรียกว่า standard input แต่บ่อยครั้งที่ผู้ดูแลระบบต้องการให้ผลลัพธ์ของการใช้คำสั่ง ไปเก็บไว้ที่ไฟล์บ้าง หรือให้ส่งเมลล์บ้าง หรือถ้าเป็นส่วนของการรับข้อมูล ก็สามารถเปลี่ยนจากการรับจากแป้นคีย์บอร์ด มาเป็นรับจากไฟล์บ้าง ซึ่งกระบวนการเหล่านี้เรียกว่า Redirection
การเปลี่ยนเส้นทางที่ฝั่งแสดงผล ( Output )
สัญลักษ์ที่ใช้แทนการส่งออกข้อมูลคือ >ตัวอย่างการใช้งานคำ สั่ง cat โดยปกติแล้ว จะแสดงข้อมูลในไฟล์ แล้วแสดงออกมาทางจอภาพ แต่ในบางครั้ง เราต้องการให้คำสั่ง cat เขียนข้อมูลลงบนไฟล์ ตัวอย่างเช่น สร้างไฟล์ชื่อว่า faculties ไว้เก็บชื่อคณะต่างๆ เมื่อใส่รายชื่อเสร็จแล้ว ให้กดปุ่ม ^d (Ctrl + d) เพื่อบันทึกและออกจากการเขียนไฟล์
$ cat   >   faculties
engineering
science
technology
กด ( Ctrl + d ) เพื่อบันทึกและออกจากการเขียนไฟล์
ถ้าหากต้องการเพิ่มข้อมูลลงในไฟล์เดิม โดยที่ข้อมูลไม่หายไป (Append) ให้เปลี่ยนเส้นทางจาก  > ไปเป็น  >> เพื่อเป็นการระบุว่า จะทำการเขียนไฟล์ต่อจากเดิม ดังนี้
$ cat   >>   faculties
management
science
กด (Ctrl + d) เพื่อบันทึก และออกจากการเขียนไฟล์
การเปลี่ยนเส้นทางที่ฝั่งรับข้อมูล (Input)
สัญลักษ์ที่ใช้แทนการรับข้อมูลคือ <ตัวอย่างการใช้งานการเรียงข้อมูลในไฟล์ใหม่ ด้วยใช้คำสั่ง sort โดยเรานำไฟล์ที่ยังไม่มีการจัดเรียง มาเป็นอินพุต (input) ของคำสั่ง sort ดังนี้
$ cat   >>  number
2
3
9
7
4
กด ( Ctrl + d ) เพื่อบันทึกและออกจากการเขียนไฟล์
$ sort  <  number
2
3
4
7
9
ไปป์ (Pipe)
เป็น การเชื่อมต่อกันระหว่าง input กับ output โดย output ของคำสั่งหนึ่ง จะเป็น input ของอีกคำสั่งหนึ่ง จะใช้สัญลักษ์เป็น | (Vertical Bar)ตัวอย่างการใช้งานตัวอย่าง นี้เป็นการหาข้อความ ftp ที่อยู่ในไฟล์ services แต่เนื่องจากว่า มีข้อมูลอยู่เป็นจำนวนมาก ทำให้ไม่สามารถดูได้ทั้งหมดในครั้งเดียว จึงต้องมีการสร้างไฟล์ขึ้นมาชื่อว่า temp.txt เพื่อใช้ในการเก็บผลลัพธ์ จากนั้นจึงใช้คำสั่ง less เพื่อไปอ่านข้อมูลจากไฟล์ temp.txt จึงจะได้ผลลัพธ์ที่ต้องการ
$ grep   ftp   /etc/services   >   temp.txt
$ less   temp.txt
ถ้า มีการใช้ไปป์ (Pipe) จะทำให้ไม่จำเป็นต้องมีไฟล์ temp.txt เราสามารถเชื่อมผลลัพธ์ของคำสั่ง grep ftp services ให้ไปเป็นอินพุตของคำสั่ง less ได้ทันที ดังนี้
$ grep   ftp   /etc/services   |   less
คำสั่ง df
ใช้ในการตรวจดูการใช้พื้นที่ของฮาร์ดดิสก์ตัวอย่างการใช้งาน
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 5952284 1954800 3690244 35% /
/dev/sda1 124427 10175 107828 9% /boot
tmpfs 257580 0 257580 0% /dev/shm
/dev/sda6 30555364 180716 28797472 1% /home
/dev/sda3 2972268 116068 2702780 5% /var
คำสั่ง du
ตรวจดูการใช้พื้นท์ของไฟล์และไดเรคเทอรีตัวอย่างการใช้งาน
$ du -s *
104 Desktop
740 linux-command
คำสั่ง find
ใช้ในการค้นหาไฟล์หรือไดเรคเทอรีตัวอย่างการใช้งานค้นหาไฟล์หรือไดเรคเทอรี ที่ขึ้นต้นด้วยคำว่า ser โดยเริ่มค้นหาจากไดเรคเทอรีปัจจุบัน ( . )
$ cd    ~/linux-command
$ find . -name "ser*" -print
./backups/services-org
./services
เท่านี้ก่อนก็แล้วกันครับ หวังว่าทุกท่าน คงจะได้รับประโยชน์จากการใช้คำสั่ง ลินุกซ์ ในการทำงาน นะครับ โชคดีครับ

เทคนิคการนับจำนวนคนที่กำลังออนไลน์ภายในเว็บไซต์ จากการนับ Session ด้วย php

,
เทคนิคนี้เป็นการตรวจสอบจำนวนคนที่กำลังออนไลน์อยู่ในเว็บของเรา เป็นวิธีที่ง่าย หลักการคือ นับจำนวน ไฟล์ที่อยู่ในโฟลเดอร์ /tmp ของระบบปฏิบัติการ (เฉพาะลินุกซ์เท่านั้น วินโดวส์ไม่เกี่ยว)

เขียนสคริปต์ดังนี้ และเก็บไว้บนเซิรฟเวอร์ บันทึกไฟล์ชื่อ /{www_root}/temp/online.php

<?php
$filename = glob(“/tmp/sess*”);
echo “จำนวนคนออนไลน์ “, count($filename);
?>


อธิบายโค๊ด



<?php คำสั่งเปิดสคริปต์ php
$filename คือชื่อตัวแปรสำหรับเก็บรายชื่อไฟล์
glob() เป็นคำสั่งในการอ่านไฟล์ ตัวอย่างนี้อ่านไฟล์ /tmp/sess* ชื่อไฟล์ขึ้นต้นด้วย sess หมายถึงจำนวน session ที่กำลังเปิดขณะนั้น
echo คือ คำสั่งแสดงข้อความบนจอภาพ
?> คำสั่งปิดสคริปต์ php




ผลลัพธ์



คำสั่งเกี่ยวข้อง : glob , php , session , web programming

เทคนิคการใช้ netstat นับจำนวน connection ของแต่ละ IP ที่เชื่อมต่อกับเซิร์ฟเวอร์

,
เทคนิคการใช้ netstat นับจำนวน connection ของแต่ละ IP ที่เชื่อมต่อกับเซิร์ฟเวอร์

เทคนิคนี้เป็นการนับจำนวน connection ที่เกิดขึ้นของแต่ละ IP ที่กำลังเชื่อมต่อกับเครื่องเซิร์ฟเวอร์ โดยปกติไม่ควรเกิน 10-20 ครั้งต่อ 1 IP ถ้าเกินแสดงว่าเซิร์ฟเวอร์ของเราอาจกำลังถูกคนอื่นเขามาโจมตี หรืออาจมีการดูดหน้าเว็บของเราไปเป็นจำนวนมาก เราอาจจะบล็อก IP นั้นไปได้

#netstat -ntu | grep ESTABLISHED | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr

ผลลัพธ์


คำสั่งเกี่ยวข้อง : netstat -u,netstat -ban,netstat -tulpn,netstat -g,netstat -ao,netstat -k,netstat -d,netstat -f,netstat -m,netstat -vb,netstat -t,netstat -na,netstat -ano,netstat -s,netstat -i,netstat -b,netstat -r,netstat -in,netstat -a -o,netstat -a -b,netstat -a -n,netstat -n -a,netstat -a -n -o,netstat commands,netstat command,command netstat,netstat -a command,netstat linux,linux netstat,netstat in linux,netstat on linux,netstat for linux,linux netstat -a,window netstat,win netstat,netstat ports,netstat windows,windows netstat,netstat for windows,netstat in windows,netstat -a windows,x-netstat,netstat x,netstat port,port netstat,netstat connections,ip netstat,netstat ip,x-netstat professional

เทคนิคการนับจำนวนไฟล์ใน linux ด้วยคำสั่ง ls และ wc

,
เทคนิคการนับจำนวนไฟล์ใน linux ด้วยคำสั่ง ls และ wc

#ls -al | wc

ตัวอย่างผลลัพธ์


คำสั่ง ls เป็นการแสดงรายชื่อไฟล์
-al เป็นการแสดงทุกไฟล์
| เรียกว่า pipe เป็นการส่งผลลัพธ์ออกมา
wc เป็นคำสั่ง word count
-l คือ นับ line (บรรทัด)

คำสั่งเกี่ยวข้อง : linux ls -ld,linux ls -ltr,linux ls -a,linux ls commands,linux ls command,linux ls -l command,linux ls by date,linux ls date,linux ls directories,linux ls size,linux ls sort,linux ls colors,linux ls options,linux ls directory,linux ls color,linux ls man,linux ls sort by date,linux ls output,linux ls full path,linux ls hidden,linux ls path,linux ls directories only,linux ls only directories,linux ls recursive,linux ls file size,linux ls permissions,linux ls command options,linux ls page by page,linux ls page,linux ls sort by size,linux ls sort size,linux ls format,linux ls count,linux ls examples,linux ls source,linux ls tree,linux ls order by date,linux ls wildcard,linux ls files only,linux ls source code,linux ls more,linux ls count files,linux ls help,linux ls subdirectories,linux ls filter,linux ls pause,linux ls command output,linux ls number of files,linux ls command

เทคนิคการตรวจสอบจำนวนการเชื่อมต่อกับเซอร์เวอร์ของเราในขณะนั้น ๆ บน Linux

,
คำสั่ง netstat เป็นการตรวจสอบการเชื่อมต่อกับเซอร์เวอร์ของเราในขณะนั้น ๆ ว่ามีจำนวนเท่าไร มาจากไอพีอะไร

ตัวอย่างการใช้งาน
#netstat -ntu | grep SYN_RECV | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr

ผลลัพธ์

netstat

คำสำคัญ : netstat command,netstat windows,netstat linux,linux netstat,netstat port,netstat close_wait,man netstat,netstat live,windows netstat,netstat command in windows,netstat download,x-netstat,cmd netstat,netstat commands,netstat listening ports,netstat unix,netstat ip,netstat pid,unix netstat,analogx netstat live,netstat syn_sent,netstat agent,close_wait netstat,netstat udp,syn_sent netstat,netstat tutorial,netstat listening,ip netstat,netstat gui,netstat process,using netstat,netstat x,netstat ubuntu,netstat windows 7,dos netstat,netstat help,netstat ports,command netstat,netstat command in unix,aix netstat,download netstat,netstat port 80,x-netstat professional 5.5,netstat output,netstat man,netstat process id,netstat foreign address,netstat flags,netstat find
 

At Command Linux Copyright © 2012 | Design by I Love Linux