วันศุกร์ที่ 4 มีนาคม พ.ศ. 2559

Command Line : SCP (Linux)

การส่งผ่านหรือการโอนถ่ายข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปอีกเครื่องหนึ่งสามารถทำได้โดยคำสั่ง scp

scp (secure copy) คือ การทำ secure transfer file ระหว่าง local และ remote host หรือระหว่าง remote host 2 เครื่องก็ได้ โดยใช้ secure shell protocol (SSH) พูดง่ายๆว่า เครื่องที่เราจะส่งข้อมูลต้องอยู่วงแลนเดียวกัน

รูปแบบคำสั่ง

scp <File> User@host:directory/<File>

File  คือ ไฟล์ที่เราต้องการส่งไปอื่นเครื่องหนึ่ง
User คือ Userของเครื่องที่เราจะส่งไป (User name Login)
host คือ  Hostname ของเครือง หรือ *IP address ของเครื่องที่เราจะส่งไป 
Directory คือ Path ปลายทาที่เราจะส่ง

 * IP address  ดูจากการใช้คำสั่ง ifconfig

นอกจากนี้เรายังสามารถคัดลอกเป็นโฟล์เดอร์ก็ยังได้เพียงเพียงแค่ใส่ -r หน้า scp
 แบบนี้ scp -r <Folder> User@host:directory 

ยกตัวอย่่าง
scp -r testflow root@192.168.1.50:/root/test/

**หมายเหตุ : หากมีข้อความให้ตอบ <yes/no> ให้พิมพ์ yes นะครับเครื่องจะส่งข้อมูล จะถามเฉพาะครั้งแรกที่โอนไฟล์ในครั้งนั้น

นิพจน์ปรกติ Regular Expressions Part END

[] 
ใช้เขียนแทนอักขระหนึ่งตัวที่อยู่ในขอบเขต ซึ่งระบุไว้ภายในวงเล็บ เช่น "[bcdf]an" มีความหมายว่า ban can dan และ fan
                           ----------------------------------------------------------------------------------------------------
ยัติภังค์ ใช้เขียนภายในวงเล็บเหลี่ยมระหว่างอักขระสองตัว เพื่อบ่งบอกว่าเป็นอักขระหนึ่งตัวที่มีรหัสแอสกีหรือยูนิโคดยู่ในช่วงนั้น เช่น "[a-z]an" มีความหมายว่า aan ban can เรื่อยไปจนถึง zan
                                  ----------------------------------------------------------------------------------------------------
ปรัศนี ใช้บ่งบอกว่ามีนิพจน์ก่อนหน้านี้จำนวน 0 หรือ 1 นิพจน์ (มีนิพจน์หรือไม่มีก็ได้) เช่น "ปร?กติ" มีความหมายว่า ปกติ หรือ ปรกติ
                                 ----------------------------------------------------------------------------------------------------
+
เครื่องหมายบวก ใช้บ่งบอกว่ามีนิพจน์ก่อนหน้านี้จำนวน 1 นิพจน์หรือมากกว่า เช่น "go+gle" มีความหมายว่า gogle google gooogle เป็นต้น แต่ไม่เท่ากับ ggle
                                 ----------------------------------------------------------------------------------------------------

{n}

วงเล็บปีกกาใช้บ่งบอกว่าต้องมีนิพจน์ก่อนหน้านี้จำนวน n นิพจน์ เช่น "go{5}gle" มีความหมายว่า gooooogle เพียงตัวเดียว

{m,n}

วงเล็บปีกกาที่มีจุลภาคข้างใน ใช้บ่งบอกว่าต้องมีนิพจน์ก่อนหน้านี้จำนวน m นิพจน์ถึง n นิพจน์ เช่น "go{2,4}gle" มีความหมายว่า google gooogle และ goooogle หากไม่ระบุตัวเลข n จะหมายถึงต้องมีนิพจน์จำนวนตั้งแต่ m นิพจน์เป็นต้นไป
​                                 ----------------------------------------------------------------------------------------------------
^
เครื่องหมายหมวก ใช้เขียนเป็นตัวแรกสุดของนิพจน์ปรกติ เพื่อบ่งบอกว่านิพจน์ที่ต้องการค้นหาอยู่ต้นบรรทัดหรือต้นสตริงเท่านั้น สามารถใช้คู่กับ $
                                 ----------------------------------------------------------------------------------------------------

$
เครื่องหมายสกุลเงิน ดอลลาร์ ใช้เขียนเป็นตัวท้ายสุดของนิพจน์ปรกติ เพื่อบ่งบอกว่านิพจน์ที่ต้องการค้นหาอยู่ท้ายบรรทัดหรือท้ายสตริงเท่านั้น สามารถใช้คู่กับ ^

นิพจน์ปรกติ ( Regular Expressions) Part1

บทนี้ว่าด้วยเรื่อง  นิพจน์ปรกติ ( Regular Expressions)😒 มาไทยๆเลยวันนี้
ต้องขอบคุณบทความนี้จาก wikipedia ครับ มาเริ่มกันเลยมันคืออะไร

นิพจน์ปรกติ (อังกฤษregular expression สามารถย่อได้เป็น regexp หรือ regex) ในวิทยาการคอมพิวเตอร์ คือ สตริที่อธิบายถึงรูปแบบของสตริงตามโครงสร้างรูปแบบที่กำหนด ในการค้นหาและปรับเปลี่ยนข้อความ ภาษาโปรแกรมหลายภาษายังรองรับการใช้นิพจน์ปรกติสำหรับการจัดการและปรับเปลี่ยนสตริง

❓❓❓ เริ่มต้นคงงงกันหน่อย เริ่มตัวแรกอย่างง่ายน่าจะพอจำได้กันคือ *  เครื่องหมายดอกจันนะครับก็อยู่ในกลุ่ม Regular เช่นกัน

🙋โทษครับผมไม่รู้จักมันคืออะไร และใช้ยังไง
💻 เอาตัว*  เครื่องหมายดอกจันแล้วกันนะครับ หมายถึง ให้เป็นตัวอักษรใดๆก็ได้(ไม่มีอักษรก็นับ) นับตั้งแต่อักษรก่อนหน้านี้ 0คำขึ้นไป เช่น  ถ้าเรามีคำ  Good Gold  Gd  God
        ถ้าเราสนใจแต่ตัวแรกเป็น G และตัวสุดท้ายคือd โดยไม่าสนใจตัวกลาง เราก็สามารถเขียนเป็นรูปแบบ  Go*d
        หมายเหตุ ถ้า * ไปใช้กับการหาคำ จะหมายความว่า การทำซ้าจากตัวหน้า

💻  ตัวจุด (.) คือ อักษรใดๆ 1 ตัว ใช้บนคำ เท่านั้น 🚫ห้ามใช้บนการหาไฟล์   (งงไหมครับ)
ยกตัวอย่างการใช้จุด  
รูปแบบคำสั่ง  findsrt  [คำ] [ไฟล์]


จากรูป การใช้1จุดเพื่อแทนการหา1อักษรระหว่าง G และ d เท่านั้น
ส่วนบรรทัดที่สอง การใช้2จุดเพื่อแทนการหา2อักษรระหว่าง G และ d เท่านั้น

หรืออีกวิธีการใช้จุด(.)และดอกจัน(*)ผสมกันในการหาคำ ในไฟล์ ระหว่าง


👤บางคนอาจจะถามว่า ทำไมไม่ตัดจุดออกละครับ ในเมื่อเราจะเอาทุกคำ


💫ผลออกมาได้มาไม่ตรงกับที่เราคิด💫 เพราว่าดอกจันหมายถึงทำซ้ำบนการหาคำหาใช้เดียวๆหมายถึง
1.ตัดตัวที่อยู่หน้าดอกจันออก เพื่อหาผล  >> Gd  และ God
2.มองหาตัวที่เหมือนกับตัวอักษรหน้าดอกจันมาแทนตัวเอง Good


ส่วนการใช้ดอกจับบน คำสั่งDir ก็ยังเหมือนเดิม เป็นทุกตัวอักษรครับ
💻 ถ้ามีไฟล์ serial number  ที่เราต้องการหาเฉพาะก็ได้   >> dir EADSS*.log หรือ  ต้องการทุกนามสกุล 95521.*