ในบทความนี้เราจะขอต่อยอดจากบทความก่อนหน้า ( Command เบื้องต้นสำหรับผู้ดูแล Server (Linux) – Part 1) ซึ่งในบทความนี้ เราได้รวบรวมคำสั่งที่จำเป็นสำหรับผู้ใช้งาน Server (Linuux) ระดับ Admin หรือผู้ที่สนใจ โดยจะเป็นการอธิบายถึงรูปแบบการใช้งานของคำสั่งต่างๆ เพื่อให้ทุกท่านได้นำไปปรับใช้งานกัน

uname

คำสั่งสำหรับใช้ในการแสดงข้อมูลของ Server

– แสดงชื่อระบบปฏิบัติการ

สำหรับออฟชั่นเพิ่มเติม

– แสดงข้อมูลของระบบโดยรวมอย่างละเอียด

– แสดงข้อมูลเวอร์ชั่นของ kernel

hostname

คำสั่งสำหรับใช้ในการแสดงชื่อของระบบโฮสต์ปัจจุบัน

หรือท่านสามารถเปลี่ยนชื่อ Hostname แบบชั่วคราวได้โดยใช้คำสั่ง

dmidecode

คำสั่งสำหรับใช้ในการแสดงข้อมูลอุปกรณ์ต่างๆ ในเครื่อง Server  เช่น ข้อมูล Bios, CPU, Memory เป็นต้น

ตัวอย่างการใช้คำสั่ง ดังนี้

แสดงข้อมูลเวอร์ชั่นของ Bios ที่ใช้งานอยู่

แสดงข้อมูลของ CPU

– แสดงข้อมูลของ Memory

sar

คำสั่งสำหรับแสดงรายงาน หรือตรวจสอบสถานะของระบบ Server เช่น สถิติการใช้งานของ CPU, Memory, Disk และ อุปกรณ์ I/O (Input/Output) ต่างๆ โดยสามารถใช้ข้อมูลในการตรวจสอบสถานะของ server  ย้อนหลัง หรือ เรียลไทม์ได้

ตัวอย่าง ผลลัพธ์จากคำสั่ง sar เพื่อตรวจสอบเปอร์เซ็นการใช้งานของ CPU โดยวัดค่าทุกๆ 15 วินาที จำนวน 3 ครั้ง

สำหรับออฟชั่นเพิ่มเติม

– แสดงรายละเอียดของค่า SWAP SPACE และรายงานสถานะปัจจุบัน

– แสดงข้อมูลการใช้งาน CPU แบบรายวัน สามารถเพิ่มออฟชั่น -f  ตัวอย่างเช่นวันที่ 09/04/2561

– แสดงข้อมูลการใช้งาน Memory สถานะปัจจุบัน

– แสดงจำนวนคิวของทาสก์ที่มีรอการทำงาน, จำนวนทาสก์  และค่าโหลดเฉลี่ยปัจจุบัน การดำเนินการของคำสั่งนี้จะแสดงผลเป็นช่วงเวลา 1 นาที, 5 นาที และ 10 นาที

– แสดงข้อมูลสถิติของเครือข่าย

เมื่อต้องการทราบถึงเครือข่ายที่ใช้งานอยู่ในปัจจุบัน โดยทำการเพิ่ม Keyword หลังออฟชั่น -n

– แสดงรายงานข้อมูลสถิติของเครือข่าย DEV

*** DEV คือ อุปกรณ์เครือข่ายสถิติ เช่น eth0, eth1 เป็นต้น

iostat

คือ คำสั่งสำหรับแสดงรายงาน หรือตรวจสอบสถานะของระบบ Server เช่น สถิติการใช้งานของ CPU, Disk, อุปกรณ์ I/O (input/output) และ NFS

ตัวอย่างผลลัพธ์จากคำสั่ง iostat แสดงข้อมูลเกี่ยวกับการใช้งาน CPU และสถิติของ I/O โดยแยกตาม Partition

ip

คำสั่งสำหรับใช้ตรวจสอบที่อยู่ IP และการเชื่อมต่อ Network รวมถึงจัดการเส้นทาง Routing หรือกำหนดค่าต่างๆ สำหรับ Network

– แสดงค่า IP Address ของระบบ

netstat

คำสั่งสำหรับแสดงข้อมูลสถานะการเชื่อมต่อของ Network

สามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้

คำอธิบายผลลัพธ์ที่ปรากฎของคำสั่ง netstat

Proto : โปรโตคอลที่ใช้งานอยู่เป็น TCP หรือ UDP
– TCP คือ Transparent Control Protocol
– UDP คือ User Datagram Protocol
Local Address : หมายเลข IP หรือชื่อเครื่องของท่าน ตามหลังด้วยพอร์ตที่ใช้งานอยู่
Foreign Address : หมายเลข IP หรือชื่อเครื่องปลายทาง ตามหลังด้วยพอร์ตที่ใช้งานอยู่
State : สถานะต่างๆ
– ESTABLISHED คือ สถานะมีการเชื่อมต่อเรียบร้อยแล้ว โดยที่เครื่องต้นทาง (เครื่องของ Client) ทำการเชื่อมต่อกับเครื่องปลายทางด้วยพอร์ตหมายเลขนั้นๆ เรียบร้อยแล้ว
– LISTEN คือ สถานะรอการเชื่อมต่อ
– TIME_WAIT คือ สถานะกำลังสแกนเครื่องของท่าน หรือกำลังพยายามเชื่อมต่อกับท่าน
– SYN_SENT คือ สถานะปิดการเชื่อมต่อ

สำหรับออฟชั่นเพิ่มเติม

แสดงข้อมูลเป็นแบบหมายเลย IP แทนการแสดงข้อมูลแบบชื่อ Hostname

แสดงการเชื่อมต่อทั้งหมด เช่น IP address หรือ Port การใช้ออฟชั่น -a นั้น ข้อมูลที่ปรากฎจะแสดงเป็นแบบชื่อ Hostname แทนการแสดงเป็นข้อมูล IP address โดยตรง

แสดงการเชื่อมต่อใน Protocol นั้นๆ เช่น TCP, UDP, TCPv6, UDPv6 เป็นต้น

ลักษณะของการใช้งาน ยกตัวอย่างเช่น

– แสดงข้อมูลเฉพาะของ Protocol : TCP หรือหากต้องการให้แสดง Protocol อื่นๆ สามารถเปลี่ยน TCP เป็น Protocol ที่ต้องการได้

แสดงข้อมูลของ Routing Table ของเครื่อง Server

traceroute

คำสั่งสำหรับแสดงเส้นทางของ Network ว่ามีการเชื่อมต่อไป Server ใดบ้าง ก่อนที่จะเดินทางไปถึง Server ปลายทาง ซึ่งผลลัพธ์ที่ปรากฎจะแสดงทั้งหมายเลข IP ปลายทาง รวมถึงระยะเวลาในการประมวลผลในแต่ละช่วงด้วย

สามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้

แสดง IP ของเครื่องที่ถูกเชื่อมต่อทั้งหมด ไปยังเครื่องปลายทาง

free

คำสั่งสำหรับแสดงข้อมูลการใช้งานของ Memory

สามารถเพิ่มออฟชั่น -h ต่อท้ายเพื่อแสดงหน่วยการใช้งาน ซึ่งจะทำให้เข้าใจผลลัพธ์ได้ง่ายยิ่งขึ้น

หรือหากต้องการให้ข้อมูลที่แสดงบนหน้าจอมีหน่วยเป็น Megabytes (MB) หรือ Kilobytes (KB) สามารถเพิ่มออฟชั่น -m

vmstat

คำสั่งสำหรับตรวจสอบประสิทธิภาพของระบบ เช่น Processor, Memory, Paging และ CPU Activity เป็นต้น ซึ่งคำสั่งนี้สามารถใช้เป็นคำสั่งทางเลือกหนึ่งในการ Monitor ของระบบ linux ได้

ตัวอย่างการใช้คำสั่ง เช่น ให้แสดงผลทุกๆ 1 วินาที จำนวน 5 ครั้ง

คำอธิบายผลลัพธ์ที่ปรากฎ

ในส่วนของ Processor
r > 0 คือสถานะในขณะนั้นมีปัญหา เช่น Processor Overload
b > 0 คือสถานะในขณะนั้นเกิดปัญหาจาก I/O เช่น Harddisk ช้าเกินไป

ในส่วนของ CPU
id คือ สถานะของ CPU ในส่วนที่ยังไม่มีการใช้งาน ซึ่งหากมีตัวเลขมากยิ่งดี
wa คือ สถานะรอการเขียนของ I/O ซึ่งหากมีตัวเลขน้อยยิ่งดี

dig

คำสั่งสำหรับแสดงข้อมูลรายละเอียดของโดเมน หรือตรวจสอบค่า DNS ว่าสามารถใช้งานได้หรือไม่

สามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้

– แสดงรายละเอียดค่า DNS ว่ามีการใช้งานอยู่ที่ใด และหมายเลข IP ใด

– แสดงข้อมูลค่า MX Record สำหรับการรับ-ส่งอีเมล์ของ Server โดเมน google.com โดยทำการดึงข้อมูลจาก Server 8.8.8.8

whois

คำสั่งสำหรับแสดงผลและตรวจสอบข้อมูลของผู้ใช้งานโดเมน ซึ่งหากต้องการทราบว่าโดเมนมีการจดบริการไว้กับที่ใด หรือต้องการทราบว่ามีการชี้ค่า Name Server ไปที่ใด

tar

คำสั่งสำหรับใช้ในการบีบอัดไฟล์หรือไดเร็กทอรีให้เป็นไฟล์เดียว โดยที่ทำให้ไฟล์นั้นๆ มีขนาดเล็กลง ซึ่งจะทำให้ย้ายไฟล์ได้สะดวกมากขึ้น

– ทำการบีบอัดไฟล์ชื่อ backuptest.tar โดยการรวมทั้งไดเร็กทอรีชื่อ filename1, filename2 และไฟล์ชื่อ filetest เข้าไว้ด้วยกัน โดยใช้คำสั่ง

หากต้องการแตกไฟล์ ท่านสามารถใช้คำสั่ง

– ทำการบีบอัดไฟล์ชื่อ backuptest.tar.gz โดยการรวมทั้งไดเร็กทอรีชื่อ filename1, filename2 และไฟล์ชื่อ filetest เข้าไว้ด้วยกัน โดยใช้คำสั่ง

หากต้องการแตกไฟล์ ท่านสามารถใช้คำสั่ง

หากท่านต้องการให้แสดงข้อมูลภายในไฟล์ แต่ไม่ต้องการแตกไฟล์ออก สามารถใช้คำสั่ง

gzip

คำสั่งสำหรับบีบอัดข้อมูลไฟล์หรือ การ zip file โดยจะช่วยลดขนาดของไฟล์ลงตามระดับที่กำหนด ข้อมูลของไฟล์ที่ได้จะเป็นนามสกุล .gz

– ทำการ zip ไฟล์ข้อมูลที่ชื่อ filetest1

หากต้องการแตกไฟล์ข้อมูล .gz ท่านสามารถเพิ่มออฟชั่น -d

unzip

คำสั่งสำหรับแตกไฟล์ .zip หากมีการดาวน์โหลดไฟล์จากเว็บไซต์เป็นไฟล์นามสกุล .zip เมื่อต้องการแตกไฟล์ออก สามารถใช้คำสั่ง unzip ตามด้วยชื่อไฟล์

wget

คำสั่งสำหรับดาวน์โหลดไฟล์ ซอสโค้ด,ไฟล์หรือโปรแกรมต่างๆ บนเว็บไซต์ มายัง server โดยสามารถใช้คำสั่ง wget แล้วตามด้วย URL ของไฟล์ที่ต้องการ

– ตัวอย่าง เมื่อจะทำการดาวน์โหลด wordpress เพื่อติดตั้งลงบน Server

หากต้องการดาวน์โหลดไฟล์มาเก็บไว้ ซึ่งชื่อไฟล์ส่วนใหญ่ค่อนข้างยาว หรือต้องการเปลี่ยนชื่อไฟล์ เพื่อให้สะดวกต่อการนำไปใช้งาน ในกรณีนี้สามารถเพิ่มออฟชั่น -O เพื่อเปลี่ยนชื่อไฟล์ที่ต้องการดาวน์โหลดได้ทันที

– ทำการเปลี่ยนชื่อไฟล์จาก latest.zip เป็น wordpress-latest.zip

ข้อควรระวัง สำหรับการใช้งานคำสั่งต่อไปนี้ โปรดใช้งานด้วยความระมัดระวัง และจำเป็นต้องใช้ User ในระดับ root ในการใช้งาน

fdisk

คำสั่งสำหรับใช้ในการบริหารจัดการกับ Disk Partition

แสดงข้อมูล Disk Partition ที่พร้อมใช้งานทั้งหมดบนระบบ Linux โดย Partition จะแสดง ดังตัวอย่างเช่น /dev/vda, /dev/vdb, /dev/vdc เป็นต้น

แสดงข้อมูล Partition ทั้งหมดของ Harddisk โดยการเพิ่มออฟชั่น -l และตามด้วยระบุชื่อ Disk ที่ท่านต้องการ

mount

คำสั่งสำหรับกำหนดช่องทางการเชื่อมต่ออุปกรณ์กับไฟล์ระบบ เพื่อให้ท่านสามารถใช้งานบนระบบได้

หากต้องการให้ไฟล์ระบบที่ชื่อ /dev/vda1  เชื่อมต่อกับอุปกรณ์ที่ชื่อ /disk1 สามารถใช้คำสั่ง

– เมื่อดำเนินการ mount เรียบร้อยแล้ว หากใช้คำสั่ง df -h ผลลัพธ์ที่ปรากฎจะแสดงข้อมูล ดังรูป ซึ่งแสดงว่ามีการ mount เรียบร้อย และสามารถใช้งาน  /dev/vda1 ผ่าน /disk1

umount

คำสั่งสำหรับใช้ในการยกเลิกการ mount

ดำเนินการยกเลิกการเชื่อมต่ออุปกรณ์ /disk1 ด้วยคำสั่ง

หากต้องการจะตรวจสอบให้แน่ใจว่าดำเนินการ umount เสร็จสมบูรณ์แล้วจริงหรือไม่ ให้ใช้คำสั่ง df -h อีกครั้ง ผลลัพธ์ที่แสดงจะไม่พบข้อมูล /disk1 บนหน้าจอ

กรณีที่ยังมีการเรียกใช้งานข้อมูลใดๆ ใน ไดเร็กทอรี /disk1 ระบบจะไม่สามารถ umount การเชื่อมต่ออุปกรณ์ได้

fsck

คำสั่งสำหรับใช้ในการตรวจสอบและซ่อมแซมไฟล์ระบบของ Linux

หากต้องการจะซ่อมแซมไฟล์ระบบที่เสียหาย ให้ดำเนินการ umount Disk ที่ต้องการ fsck ก่อน แล้วจึงจะเริ่มใช้งานคำสั่ง

– แสดงข้อมูลการซ่อมแซมเสร็จสิ้น ดังรูป

สามารถเพิ่มออฟชั่น -y เพื่อให้ระบบดำเนินการแก้ไขความเสียหายที่ตรวจสอบพบโดยอัติโนมัติ

 

ทาง HostPacific หวังว่าวิธีการใช้งานคำสั่งในบทความนี้ จะเป็นประโยชน์สำหรับ Admin หรือผู้ที่สนใจทุกท่าน เพื่อใช้เป็นแนวทางในการประยุกต์ใช้คำสั่งในการปรับประสิทธิภาพและตรวจสอบ Server ต่อไป