ค้นหาเว็บไซต์

ทำความเข้าใจคำสั่งเชลล์อย่างง่ายดายโดยใช้สคริปต์ "Explain Shell" ใน Linux


ในขณะที่ทำงานบนแพลตฟอร์ม Linux เราทุกคนต้องการความช่วยเหลือเกี่ยวกับคำสั่งเชลล์ในบางช่วงเวลา แม้ว่าความช่วยเหลือในตัว เช่น man page คำสั่ง whatis จะมีประโยชน์ แต่เอาต์พุต man page นั้นยาวเกินไป และจนกว่าจะมีประสบการณ์กับ Linux มาก่อน ก็เป็นเรื่องยากมากที่จะได้รับ ความช่วยเหลือใดๆ จากเพจคนจำนวนมาก ผลลัพธ์ของคำสั่ง whatis แทบจะไม่มีมากกว่าหนึ่งบรรทัดซึ่งไม่เพียงพอสำหรับมือใหม่

มีแอปพลิเคชันบุคคลที่สาม เช่น 'cheat' ซึ่งเราได้กล่าวถึงไว้ที่นี่ “Commandline Cheat Sheet สำหรับผู้ใช้ Linux แม้ว่า Cheat จะเป็นแอปพลิเคชั่นที่ดีเป็นพิเศษซึ่งแสดงความช่วยเหลือเกี่ยวกับคำสั่งเชลล์แม้ว่าคอมพิวเตอร์จะไม่ได้เชื่อมต่อกับอินเทอร์เน็ต แต่จะแสดงความช่วยเหลือในคำสั่งที่กำหนดไว้ล่วงหน้าเท่านั้น

มีโค้ดเล็กๆ ที่เขียนโดย Jackson ซึ่งสามารถอธิบายคำสั่งเชลล์ภายใน bash shell ได้อย่างมีประสิทธิภาพอย่างมาก และเดาว่าส่วนที่ดีที่สุดคือคุณไม่จำเป็นต้องติดตั้งแพ็คเกจจากบุคคลที่สาม เขาตั้งชื่อไฟล์ที่มีโค้ดส่วนนี้ว่า 'explain.sh'

คุณสมบัติของยูทิลิตี้อธิบาย

  1. การฝังโค้ดอย่างง่าย
  2. ไม่จำเป็นต้องติดตั้งยูทิลิตี้ของบุคคลที่สาม
  3. ให้ข้อมูลเพียงพอในการอธิบาย
  4. ต้องใช้การเชื่อมต่ออินเทอร์เน็ตในการทำงาน
  5. ยูทิลิตี้บรรทัดคำสั่งล้วนๆ
  6. สามารถอธิบายคำสั่งเชลล์ส่วนใหญ่ใน bash shell ได้
  7. ไม่จำเป็นต้องมีการมีส่วนร่วมของบัญชีรูท
ข้อกำหนดเบื้องต้น

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

apt-get install curl 	[On Debian systems]
yum install curl 		[On CentOS systems]

การติดตั้งยูทิลิตี้ expl.sh ใน Linux

เราต้องแทรกโค้ดด้านล่างตามที่อยู่ในไฟล์ ~/.bashrc ควรแทรกรหัสสำหรับผู้ใช้แต่ละรายและไฟล์ .bashrc แต่ละไฟล์ ขอแนะนำให้แทรกโค้ดลงในไฟล์ .bashrc ของผู้ใช้เท่านั้น และไม่ใช่ใน .bashrc ของผู้ใช้รูท

โปรดสังเกตว่าบรรทัดแรกของโค้ดที่ขึ้นต้นด้วยแฮช (#) เป็นทางเลือกและเพิ่มเพียงเพื่อแยกความแตกต่างของโค้ดที่เหลือของ .bashrc

# expl.sh ทำเครื่องหมายที่จุดเริ่มต้นของโค้ด เรากำลังแทรกลงในไฟล์ .bashrc ที่ด้านล่างของไฟล์นี้


explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

การทำงานของยูทิลิตี้ expl.sh

หลังจากใส่โค้ดและบันทึกแล้ว คุณต้องออกจากระบบเซสชันปัจจุบันและเข้าสู่ระบบอีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล ทุกสิ่งได้รับการดูแลโดยคำสั่ง 'curl' ซึ่งจะถ่ายโอนคำสั่งอินพุตและแฟล็กที่ต้องการคำอธิบายไปยังเซิร์ฟเวอร์ mankier จากนั้นจึงพิมพ์ข้อมูลที่จำเป็นไปยังคำสั่ง Linux -เส้น. ไม่ต้องพูดถึงเพื่อใช้ยูทิลิตี้นี้คุณจะต้องเชื่อมต่อกับอินเทอร์เน็ตเสมอ

มาทดสอบตัวอย่างคำสั่งที่ฉันไม่รู้ความหมายด้วยสคริปต์ explain.sh กัน

1. ฉันลืมไปแล้วว่า 'du -h' ทำอะไร สิ่งที่ฉันต้องทำคือ:

explain 'du -h'

2. หากคุณลืมว่า 'tar -zxvf' ทำอะไร คุณก็สามารถทำได้:

explain 'tar -zxvf'

3. เพื่อนของฉันคนหนึ่งมักจะสับสนในการใช้คำสั่ง 'คืออะไร' และ 'อยู่ที่ไหน' ดังนั้นฉันจึงแนะนำเขา

ไปที่โหมดโต้ตอบโดยเพียงพิมพ์คำสั่ง explain บนเทอร์มินัล

explain

จากนั้นพิมพ์คำสั่งทีละคำสั่งเพื่อดูว่าคำสั่งเหล่านั้นทำอะไรในหน้าต่างเดียว เช่น:

Command: whatis
Command: whereis

หากต้องการออกจากโหมดโต้ตอบ เขาเพียงแค่ต้องทำ Ctrl + c

4. คุณสามารถขอให้อธิบายมากกว่าหนึ่งคำสั่งที่เชื่อมโยงกันโดยไปป์ไลน์

explain 'ls -l | grep -i Desktop'

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

สำหรับฉันยูทิลิตี้นี้มีประโยชน์มาก และรู้สึกเป็นเกียรติที่มีการเพิ่มลงใน .bashrc ของฉัน แจ้งให้เราทราบว่าคุณคิดอย่างไรเกี่ยวกับโครงการนี้ มันจะมีประโยชน์สำหรับคุณได้อย่างไร? คำอธิบายเป็นที่น่าพอใจหรือไม่?

ให้ข้อเสนอแนะอันมีค่าของคุณในความคิดเห็นด้านล่าง กดไลค์และแชร์เราและช่วยให้เราแพร่กระจาย