ทำความเข้าใจคำสั่งเชลล์อย่างง่ายดายโดยใช้สคริปต์ "Explain Shell" ใน Linux
ในขณะที่ทำงานบนแพลตฟอร์ม Linux เราทุกคนต้องการความช่วยเหลือเกี่ยวกับคำสั่งเชลล์ในบางช่วงเวลา แม้ว่าความช่วยเหลือในตัว เช่น man page คำสั่ง whatis จะมีประโยชน์ แต่เอาต์พุต man page นั้นยาวเกินไป และจนกว่าจะมีประสบการณ์กับ Linux มาก่อน ก็เป็นเรื่องยากมากที่จะได้รับ ความช่วยเหลือใดๆ จากเพจคนจำนวนมาก ผลลัพธ์ของคำสั่ง whatis แทบจะไม่มีมากกว่าหนึ่งบรรทัดซึ่งไม่เพียงพอสำหรับมือใหม่
มีแอปพลิเคชันบุคคลที่สาม เช่น 'cheat' ซึ่งเราได้กล่าวถึงไว้ที่นี่ “Commandline Cheat Sheet สำหรับผู้ใช้ Linux แม้ว่า Cheat จะเป็นแอปพลิเคชั่นที่ดีเป็นพิเศษซึ่งแสดงความช่วยเหลือเกี่ยวกับคำสั่งเชลล์แม้ว่าคอมพิวเตอร์จะไม่ได้เชื่อมต่อกับอินเทอร์เน็ต แต่จะแสดงความช่วยเหลือในคำสั่งที่กำหนดไว้ล่วงหน้าเท่านั้น
มีโค้ดเล็กๆ ที่เขียนโดย Jackson ซึ่งสามารถอธิบายคำสั่งเชลล์ภายใน bash shell ได้อย่างมีประสิทธิภาพอย่างมาก และเดาว่าส่วนที่ดีที่สุดคือคุณไม่จำเป็นต้องติดตั้งแพ็คเกจจากบุคคลที่สาม เขาตั้งชื่อไฟล์ที่มีโค้ดส่วนนี้ว่า 'explain.sh'
คุณสมบัติของยูทิลิตี้อธิบาย
- การฝังโค้ดอย่างง่าย
- ไม่จำเป็นต้องติดตั้งยูทิลิตี้ของบุคคลที่สาม
- ให้ข้อมูลเพียงพอในการอธิบาย
- ต้องใช้การเชื่อมต่ออินเทอร์เน็ตในการทำงาน
- ยูทิลิตี้บรรทัดคำสั่งล้วนๆ
- สามารถอธิบายคำสั่งเชลล์ส่วนใหญ่ใน bash shell ได้
- ไม่จำเป็นต้องมีการมีส่วนร่วมของบัญชีรูท
ข้อกำหนดเบื้องต้น
ข้อกำหนดเพียงอย่างเดียวคือแพ็คเกจ '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 ของฉัน แจ้งให้เราทราบว่าคุณคิดอย่างไรเกี่ยวกับโครงการนี้ มันจะมีประโยชน์สำหรับคุณได้อย่างไร? คำอธิบายเป็นที่น่าพอใจหรือไม่?
ให้ข้อเสนอแนะอันมีค่าของคุณในความคิดเห็นด้านล่าง กดไลค์และแชร์เราและช่วยให้เราแพร่กระจาย