ถ้ามองแค่ Master กับ Slave ก็จะมีแค่นี้นะจ๊ะ
แต่สังเกตว่า IP ของ Master กับ Slave อยู่กันคนละวง จริง ๆ แล้วมันมี Gateway คอยเชื่อมอยู่
ตัวอย่างคำสั่งปกติทั่วไป
เผื่อเพื่อนๆ สนใจลองฝึกเล่นกันดูครับ สำหรับใครที่ใช้ Unix / Linx ไม่คล่อง ฏ็สามารถลองเล่นดูได้ ไม่ยากครับ
- finger (ดูว่ามีใคร online อยู่บ้าง)
- finger mongkon
- finger mongkon chaturapat jutamas
- w (ดูว่าใครทำอะไร)
- w mongkon
- w mongkon chaturapat jutamas
- whoami (who am i ฉันคือใคร)
- write mongkon (ส่งข้อความถึง user ชื่อ mongkon กด ctrl+d เมื่อพิมพ์ข้อความเสร็จ)
- mesg n (ถ้าไม่ต้องการรับข้อความจากคนอื่น สังเกตเวลา finger จะมีดอกจัน อยู่ด้านหลังชื่อ)
- mesg y (ถ้าต้องการรับข้อความจากคนอื่น)
- ifconfig (ดูข้อมูลอุปกรณ์เครือข่าย)
- ifconfig eth0 (ดูข้อมูลของการ์ดแลนใบที่ 0)
- echo hahaha (แสดงข้อความ hahaha)
- ps (ตรวจสอบ process)
- ps x
- ps aux
- top (ตรวจสอบ process แบบ real-time กด q เพื่อออกจากโปรแกรม)
- touch hello.txt (สร้างไฟล์เปล่า ๆ ชื่อ hello.txt)
- hostname (ดูชื่อเครื่อง)
- pwd (print working directory)
- uname (print system information)
- uname -a
- uname -r
- history (ดูคำสั่งที่เราพิมพ์ไปก่อนหน้านี้)
- last (ดูว่ามีใครเคย login เข้ามาใช้งานบ้าง ตอนไหน)
- cat /etc/hosts (แสดงข้อมูลในไฟล์ /etc/hosts ออกทางหน้าจอ)
- ไฟล์อื่น ๆ
- /proc/cpuinfo (ข้อมูล cpu)
- /proc/meminfo (ข้อมูล ram)
- /etc/sysconfig/network (ข้อมูล network)
- /etc/sysconfig/network-scripts/ifcfg-eth0 (ข้อมูลการ์แลนใบที่ 0)
- /etc/redhat-release (เวอร์ชั่นของ os)
- wc /etc/hosts (นับตัวอักษร นับคำ นับบรรทัด ไฟล์ /etc/hosts)
- date (แสดงวันเวลา)
- cal (แสดงปฏิทินเดือนปัจจุบัน)
- cal 1 2000 (เดือนมกราคม ปี ค.ศ. 2000)
- cal 2009 (ทุกเดือน ในปี 2009)
- grep slave02 /etc/hosts (แสดงข้อมูลในไฟล์ /etc/hosts เฉพาะบรรทัดที่มีคำว่า slave02)
- Pipe (เครื่องหมาย " ") เอา Output ของคำสั่งก่อนหน้า (ซ้าย) มาเป็น Input คำสั่งถัดไป (ขวา)
- cat /etc/hosts
- write mongkon (ส่งข้อความไปให้ mongkon โดยข้อความที่ส่งไปคือเนื้อหาของไฟล์ /etc/hosts)
- cat /proc/meminfo
- more (แสดงเนื้อหาในไฟล์ /proc/meminfo คราวละ 1 หน้า กด space ไปหน้าถัดไป กด q ออก)
- ifconfig
- wc (นับคำ <-- ที่เกิดจากคำสั่ง ifconfig)
- cat /etc/hosts
- grep master (แสดงข้อความเฉพาะบรรทัดที่มีคำว่า master จากไฟล์ /etc/hosts)
- cat /etc/hosts
- grep master
- wc (นับคำ <-- เฉพาะบรรทัดที่มีคำว่า master <-- จากไฟล์ /etc/hosts)
Redirect สังเกตทิศทาง
- < ขวาใส่ซ้าย
- > ซ้ายใส่ขวา
- >> ซ้ายต่อท้ายขวา
- ls -alh (แสดงรายชื่อไฟล์ ปกติ ออกทางหน้าจอ)
- ls -alh > list_output.txt (เอารายชื่อไฟล์ เก็บไฟล์ในไฟล์ชื่อ list_output.txt ถ้ามีไฟล์นี้อยู่แล้ว จะเท่ากับลบของเก่าแล้วสร้างใหม่)
- ls -alh >> list_output.txt (เอาไปต่อท้ายไฟล์ list_output.txt ถ้าไม่มีไฟล์นี้อยู่ จะสร้างใหม่ เทคนิคนี้ไว้สำหรับสร้าง log ไฟล์)
- write mongkon < /etc/hosts (ส่งข้อความให้ mongkon โดยข้อความที่ส่งไปคือเนื้อหาของไฟล์ /etc/hosts)
Remote Login & File Transfer
ระหว่าง Master & Slave สำหรับ Server ของเรา
- ssh slave01 (ปกติคือคำสั่ง login ไปทำงานบนเครื่อง slave01)
- ssh slave01 ls -alh (ส่งคำส่ง ls -alh ไปทำงานบน ls -alh ผ่านโปรโตคอล SSH ผลลัพธ์แสดง ณ เครื่องที่เรากำลังใช้งานอยู่)
- ssh slave01 hostname
- ssh slave02 hostname
- ssh slave03 hostname
- ssh slave04 hostname
- scp [ต้นทาง] [ปลายทาง] (คำสั่ง copy ไฟล์จากต้นทางไปปลายทาง)
- scp hello.c slave03: (copy ไฟล์ hello.c ไปยังเครื่อง slave03 เก็บไว้ที่ home dir)
- scp -r work slave03: (copy dir ชื่อ work และทุกอย่างข้างใน ไปยังเครื่อง slave03 เก็บไว้ที่ home)
- scp slave02:twophase.c . (copy ไฟล์ชื่อ twophase.c ที่อยู่บนเครื่อง slave02 มายัง dir ปัจจุบัน บนเครื่องที่กำลังใช้งานอยู่)
- scp -r slave02:mywork . (ทำนองเดียวกัน copy dir ชื่อ mywork จากเครื่อง slave02 มายังเครื่องที่กำลังใช้งานอยู่)
- เครื่องหมาย ` ` ใช้คร่อมคำสั่ง
- ผลลัพธ์ที่ได้คือ string ของผลลัพธ์ที่ได้จากคำสั่งนั้น
- `hostname` (ผลลัพธ์คือ string ชื่อเครื่อง)
- `whoami` (string username)
ตัวอย่างคำสั่ง
- echo hostname value = `hostname`
- ทำงานหลายคำสั่งต่อเนื่องกันใช้เครื่องหมาย ; (semi colon) คั่นระหว่างคำสั่ง เช่น ls; w; finger; hostname (ผลลัพธ์ก็ตามลำดับ)
ssh slave01 hostname; ssh slave02 hostname; ssh slave03 hostname; ssh slave04 hostname
(สังเกตผลลัพธ์)
ทดลองส่งอย่างอื่นไปแทนคำสั่ง hostname ดูบ้าง เช่น
- w
- uptime
- echo hello, this is message from \`hostname\`
Shell Script
เพื่อความสะดวก ได้เตรียมคำสั่ง สำหรับ
- ส่งคำสั่งจาก Master ไปทำงานทุก ๆ Slave
- ส่งไฟล์/ไดเร็กทอรีจาก Master ไปยังทุก ๆ Slave
- cloud-fork [คำสั่ง]
- cloud-copy [ไฟล์หรือไดเร็กทอรี]
ผิดพลาดประการใด แจ้งให้ทราบด้วยนะครับ หวังเป็นอย่างยืฃิ่งว่าน่าจะเป็นประโยชน์กับเพื่อนๆ พี่ๆ น้องๆอยู่บ้าง มีความสุขและสนุกกับการใช้งาน Unix / Linux นะครับ ^^
credit cs.bong.nine
ไม่มีความคิดเห็น:
แสดงความคิดเห็น