6 Linux Utilities ที่คุณ (อาจ) ลืมใช้งานพวกมันไปแล้ว

25-ม.ค.-23

คัมภีร์เทพ IT

คงมีคนไอทีหลายคนที่เคยพบกับความยุ่งยากของ Linux Binary มาก่อน ซึ่งบทความนี้จะมาเจาะลึกลงไปใน /usr/bin และปัดฝุ่นความรู้เกี่ยวกับพวกมันซะใหม่ เราจะสำรวจ Program ใหม่ที่น่าสนใจซึ่งเมื่อมองแวบแรกอาจดูล้าสมัย แต่จริง ๆ แล้วมันยังคงมีประโยชน์อยู่ และนี่ก็คือ 6 Linux Utilities ที่คุณ (อาจ) ลืมใช้งานพวกมันไปแล้ว

1. fold

อันดับแรกเป็น Utility เล็ก ๆ น้อย ๆ ที่จะช่วยให้คุณสามารถตัดบรรทัดที่ถูก Input เข้ามาให้มีความยาวตามที่คุณต้องการได้ โดยความยาวดังกล่าวสามารถกำหนดเป็น Bytes หรือ Spaces ได้ การใช้ fold utility จะทำให้ Files ต่าง ๆ ถูกกำหนดได้อย่างสะดวกและมีความยาวได้ตามที่ต้องการ

สมมติว่า เรามีบรรทัดที่ถูก Input เข้ามา มีความยาว 6 Characters แต่เราต้องการจะจำกัดให้แต่ละบรรทัดมีเพียง 5 Characters และตัดส่วนที่เหลือให้ขึ้นบรรทัดใหม่ และด้วยการใช้คำสั่ง fold จะมีตัวอย่างดังต่อไปนี้:

ผลลัพธ์ที่ได้ จะเป็นดังด้านล่างนี้:

ตอนนี้เราสามารถบังคับให้ Text บางส่วน เป็นไปตามความยาวที่เรากำหนดได้อย่างรวดเร็ว สิ่งนี้มีประโยชน์อย่างมาก ถ้าคุณต้องการแบ่ง Text ที่ค่อนข้างยาว หรือบังคับให้มีบรรทัดของ Code หรือ Configuration Files อื่น ๆ มีความยาวตามที่กำหนด

คุณสามารถดูรายละเอียดเพิ่มเติม เกี่ยวกับการใช้งานคำสั่ง fold ได้ที่ Wiki นี้

2. column

นี่เป็นอีกหนึ่ง Utility ที่มีประโยชน์อย่างยิ่งสำหรับการจัด Format ซึ่ง column utility จะช่วยให้คุณสร้าง Column ใน Text Output และสร้าง Table ทั้งหมดได้จาก Command-Line

มีวิธีอื่น ๆ ในการได้ผลแบบเดียวกันโดยใช้ Utility อย่าง awk แต่ column utility มุ่งไปที่การใช้งานลักษณะนี้โดยเฉพาะ ซึ่งทำให้ง่ายต่อการใช้งานอย่างเหลือเชื่อ และจำ Syntax ได้อย่างไม่ยากเย็น

หากเราต้องการสร้าง Table อย่างง่ายโดยใช้ Input ไม่กี่บรรทัด เราสามารถใช้คำสั่งดังต่อไปนี้:

ผลลัพธ์ของคำสั่งนี้ จะมีลักษณะดังนี้:

อย่างที่คุณเห็น Output จะถูกจัด Format ในรูปแบบของ Column ที่จัดแนวอย่างเป็นระเบียบให้โดยอัตโนมัติ สิ่งนี้จะสร้าง Table ง่าย ๆ ใน Output และจะปรับขนาดตามความยาวของบรรทัดที่ถูก Input เข้ามาแต่ละบรรทัด ให้โดยอัตโนมัติ

หากคุณกำลังทำงานกับชุดของ Data ที่ไม่มีโครงสร้างและมีความยาวประมาณหนึ่งบน Command-Line และคุณต้องการที่จะเขียนแบบแจกแจงสมาชิกอย่างรวดเร็ว Utility นี้จะช่วยให้ชีวิตของคุณง่ายขึ้น

คุณสามารถดูรายละเอียดเพิ่มเติม เกี่ยวกับการใช้งานคำสั่ง column กับ Input รูปแบบต่าง ๆ ได้ที่ man page

3. sg

คุณอาจเคยเคยได้ยินเกี่ยวกับคำสั่ง newgrp มาบ้าง ซึ่งคำสั่งนี้จะใช้งานเกี่ยวกับ Groups แต่ก็ยังมี Utility ที่ง่ายกว่าซึ่งสามารถทำสิ่งเดียวกันได้เช่นกัน ก็คือ sg Utility โดยมันจะช่วยให้คุณสามารถ Execute คำสั่งได้โดยตรงโดยใช้ Permissions ของ Group อื่นตามที่คุณต้องการ คุณไม่จำเป็นต้องทำการเปลี่ยน shell groups ที่มีอยู่ คุณเพียงแค่ต้องระบุ Group และคำสั่ง

หากคุณต้องการจะ Execute คำสั่ง ls จาก admin Group คุณจะต้องทำดังนี้:

สิ่งนี้จะเปลี่ยนคำสั่ง ls ให้ทำงานโดยใช้ Permissions ของ admin Group เมื่อคุณออกจากคำสั่งนี้ คุณจะกลับสู่ Permissions ของ Group ปกติที่คุณมี ก่อนที่จะทำการ Execute

คำสั่ง sg มีประโยชน์ในการทดสอบ Permissions ของ Group ใหม่ หรือสลับเพื่อไป Run Program จาก Group อื่นได้อย่างรวดเร็ว

คุณสามารถดูข้อมูลการใช้งานเพิ่มเติมได้จากที่ man page

4. xxd

สำหรับ xxd Utility เป็นหนึ่งในวิธีต่าง ๆ สำหรับการดำเนินการกับ Hexadecimal Dumps บน Linux อันที่จริงก็มี Utilities มากมายที่มีการทำงานคล้าย ๆ กับสิ่งนี้ แต่ xxd Program นั้นมีความแตกต่างออกไปเล็กน้อย ข้อได้เปรียบที่เพิ่มเติมเข้ามาคือ คุณสามารถ Dump และ Restore Hex ได้โดยใช้ Utility นี้ นอกจากนี้ยังมี Flags ที่สามารถกำหนดค่าได้มากมาย และคุณสามารถทำการ Patches บน Binary Files ได้เช่นกัน

สมมติว่า เราต้องการทำ Hex Dump ของ File ต่อไปนี้ที่ชื่อ foo:

สิ่งที่เราต้องทำคือ ป้อนข้อมูลและคำสั่ง xxd จะ Encode File เป็น stdout ให้โดยอัตโนมัติ (เป็น Feature ที่มีประโยชน์มาก):

คุณยังสามารถ Output ไปยัง Dump File ได้โดยตรงโดยส่ง Filename Parameter เพิ่มเติม:

สิ่งนี้จะทำการส่ง Hex Dump ไปยัง File ที่ชื่อ bar

ดูรายละเอียดเพิ่มเติมเกี่ยวกับ xxd ได้ที่นี่

5. pwdx

ส่วน Utility เล็ก ๆ ที่มีประโยชน์ตัวนี้ มาจากตระกูลเดียวกันกับ ps Utility ที่พวกเราหลายคนทั้งรู้จักและชื่นชอบอยู่แล้ว pwdx Utility จะช่วยให้คุณได้รับ Working Directory ของ Process ที่กำลัง Run อยู่ สิ่งที่คุณต้องทำก็คือส่ง PID ไปให้ จากนั้นระบบจะแจ้งให้คุณทราบว่า Process นั้นทำงานจากที่ไหน

สมมติว่า เราต้องการทราบว่า cron Process กำลังทำงานจากที่ไหนในเครื่องของเรา ก่อนอื่นเราต้องหา PID ก่อน ด้วยการค้นหาโดยใช้ ps ดังนี้:

ซึ่งตอนนี้เราจะเห็นว่า PID ของ cron คือ 612 ดังนั้นสิ่งที่เราต้องทำตอนนี้ก็คือ กำหนด Working Directory ของ Process นั้นด้วยการส่งมันไปยัง pwdx ดังนี้:

เนื่องจาก cron เป็น System Process ดังนั้นคุณต้อง sudo เพื่อที่จะรับข้อมูลเกี่ยวกับมัน เมื่อคำสั่งเสร็จสิ้น เราจะเหลือ Working Directory ปัจจุบันของ cron ซึ่งก็คือ /var/spool/cron

นี่อาจเป็นเครื่องมือแก้ปัญหาที่มีประโยชน์อย่างมาก โดยเฉพาะอย่างยิ่งหากคุณกำลังไล่ตามปัญหาในขอบเขตที่เกี่ยวกับ Directory การตรวจสอบอย่างรวดเร็วด้วย pwdx จะทำให้คุณสามารถทราบได้อย่างชัดเจนเกี่ยวกับ Process ว่า มันควรจะทำงานจากที่ใด

คุณสามารถดูรายละเอียดเพิ่มเกี่ยวกับ pwdx ได้ที่นี่

6. write

Program เล็ก ๆ แต่ประโยชน์มหาศาลนี้ อาจไม่ได้ทำในสิ่งที่คุณคิดเกี่ยวกับมันเมื่อมองในแวบแรก มันมีอยู่ใน Linux มานานหลายทศวรรษและยังย้อนกลับไปถึง Version 6 ของ Unix ตั้งแต่ปี 1975 อีกด้วย

write Utility จะช่วยให้คุณส่งข้อความถึง Users รายอื่น ๆ ใน System เดียวกันได้ คุณสามารถกำหนด Users ที่เป็นกลุ่มเป้าหมายรายอื่น ๆ ที่เข้าสู่ System และส่งข้อความไปถึงพวกเขาได้ เพียงระบุ username และคุณจะถูกนไปสู่ Interactive Shell เพื่อเขียนข้อความที่คุณต้องการ ทุกสิ่งที่คุณพิมพ์ จะปรากฏบน Console ของ users ที่เป็นกลุ่มเป้าหมาย

นี่คือตัวอย่าง: 

สิ่งนี้จะนำคุณเข้าสู่ Interactive Console เพื่อส่งข้อความไปยัง Users ที่เกี่ยวข้อง โปรดทราบว่า การส่งข้อความแบบนี้ อาจจะเป็นวิธีที่ถูกมองว่าค่อนข้างจะรบกวน Users รายอื่น ๆ ได้เช่นกัน พวกเขาจะเริ่มรับข้อความที่คุณกรอกบน Console ทันที จะไม่มีการเตือนหรือแจ้งให้พวกเขายอมรับก่อน และขณะเดียวกัน พวกเขาจะไม่สามารถตอบกลับได้เนื่องจากเป็นการสื่อสารทางเดียว

แม้ว่าในปัจจุบัน จะมีวิธีที่ดีกว่าในการจัดการข้อความระหว่าง Users แต่อย่างน้อยนี่เป็นส่วนหนึ่งของประวัติศาสตร์คอมพิวเตอร์ และเชื่อว่ายังคงมีการใช้ทั้งในทางที่สร้างสรรค์ (และประสงค์ร้าย) อยู่บ้างสำหรับปัจจุบัน

คุณสามารถดูรายละเอียดเพิ่มเติมได้จากที่นี่

ที่มา: https://betterprogramming.pub/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด