ประวัติคำสั่งพิมพ์และข้อความค้นหาเพื่อค้นหาคำสั่งเฉพาะที่ผ่านมา

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

เคล็ดลับนี้เพื่อค้นหาและเรียกใช้คำสั่งก่อนที่ดำเนินการในบรรทัดคำสั่งทำงานบน Mac OS, Mac OS X รวมถึง Linux และระบบปฏิบัติการยูนิกซ์อื่นด้วย สิ่งที่มีคำสั่งประวัติมาตรฐานสามารถใช้เคล็ดลับนี้เพื่อดึงข้อมูลคำสั่งก่อน ๆ ทำให้เป็นเครื่องมืออันล้ำค่าสำหรับผู้ดูแลระบบและผู้ใช้บรรทัดคำสั่ง

วิธีการหาคำสั่งเฉพาะจากประวัติความเป็นมาของคำสั่งใน Mac OS

ในการติดตามประวัติคำสั่งของคำสั่งเฉพาะคุณต้องเปิดแอป Terminal และใช้ไวยากรณ์ต่อไปนี้:

history |grep "search string"

ซึ่งจะมองหา "สตริงการค้นหา" ในประวัติคำสั่งของคุณและพิมพ์เฉพาะกรณีหลังที่มีข้อความค้นหาเท่านั้น

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

ตัวอย่าง: การค้นหาคำสั่ง "defaults" ในอดีต
นี่เป็นตัวอย่างที่เป็นประโยชน์: ฉันพยายามจำไวยากรณ์ที่แน่นอนของคำสั่งเขียนค่าดีฟอลต์ที่ฉันใช้เมื่อเร็ว ๆ นี้ คำสั่ง defaults มักเป็นสตริงข้อความยาวที่ปรับเปลี่ยนพฤติกรรมของ Mac OS X หรือแอ็พพลิเคชันบางอย่างเนื่องจากความยาวและความสับสนของพวกเขาลองจดจำสิ่งเหล่านี้จากด้านบนศีรษะของคุณอย่างน้อย

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

history | grep "defaults write"

คำสั่งนี้จะส่งผลให้เกิดคำสั่ง 'history' ที่ครอบคลุมผ่าน grep เพื่อค้นหาเฉพาะอินสแตนซ์ที่มี "defaults write" ในสตริงคำสั่งคุณจะเห็นรายการผลการค้นหาที่คล้ายกับสิ่งต่อไปนี้:

$ history |grep "defaults write"
44 defaults write com.apple.iTunes full-window -1
51 defaults write com.apple.iTunes invertStoreLinks -bool YES
421 defaults write com.apple.FaceTime AutoAcceptInvitesFrom -array-add [email protected]
426 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool true
427 defaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool false
428 defaults write com.apple.appstore ShowDebugMenu -bool true

ขณะนี้แทนที่จะค้นหาผ่านรายการประวัติทั้งหมดของคุณคุณได้ จำกัด ผลลัพธ์ไว้

ปรับแต่งประวัติคำสั่งค้นหาข้อมูลเฉพาะ

คุณสามารถทำการค้นหาประวัติได้เฉพาะหรือไม่เจาะจงเท่าที่คุณต้องการ ตัวอย่างเช่นถ้าฉันรู้คำสั่ง defaults ฉันกำลังมองหาที่เกี่ยวข้องกับ com.apple.iTunes ฉันสามารถใช้คำสั่งต่อไปนี้เพื่อปรับแต่งการค้นหาของฉัน:

history |grep "defaults write com.apple.iTunes"

ซึ่งจะกลับสิ่งที่ชอบ:

44 defaults write com.apple.iTunes full-window -1
51 defaults write com.apple.iTunes invertStoreLinks -bool YES

ลองใช้เอง คุณสามารถทำเช่นนี้ได้ด้วยคำสั่งใด ๆ ที่คุณได้ป้อนผ่านเทอร์มินัลเนื่องจากคำสั่งที่เพิ่งรันทั้งหมดจะถูกเก็บไว้ในประวัติของคุณ คำสั่ง defaults คือเฉพาะของ Mac OS X แต่ประวัติและ grep เป็นเครื่องมือทั่วไปสำหรับโลกของยูนิกซ์ดังนั้นถ้าคุณเคยใช้เครื่อง linux หรือมิฉะนั้นคุณก็สามารถใช้เทคนิคเดียวกันได้

หากคุณต้องการเรียนรู้เกี่ยวกับพื้นฐานของ Mac OS X ให้ดูคำแนะนำบรรทัดคำสั่งของเรา