Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

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

การค้นหาคำสั่งด้วย Apropos

Apropos (app-row-POE) เป็นคำสั่งที่ให้คุณค้นหาคำสั่งด้วย man หรือรายการด้วยตนเองตามคำอธิบาย หากคุณเคยพบ man page ของคำสั่ง หน้าตาจะประมาณนี้:

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

ส่วน "NAME" ที่ด้านบนคือสิ่งที่ฉันกำลังพูดถึง ถ้าฉันต้องการค้นหา ping คำสั่งด้วย apropos ฉันจะพิมพ์ apropos icmp ลงในเทอร์มินัลของฉันแล้วกด Enter โปรดทราบว่าไม่คำนึงถึงขนาดตัวพิมพ์ ซึ่งจะดึงทุกคำสั่งที่มีรายการ NAME ที่มี “ICMP” อยู่ในนั้น

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

อีกหนึ่งการใช้งานที่ยอดเยี่ยมสำหรับ apropos กำลังสำรวจเครื่องมือที่คุณอาจไม่คุ้นเคย เช่น selinux . การออก apropos selinux คำสั่งจะแสดงรายการคำสั่งต่างๆ ทั้งหมดที่คุณสามารถใช้โต้ตอบกับ SELinux เพื่อให้คุณเริ่มต้นใช้งานจริงได้อย่างมีประสิทธิภาพ

การแทนที่ในคำสั่งก่อนหน้า

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

มาดูตัวอย่างกัน สมมติว่าฉันต้องการ ping “maketecheasier.com” เพื่อให้แน่ใจว่าฉันมีการเชื่อมต่ออินเทอร์เน็ตที่สมบูรณ์ (รวมถึง DNS) แต่ถ้าฉันสะกดผิด ฉันอาจได้รับข้อผิดพลาดบางอย่าง ดังนั้นหากฉัน ping maktecheaser.com โดยไม่ได้ตั้งใจ (ไม่มี “i”) ฉันจะมีปัญหาบางอย่าง

หากต้องการแทนที่ตัวเลือกที่สะกดผิด ฉันสามารถพิมพ์ ^maktecheaser.com^maketecheasier.com และคำสั่งจะทำงานตามที่คาดไว้ นี่เป็นตัวอย่างง่ายๆ แต่สมมติว่าคุณเรียกใช้คำสั่งแบบยาวที่มีตัวเลือกมากมายหรือกำหนดทิศทางเอาต์พุตหรือข้อผิดพลาดของคำสั่งของคุณผิด สามารถแทนที่ > สำหรับ >> ในคำสั่งที่ซับซ้อนคือเครื่องช่วยชีวิต

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

อีกตัวอย่างหนึ่งคือกับ systemd และ systemctl สั่งการ. ฉันมักจะออก systemctl . ที่แตกต่างกันหลายรายการ คำสั่งย่อย เช่น เริ่ม หยุด เปิดใช้งาน หรือปิดใช้งานบริการ ฉันสามารถย่อยได้ด้วย ^start^enable ซึ่งจะช่วยประหยัดเวลาได้

!!

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

ตัวอย่างที่ดีคือสคริปต์การติดตั้ง สมมติว่าคุณเรียกใช้สคริปต์การติดตั้งด้วย “./SCRIPT-NAME.sh” และบอกว่าคุณต้องเรียกใช้สคริปต์ด้วยสิทธิพิเศษสำหรับผู้ใช้ขั้นสูง เพียงพิมพ์ sudo !! ป้อนรหัสผ่านของคุณแล้วคุณก็ออกไปแข่งขัน ซึ่งช่วยประหยัดเวลาได้มาก และเมื่อคุณได้ลำดับนั้นในหน่วยความจำของกล้ามเนื้อแล้ว คุณจะทำมันได้เร็วกว่าตอนที่คุณทำผิด

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

ส่งผ่านอาร์กิวเมนต์จากคำสั่งก่อนหน้า

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

มาดูตัวอย่างกัน หากฉันกำลังแก้ไขสคริปต์ ฉันอาจใช้คำสั่ง nano samplescript.sh . เมื่อฉันใช้สคริปต์นั้นเสร็จแล้ว ฉันต้องการทำให้มันทำงานได้ ดังนั้นฉันจึงอาจเปลี่ยนการอนุญาตเลขฐานแปดเป็น 755 ในการทำเช่นนั้น ฉันสามารถใช้ chmod 755 !$ สั่งการ. จากนั้นหากต้องการดึงชื่อสคริปต์อีกครั้ง ฉันสามารถใช้ ./!:2 เพื่อดึงอาร์กิวเมนต์ที่สองลงมา

Bash Tips and Tricks เพื่อการทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal

ตัวอย่างอื่นๆ:

!^ - first argument
!* - all arguments
!:2-$ - second through last arguments
!:2-4 - second through fourth arguments

คุณสามารถแทนที่ตัวเลขของคุณเพื่อดึงอาร์กิวเมนต์ที่คุณต้องการ Bash จะเก็บอาร์กิวเมนต์ได้เกือบ 100 ข้อด้วยวิธีนี้ และคุณสามารถทำงานง่ายๆ แบบนี้ได้อย่างรวดเร็ว

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