การนำทางอย่างรวดเร็ว
- ฉันจะดูประวัติ Bash ใน Linux ได้อย่างไร
- ฉันจะล้างประวัติ Bash ใน Linux ได้อย่างไร
- โดยทั่วไปแล้วคำสั่งใดจะถูกเก็บไว้ใน Bash History?
- เหตุใดการล้างประวัติ Bash ของคุณเป็นประจำจึงเป็นสิ่งสำคัญ
- ฉันจะป้องกันไม่ให้คำสั่งบางคำสั่งถูกเก็บไว้ใน Bash History ของฉันได้อย่างไร
- ประโยชน์ของการใช้ไฟล์ Bash History คืออะไร?
- มีข้อเสียในการใช้ไฟล์ Bash History หรือไม่?
- ฉันจะปรับแต่งการตั้งค่าประวัติทุบตีของฉันได้อย่างไร
- ฉันจะเข้าถึงประวัติด้วยวิธีอื่นนอกเหนือจากคำสั่งประวัติได้อย่างไร
- ฉันสามารถแบ่งปันประวัติของฉันกับผู้อื่นได้หรือไม่?ถ้าเป็นเช่นนั้นอย่างไร?
- มีอะไรอีกบ้างที่ฉันควรรู้เกี่ยวกับประวัติทุบตีใน Linux?
- ฉันจะหาข้อมูลเพิ่มเติมเกี่ยวกับประวัติทุบตีใน Linux ได้ที่ไหนหากจำเป็น
Bash เป็นเชลล์บรรทัดคำสั่งและภาษาสคริปต์ที่ใช้บนระบบ Linuxประวัติทุบตีจะบันทึกคำสั่งที่คุณพิมพ์และผลลัพธ์ของคำสั่งเหล่านั้นสามารถเข้าถึงประวัติทุบตีได้โดยกด "h" ที่พรอมต์หากต้องการดูประวัติทุบตีปัจจุบันของคุณ ให้พิมพ์ "ประวัติ" หากต้องการลบคำสั่งออกจากประวัติทุบตี ให้พิมพ์ "ลบ"หากต้องการแสดงรายการคำสั่งทั้งหมดในประวัติทุบตีของคุณ ให้พิมพ์ "history -a" หากต้องการออกจาก bash ให้พิมพ์ "exit"
ฉันจะดูประวัติ Bash ใน Linux ได้อย่างไร
ในการดูประวัติ Bash ของคุณใน Linux ให้เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
ประวัติศาสตร์ -a
นี่จะแสดงรายการคำสั่งทั้งหมดที่คุณดำเนินการในเทอร์มินัลของคุณหากต้องการดูประวัติของคำสั่งใดคำสั่งหนึ่ง ให้ใช้ปุ่มลูกศรขึ้นเพื่อเลื่อนดูรายการ แล้วกด Enter เมื่อคุณไปถึงคำสั่งที่ต้องการหากต้องการออกจากโหมดนี้ ให้กด Ctrl-D (หรือเพียงแค่พิมพ์ quit)
ฉันจะล้างประวัติ Bash ใน Linux ได้อย่างไร
ใน Linux Bash เป็นเชลล์เริ่มต้นเมื่อคุณเปิดหน้าต่างเทอร์มินัลใหม่ Bash จะถูกเรียกใช้และประวัติของคุณจะถูกบันทึกในการล้างประวัติของคุณ:
- พิมพ์ "history -c" เพื่อล้างบัฟเฟอร์ประวัติปัจจุบัน
- พิมพ์ "history -d" เพื่อลบรายการทั้งหมดในบัฟเฟอร์ประวัติ รวมถึงรายการจากเซสชันก่อนหน้า
- พิมพ์ "history -p" เพื่อพิมพ์เนื้อหาของบัฟเฟอร์ประวัติในหนึ่งบรรทัด
โดยทั่วไปแล้วคำสั่งใดจะถูกเก็บไว้ใน Bash History?
Bash History ใน Linux คืออะไร?
ประวัติการทุบตีคือรายการคำสั่งที่คุณได้ดำเนินการในเทอร์มินัลของคุณรายการนี้สามารถเข้าถึงได้โดยการกดปุ่มลูกศรขึ้นบนแป้นพิมพ์ของคุณคุณยังสามารถพิมพ์ "ประวัติ" ลงในเทอร์มินัลเพื่อดูรายการนี้คำสั่งที่เก็บไว้ในประวัติ Bash จะถูกบันทึกไว้เป็นเวลา 30 นาที จากนั้นจะถูกลบโดยอัตโนมัติ
เหตุใดการล้างประวัติ Bash ของคุณเป็นประจำจึงเป็นสิ่งสำคัญ
ประวัติการทุบตีคือรายการคำสั่งที่คุณดำเนินการในเทอร์มินัลของคุณด้วยการล้างประวัติ Bash ของคุณเป็นประจำ คุณสามารถหลีกเลี่ยงการเรียกใช้คำสั่งเก่าโดยไม่ได้ตั้งใจที่อาจไม่เกี่ยวข้องอีกต่อไป หรืออาจสร้างความเสียหายได้หากเรียกใช้อย่างไม่ถูกต้องนอกจากนี้ การล้างประวัติ Bash ของคุณยังช่วยให้จดจำและทำซ้ำคำสั่งล่าสุดได้ง่ายขึ้น
ในการล้างประวัติ Bash ของคุณ:
- เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้: bash ClearHistory หากคุณใช้ Ubuntu หรือการแจกจ่ายแบบ Debian อื่น คำสั่งนี้อาจอยู่ในตำแหน่งอื่นภายใต้ชื่ออื่น (เช่น "history -c")
- เมื่อได้รับแจ้ง ให้ป้อนจำนวนบรรทัดที่คุณต้องการล้างจากรายการประวัติ (ค่าเริ่มต้นคือ 2 กด Enter เพื่อดำเนินการต่อ
- หากต้องการดูประวัติ Bash ที่ล้างแล้ว ให้พิมพ์คำสั่งต่อไปนี้: bash History หากคุณใช้ Ubuntu หรือการแจกจ่ายแบบ Debian อื่น คำสั่งนี้อาจอยู่ในตำแหน่งอื่นภายใต้ชื่ออื่น (เช่น "history -C")
ฉันจะป้องกันไม่ให้คำสั่งบางคำสั่งถูกเก็บไว้ใน Bash History ของฉันได้อย่างไร
Bash History ใน Linux คืออะไร?
ประวัติการทุบตีคือรายการคำสั่งที่คุณได้ดำเนินการในเทอร์มินัลของคุณรายการนี้มีประโยชน์หากคุณต้องการทำซ้ำคำสั่งบางคำสั่ง หรือถ้าคุณต้องการจำลำดับคำสั่งเฉพาะคุณสามารถป้องกันไม่ให้คำสั่งบางคำสั่งถูกเก็บไว้ในประวัติ Bash ของคุณโดยใช้คำสั่ง histappend
ประโยชน์ของการใช้ไฟล์ Bash History คืออะไร?
จะใช้ไฟล์ Bash History ได้อย่างไร?อะไรคือความแตกต่างระหว่างประวัติทุบตีและประวัติคำสั่ง?จะล้างประวัติทุบตีได้อย่างไร?
ประโยชน์ของการใช้ไฟล์ Bash History:
วิธีใช้ไฟล์ Bash History:
ความแตกต่างระหว่างประวัติคำสั่งและประวัติทุบตี:
ประวัติคำสั่งก็เหมือนกับการป้อนข้อความแบบเก่าปกติที่จัดเก็บการกดแป้นพิมพ์แต่ละครั้งแยกกัน อย่างไรก็ตาม ต่างจากการป้อนข้อความปกติที่การลบข้อความจะลบข้อความออกจากหน่วยความจำทันที รายการประวัติคำสั่งที่ถูกลบจะถูกลบออกหลังจากดำเนินการใหม่แล้วเท่านั้น (กล่าวคือ เนื้อหาจะถูกโหลดซ้ำในหน่วยความจำ) ซึ่งหมายความว่าหากคุณต้องการอ้างอิงคำสั่งเวอร์ชันก่อนหน้า - ตัวอย่างเช่น เนื่องจากคุณเปลี่ยนพารามิเตอร์ แต่ไม่ต้องการให้ใครเห็นการเปลี่ยนแปลงเหล่านั้น - คุณจะต้องเก็บเวอร์ชันเก่าของคำสั่งไว้ที่ใดที่หนึ่ง ตัวคุณเองหรือใช้ 'histedit' บนระบบ Linux ซึ่งอนุญาตให้ผู้ใช้หลายคนแก้ไขประวัติที่แชร์พร้อมกันโดยไม่มีข้อขัดแย้ง [ref].bash_history เก็บคำสั่งเชลล์ที่ป้อนระหว่างเซสชันที่ใช้งานอยู่เท่านั้น ผม . อี เมื่อคุณออกจากระบบหรือรีสตาร์ทคอมพิวเตอร์ ตัวแปรเชลล์และประวัติเซสชันจะถูกล้าง (ดูประวัติด้านล่าง)ในระบบ UNIX ส่วนใหญ่ที่ใช้ BASH 4 หรือใหม่กว่านั้น ไม่มีการจำกัดจำนวนบรรทัดคำสั่งที่สามารถจัดเก็บใน bash_history แม้ว่าหน่วยความจำระบบที่เก่ากว่าบางระบบอาจทำงานออกมาหลังจากผ่านไปหลายพันบรรทัดมีการป้อนแล้ว ระบบ OnLinux ที่รัน bash 3+ มี agroupadditionto bash'sbuiltin historictool ที่เรียกว่า 'Bash Interactive Shellsmuldering feature issuppliedbydefaulton recent distributionsof UbuntuandDebianbutmaynotbeinstalledonothersystems .The disadvantageofusingbash'sinteractiveshellfeatureinsteadofkeepingash_historyas apublicfileisthatitmakesit difficult toreproduceanacronymicnameforacharacterinahistorylistingsuchasthe'cd'commandwouldbecalled'tochdir'.Forinstanceifyouhadnamedyouruser 'jerry',then'dotchdir'wouldappearinthedocumentsassociatedwith'tochdir'ratherthan'myuserjerry'.Notethatthisproblemdoesnotaffectscriptshavingbeenwrittenusingthestandardinput()oroutpu t()methodsintheshell เนื่องจากคำสั่งเหล่านี้จะใช้ค่าปัจจุบันของตัวแปร$_ เสมอ
เพื่อดูว่าคำสั่งใดที่กำลังเรียกใช้โดย bash ในขณะที่ทำงานในเซสชันเชลล์แบบโต้ตอบ (เช่น . e.
- มันสามารถช่วยคุณติดตามคำสั่งที่คุณเคยใช้ในอดีต
- นอกจากนี้ยังสามารถเป็นประโยชน์เมื่อพยายามจำอาร์กิวเมนต์เฉพาะที่ส่งผ่านไปยังคำสั่ง
- สุดท้ายนี้มีประโยชน์เมื่อเขียนสคริปต์หรือตั้งโปรแกรม เนื่องจากสามารถช่วยประหยัดเวลาโดยให้คุณเรียกคำสั่งก่อนหน้าได้อย่างง่ายดาย
- ในการเข้าถึงไฟล์ Bash History ให้เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์ "history"การดำเนินการนี้จะแสดงรายการคำสั่งทั้งหมดที่ได้รับการดำเนินการในเซสชันนี้ (หรือเซสชันอื่นสำหรับเรื่องนั้น)
- หากต้องการเรียกใช้คำสั่งที่ใช้ก่อนหน้านี้ เพียงไฮไลต์ในรายการประวัติแล้วกด "Enter"โปรดทราบว่าหากดำเนินการตามคำสั่งแล้ว การกด "Enter" จะทำให้คุณกลับไปที่พรอมต์ปัจจุบันของคุณแทนที่จะดำเนินการคำสั่งอีกครั้ง
- หากคุณต้องการลบหนึ่งรายการขึ้นไปจากไฟล์ประวัติทุบตีของคุณ เพียงแค่เลือกรายการด้วยเคอร์เซอร์ของคุณแล้วกด "ลบ"ระวังอย่าเผลอลบสิ่งที่สำคัญ!:)
- ในการล้างไฟล์ Command และ/หรือ Bash History ปัจจุบันทั้งหมดของคุณพร้อมกัน (รวมถึงการเปลี่ยนแปลงที่ยังไม่ได้บันทึก) ให้พิมพ์ "clearHistory" ที่พรอมต์ (โดยไม่ต้องมีอักขระเพิ่มเติม) การดำเนินการนี้จะลบทุกอย่างออกจากทั้งสองไฟล์อย่างถาวร - ตรวจสอบให้แน่ใจว่าคุณต้องการดำเนินการนี้ก่อนดำเนินการต่อ!:)
มีข้อเสียในการใช้ไฟล์ Bash History หรือไม่?
มีข้อเสียเล็กน้อยในการใช้ไฟล์ Bash Historyข้อเสียที่เห็นได้ชัดที่สุดคือการติดตามว่าคำสั่งใดที่คุณดำเนินการไปแล้วทำได้ยากข้อเสียอีกประการหนึ่งคือ หากคุณพิมพ์คำสั่งเดียวกันหลายครั้งโดยไม่ได้ตั้งใจ ประวัติจะจำเฉพาะครั้งสุดท้ายที่คุณดำเนินการคำสั่งนั้นสุดท้าย ถ้าคุณต้องการใช้ไวยากรณ์อาร์กิวเมนต์บรรทัดคำสั่งที่ซับซ้อน ประวัติของคุณอาจไม่ได้รวมข้อมูลที่จำเป็นทั้งหมด
ฉันจะปรับแต่งการตั้งค่าประวัติทุบตีของฉันได้อย่างไร
ประวัติการทุบตีคือรายการคำสั่งที่คุณได้ดำเนินการในเทอร์มินัลของคุณตามค่าเริ่มต้น Bash จะเก็บ 50 คำสั่งล่าสุดที่คุณดำเนินการคุณสามารถเปลี่ยนการตั้งค่านี้ได้โดยใช้คำสั่งประวัติทุบตีนอกจากนี้ยังมีวิธีอื่นๆ ในการเข้าถึงและจัดการประวัติ Bash ของคุณตัวอย่างเช่น คุณสามารถใช้แป้นลูกศรขึ้นเพื่อย้อนกลับผ่านประวัติของคุณ และใช้แป้นลูกศรลงเพื่อเลื่อนไปข้างหน้าในประวัติของคุณคุณยังสามารถใช้แป้นพิมพ์ลัด Ctrl+R (หรือ Cmd+R) เพื่อค้นหาคำสั่งเฉพาะในประวัติ Bash ของคุณ
บทความนี้ให้ภาพรวมเกี่ยวกับวิธีปรับแต่งการตั้งค่าประวัติ Bash ของคุณ ตลอดจนเคล็ดลับบางประการเกี่ยวกับวิธีใช้คุณลักษณะประวัติของ Bash อย่างมีประสิทธิภาพสูงสุด
การปรับแต่งการตั้งค่าประวัติทุบตีของคุณ
มีสองวิธีในการปรับแต่งการตั้งค่าประวัติ Bash ของคุณ: โดยใช้คำสั่งประวัติ bash หรือโดยใช้ไฟล์การกำหนดค่า bash shell (/.bashrc)
คำสั่งประวัติทุบตีช่วยให้คุณสามารถระบุตัวเลือกต่างๆ เกี่ยวกับวิธีการแสดงและจัดการประวัติทุบตีของคุณตัวอย่างเช่น คุณสามารถควบคุมว่าคำสั่งใดจะแสดงตามลำดับเวลา ไม่ว่าจะแสดงบรรทัดใดบรรทัดหนึ่งหรือไม่ และการประทับเวลาจะรวมอยู่ในแต่ละรายการหรือไม่
คุณยังสามารถใช้คำสั่งประวัติทุบตีเพื่อลบรายการออกจากไทม์ไลน์ประวัติทุบตีของคุณอย่างถาวร (โดยใช้ตัวเลือก --delete) หรือเพียงชั่วคราวเท่านั้น (โดยใช้ตัวเลือก --history-limit) ตารางต่อไปนี้แสดงภาพรวมของตัวเลือกเหล่านี้บางส่วน:
ตารางที่ 1: ตัวเลือกที่ใช้ได้เมื่อเรียกใช้ประวัติทุบตี ตัวเลือกคำสั่ง คำอธิบาย -a แสดงรายการทั้งหมด -b แสดงเฉพาะรายการล่าสุด -C เปิดใช้งานการระบายสีของเอาต์พุต -D ปิดใช้งานการแสดงรายการที่ซ้ำกัน -e ดำเนินการทุกรายการแม้ว่าจะถูกดำเนินการแล้ว -F กรองบรรทัดว่างออกจากเอาต์พุต -h ซ่อนข้อมูลที่ไม่จำเป็นจากเอาต์พุต -n จำนวนบรรทัดที่แสดงต่อหน้า -r บันทึกแทนที่จะต่อท้ายบรรทัดใหม่ในอินพุตสตรีม รักษาการประทับเวลา หมายเหตุ: ตัวเลือก --history-limit ช่วยให้คุณสามารถระบุจำนวนบรรทัดสูงสุดที่จะบันทึกในแต่ละเซสชันค่านี้ไม่สามารถเกินได้ หากพยายามแล้ว ข้อความแสดงข้อผิดพลาดจะถูกสร้างขึ้นและการดำเนินการจะหยุดทันที
วิธีที่สองในการปรับแต่งการตั้งค่าประวัติ Bash ของคุณคือการแก้ไข ~/.bashrc file ไฟล์นี้มีพารามิเตอร์คอนฟิกูเรชันส่วนกลางสำหรับสภาพแวดล้อม bash shell และส่งผลต่อผู้ใช้ทั้งหมดที่ล็อกอินผ่าน SSH หรือ su ตามค่าเริ่มต้น ~/.bashrc มีการตั้งค่าที่สำคัญหลายอย่างที่เกี่ยวข้องกับการจัดการประวัติทุบตีของคุณ ซึ่งรวมถึงการระบุว่าคำสั่งใดถูกเก็บไว้ในหน่วยความจำและคำสั่งใดถูกเขียนลงดิสก์ ตลอดจนการควบคุมระยะเวลาที่แต่ละคำสั่งดำเนินการ การตั้งค่าที่มีประโยชน์เพิ่มเติมบางอย่างที่อาจควรค่าแก่การเพิ่มใน ~/.bashrc นั้นรวมถึงการระบุว่าคีย์ใดเรียกใช้ลักษณะการทำงานแบบโต้ตอบของเชลล์ในแง่มุมต่างๆ (เช่น source ) ปิดการใช้งานการทำให้สมบูรณ์อัตโนมัติ และปิดการใช้งาน prompt redirect นี่คือตัวอย่างที่ตัดตอนมาจากไฟล์ ~/.bashrc ของฉันเอง: # ตั้งค่าเริ่มต้นส่วนกลางบางส่วนสำหรับ bash SHELL=/bin/sh HISTFILE=$HOME/.bash_history HISTSIZE=1000 # เก็บ 100 คำสั่งล่าสุดในหน่วยความจำเพื่อการเรียกคืนอย่างรวดเร็ว CMDLINE= "source $SHELL" # เปิดใช้งานการแจ้งก่อนเรียกใช้เชลล์ PROMPT_COMMAND="prompt 'Entering directory?' " PS1='[[email protected] W]$ ' # ปิดใช้งานการเติมข้อความอัตโนมัติดังนั้นเราต้องพิมพ์ทุกอย่างด้วยตนเองเมื่อใดก็ตามที่เราต้องการความช่วยเหลือ COMPREPLY=( "type `basename $0`" ) หมายเหตุ: การตั้งค่า HISTSIZE ระบุจำนวนไฟล์ที่ควร เก็บไว้ในความทรงจำได้ตลอดเวลา ค่านี้ต้องไม่เกิน 1,000 ไฟล์ หากต้องการ แต่ละเซสชันสามารถจัดเก็บประวัติที่เกี่ยวข้องทั้งหมดภายใน RAM แทนได้ อย่างไรก็ตาม อาจมีนัยเกี่ยวกับประสิทธิภาพที่เกี่ยวข้องกับการดำเนินการดังกล่าวกับระบบที่ใหญ่กว่า การจัดการพฤติกรรมเชิงโต้ตอบของ Shell ของคุณโดยใช้การโยงคีย์ วิธีเพิ่มเติมอีกวิธีหนึ่งที่คุณสามารถจัดการพฤติกรรมเชิงโต้ตอบของ Shell ได้คือการใช้การโยงคีย์
ฉันจะเข้าถึงประวัติด้วยวิธีอื่นนอกเหนือจากคำสั่งประวัติได้อย่างไร
มีวิธีอื่นในการเข้าถึงประวัติทุบตีของคุณใน Linuxตัวอย่างเช่น คุณสามารถใช้แป้นลูกศรขึ้นและลงบนแป้นพิมพ์เพื่อไปยังส่วนต่างๆ ของประวัติการเข้าชมคุณยังสามารถใช้ปุ่ม f7 และ f8 เพื่อเปิดรายการคำสั่งที่เพิ่งดำเนินการ หรือพรอมต์คำสั่ง ( Ctrl+P ) เพื่อป้อนประวัติคำสั่ง
ต่อไปนี้เป็นรายการคุณสมบัติประวัติทุบตีเพิ่มเติม:
คุณสามารถเปิดหรือปิดใช้งานคุณลักษณะประวัติของ Bash ได้โดยใช้คำสั่ง histappend และ histprepend ตามลำดับ
คุณสามารถล้างประวัติ Bash ทั้งหมดของคุณโดยใช้คำสั่ง clearhist
ฉันสามารถแบ่งปันประวัติของฉันกับผู้อื่นได้หรือไม่?ถ้าเป็นเช่นนั้นอย่างไร?
ประวัติทุบตีคือรายการคำสั่งที่คุณดำเนินการในทุบตีคุณสามารถแบ่งปันประวัติของคุณกับผู้อื่นได้โดยใช้คำสั่งประวัติคำสั่ง
มีอะไรอีกบ้างที่ฉันควรรู้เกี่ยวกับประวัติทุบตีใน Linux?
ประวัติทุบตีใน Linux เป็นเครื่องมือที่มีค่าสำหรับผู้ใช้ช่วยให้คุณสามารถย้อนกลับและทบทวนคำสั่งก่อนหน้า รวมทั้งดูคำสั่งที่รันก่อนหรือหลังคำสั่งปัจจุบันของคุณนอกจากนี้ สามารถใช้ประวัติทุบตีเพื่อเรียนรู้จากความผิดพลาดในอดีต
สิ่งที่ควรทราบเกี่ยวกับประวัติทุบตีใน Linux:
- คุณสามารถเข้าถึงประวัติทุบตีของคุณได้โดยกด "Ctrl+H" บน Windows หรือ "Alt+H" บน MacOS X
- คำสั่ง "history -c" จะแสดง 10 คำสั่งสุดท้ายที่ดำเนินการ
- คำสั่ง "history -p" จะแสดงคำสั่ง 100 คำสั่งล่าสุดที่ถูกดำเนินการ
ฉันจะหาข้อมูลเพิ่มเติมเกี่ยวกับประวัติทุบตีใน Linux ได้ที่ไหนหากจำเป็น
มีบางที่ที่คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับประวัติการทุบตีใน Linuxสถานที่แรกที่จะดูคือหน้า man สำหรับ bash ซึ่งมีรายละเอียดเกี่ยวกับวิธีเข้าถึงและใช้คุณลักษณะประวัติการทุบตีนอกจากนี้ คุณสามารถใช้คำสั่งประวัติเพื่อดูคำสั่งปัจจุบันและคำสั่งในอดีตได้สุดท้าย คุณยังสามารถใช้ตัวเลือก -h ของคำสั่ง history เพื่อแสดงข้อความช่วยเหลือสั้นๆ สำหรับแต่ละคำสั่งได้