Bash Aliases ที่มีประโยชน์และวิธีสร้าง Bash Aliases

Some Useful Bash Aliases



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

เพื่อลดปัญหาการพิมพ์ นักพัฒนาโปรแกรมอรรถประโยชน์คำสั่งได้พยายามกำจัดการพิมพ์ที่ไม่เกี่ยวข้องด้วยตัวย่อ เช่น ls แทน list, cd แทนการเปลี่ยนแปลงไดเรกทอรี cat แทน catenate เป็นต้น แต่พิมพ์คำสั่งเดียวกันซ้ำแล้วซ้ำอีก ซ้ำแล้วซ้ำเล่าน่าเบื่อและไม่สนุกอย่างแท้จริง







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



นามแฝงทุบตี

เมื่อคุณเรียกใช้คำสั่งในเทอร์มินัล เป็นหน้าที่ของเชลล์ในการประมวลผลและนำเสนอต่อระบบปฏิบัติการเพื่อทำงานเป้าหมาย Bash (ตัวย่อของเชลล์ Bourne-Again) เป็นหนึ่งในเชลล์ UNIX ที่ได้รับความนิยมมากที่สุด Linux distros ส่วนใหญ่มาพร้อมกับ Bash shell โดยค่าเริ่มต้น



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





นามแฝง Bash มี 2 ประเภท

  • ชั่วคราว: นามแฝงประเภทนี้จะคงอยู่ตราบเท่าที่เซสชันของเชลล์ทำงานอยู่ เมื่อเชลล์ถูกยกเลิก มันจะลืมนามแฝง
  • ถาวร: เมื่อสร้างแล้ว Bash จะจดจำการสร้างนามแฝงและความหมายของชื่อ

ฉันจะแสดงวิธีสร้างและจัดการนามแฝงต่อไปในบทช่วยสอนนี้ วิธีการทั้งหมดที่อธิบายไว้ดำเนินการบน Ubuntu อย่างไรก็ตาม มันจะทำงานบน Linux distro ใด ๆ ตราบใดที่คุณทำงานกับ Bash



การสร้างนามแฝงชั่วคราว

นี่คือรูปแบบนามแฝงที่ Bash จะลืมเมื่อปิดเซสชัน นั่นเป็นเหตุผลที่ฉันแนะนำให้คุณสร้างนามแฝงที่คุ้มค่าสำหรับเซสชัน

สำหรับการสร้างนามแฝง Bash ชั่วคราว โครงสร้างคำสั่งมีลักษณะดังนี้

$นามแฝง <alias_name>=<สั่งการ>

มาทำให้ชัดเจนด้วยตัวอย่าง ฉันใช้ Ubuntu ดังนั้นหากฉันต้องการอัปเดตแพ็คเกจทั้งหมดของระบบ ฉันต้องเรียกใช้คำสั่งต่อไปนี้

$sudoapt update&& sudoอัพเกรดฉลาด-และ

ตอนนี้ลองใช้ apt-sysupdate เป็นทางเลือกที่จะทำงานเหมือนกับคำสั่งดังกล่าวได้อย่างไร สร้างนามแฝงโดยการรันคำสั่งนี้

$นามแฝงapt-sysupdate='sudo apt update && sudo apt upgrade -y'

ลองดูว่ามันใช้งานได้หรือไม่!

โว้ว! มันได้ผล!

ที่นี่เมื่อใดก็ตามที่ Bash เห็นคำสั่ง apt-sysupdate คำสั่งนั้นจะถูกแปลเป็นคำสั่งแบบยาวที่จะดำเนินการ

นี่คือสิ่งที่สนุกที่จะทำ เราจะสร้างนามแฝงของนามแฝงได้อย่างไร มาสร้างการอัปเดตนามแฝงสำหรับคำสั่ง apt-sysupdate

$นามแฝง อัปเดต='apt-sysupdate'

ตอนนี้มาดูกันว่ามันใช้งานได้หรือไม่

ใช่มันทำ!

การสร้างนามแฝงถาวร

สำหรับการสร้างนามแฝงถาวร เราต้องประกาศในไฟล์ bashrc bashrc เป็นเชลล์สคริปต์ที่ดำเนินการทุกครั้งที่เริ่มเซสชันทุบตี มันตั้งอยู่ที่ ~/.bashrc เป็นเอกลักษณ์สำหรับผู้ใช้ทุกคนในระบบ

bashrc เป็นตัวเลือกยอดนิยมสำหรับการสร้างนามแฝงที่คุณชื่นชอบ Bashrc อาจมีหรือไม่มีอยู่ในระบบของคุณ เปิด bashrc ด้วย vim หากไม่มีอยู่ กลุ่มจะเปิดข้อความว่าง เรียนรู้เพิ่มเติมเกี่ยวกับ vim

$ฉันมา~/.bashrc

นี่คือรหัสสำหรับนามแฝงที่ดูเหมือนว่า

$นามแฝง <alias_name>=''

มาสร้างการอัปเดตนามแฝงถาวรที่จะบอกให้ APT อัปเดตแคช repo และติดตั้งการอัปเดตที่มีอยู่ทั้งหมด

$นามแฝง อัปเดต='sudo apt update && sudo apt upgrade -y'

เมื่อสร้างนามแฝงแล้ว ให้บันทึกไฟล์ จากนั้นบอกให้ bash โหลดไฟล์ซ้ำ

$แหล่งที่มา~/.bashrc

ได้เวลาตรวจสอบว่าใช้งานได้หรือไม่ รีบูตระบบของคุณ ลงชื่อเข้าใช้บัญชีของคุณ และเรียกใช้การอัปเดตนามแฝงที่เราเพิ่งสร้างขึ้น

โว้ว! สร้างนามแฝงสำเร็จแล้ว!

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

แทนที่นามแฝง

สมมติว่าคุณได้ตั้งค่านามแฝง ls สำหรับคำสั่ง ls -lhA และด้วยเหตุผลบางประการ คุณต้องใช้เครื่องมือ ls หลักเพื่อทำสิ่งที่แตกต่างกัน ในกรณีที่คล้ายกัน จำเป็นต้องข้ามนามแฝง

หากต้องการข้ามนามแฝงชั่วคราว ให้รันคำสั่งด้วยโครงสร้างต่อไปนี้

$<สั่งการ>

ตัวอย่างเช่น ฉันได้สร้างนามแฝง ls สำหรับคำสั่ง ls -lhA เมื่อใดก็ตามที่ฉันเรียกใช้ ls มันจะถูกแปลเป็นคำสั่ง จะเป็นอย่างไรหากฉันต้องการเรียกใช้เครื่องมือ ls โดยไม่มีตัวเลือกเพิ่มเติม ขอข้ามนามแฝงชั่วคราว

$ลส

รายชื่อนามแฝง

หากต้องการดูนามแฝงที่กำหนดค่าไว้ในปัจจุบันทั้งหมด ให้รันคำสั่งนี้

$นามแฝง

การลบนามแฝงชั่วคราว

การลบนามแฝงชั่วคราวนั้นง่ายมาก เพียงเรียกใช้คำสั่งนี้

$unalias <alias_name>

ตัวอย่างเช่น ฉันมีนามแฝงทั้งหมด 3 ชื่อ ในการกำจัดนามแฝงการอัพเดท คำสั่งจะเป็น:

$unaliasอัปเดต

มาตรวจสอบผลลัพธ์กัน

$นามแฝง

โว้ว! นามแฝงหายไป!

อีกวิธีหนึ่งคือการออกจากเซสชันทุบตีปัจจุบันหรือรีบูตระบบ Bash จะไม่จำนามแฝงชั่วคราว ที่นี่ฉันรีบูทคอมพิวเตอร์แล้วและไม่มี bash alias

การลบนามแฝงถาวร

นามแฝงที่ประกาศในไฟล์ bashrc จะไม่หายไป แม้ว่าคุณจะ unalias พวกมันจะไม่ถูกลบออกจากไฟล์ bashrc ครั้งถัดไปที่โหลดเซสชัน bash นามแฝงก็กลับมาเช่นกัน นั่นเป็นเหตุผลที่จะกำจัดนามแฝงถาวร เราต้องลบออกจากไฟล์ bashrc ด้วยตนเอง

เปิดไฟล์ bashrc เป็นกลุ่ม

$ฉันมา~/.bashrc

ลบ bash alias ที่คุณไม่ต้องการ อีกวิธีหนึ่ง คุณสามารถแสดงความคิดเห็นเพื่อที่ครั้งต่อไปที่คุณต้องการ คุณสามารถยกเลิกการแสดงความเห็นได้

บันทึกไฟล์และบอกให้ bash โหลด bashrc ใหม่

$แหล่งที่มา~/.bashrc

นามแฝง bash ที่มีประโยชน์บางอย่าง

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

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

$นามแฝง NS='ล - ลา'

มาสร้าง ls เพื่อแสดงรายการในคอลัมน์ที่มีตัวบ่งชี้

$นามแฝง ลส='ls -CF'

นอกจากนี้เรายังสามารถพิมพ์ผิดตามคำสั่งที่ต้องการได้

$นามแฝง sl='ls -Cf'

บางครั้งเอาต์พุต ls จะยาวมาก ในสถานการณ์เช่นนี้ เรามาวางเอาต์พุตของ ls ให้น้อยลง

$นามแฝง lsl='ls -lhFA | น้อย'

ถัดลงมาเป็นคำสั่ง cd มาเพิ่มนามแฝงเพื่อกลับไปยังไดเร็กทอรีหลัก

$นามแฝง.. ='ซีดี ..'

ใช้นามแฝงถัดไปเพื่อค้นหาไฟล์/โฟลเดอร์ที่คุณต้องการในไดเร็กทอรีปัจจุบัน

$นามแฝง ที่นี่='หา . -ชื่อ '

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

$นามแฝง df='df -Tha - ทั้งหมด'

จะสร้างเอาต์พุตเครื่องมือ du ขึ้นมาใหม่ได้อย่างไร

$นามแฝง ของ='คุณ -ach | เรียงลำดับ -h '

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

$นามแฝง ฟรี='ฟรี -mt'

หากคุณกำลังทำงานกับตารางกระบวนการอย่างต่อเนื่อง มีนามแฝงมากมายที่เราสามารถนำมาใช้ได้ ตัวอย่างเช่น ลองตั้งค่าเอาต์พุตเริ่มต้นสำหรับคำสั่ง ps

$นามแฝง ปล='ps auxf'

มาเพิ่มฟังก์ชันการค้นหาให้กับตารางกระบวนการกัน

$นามแฝง psg='ps aux | grep -v grep | grep -i -e VSZ -e '

วิธีการทำให้ไดเร็กทอรี/โฟลเดอร์ง่ายขึ้นอีกเล็กน้อย? บ่อยครั้ง mkdir ตามด้วยแฟล็ก -p สำหรับการสร้างไดเร็กทอรีหลักที่จำเป็น มาผูกไว้ในนามแฝงต่อไปนี้

$นามแฝง mkdir='mkdir -p'

ต้องการรับการแจ้งเตือนทุกครั้งที่สร้างไดเร็กทอรี? มาเพิ่มแฟล็ก -v ด้วย mkdir

$นามแฝง mkdir='mkdir -pv'

Wget เป็นเครื่องมือดาวน์โหลดบรรทัดคำสั่งอย่างง่าย อย่างไรก็ตาม หากพบปัญหาระหว่างการดาวน์โหลด ระบบจะยกเลิกโดยอัตโนมัติ หากต้องการบังคับให้ wget ดำเนินการดาวน์โหลดต่อ จะต้องส่งแฟล็ก -c มารวมกันในนามแฝงนี้

$นามแฝง wget='wget -c'

ต้องการตรวจสอบที่อยู่ IP สาธารณะหรือไม่ มาเพิ่มในรายการนามแฝงกันเถอะ!

$นามแฝง myip='ขด http://ipecho.net/plain; เสียงสะท้อน'

นี่คือลักษณะที่ bashrc ของฉันใช้กับนามแฝงเหล่านี้ทั้งหมด

ความคิดสุดท้าย

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

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

หากคุณใช้นามแฝงจำนวนมาก ขอแนะนำให้รวมไว้ในไฟล์ bashrc พร้อมแสดงความคิดเห็นที่จำเป็น

สนุก!