คำถามติดแท็ก command-history

คำสั่งเรียกคืนที่พิมพ์ไว้ก่อนหน้านี้ในเชลล์หรือยูทิลิตี้อื่น ๆ

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

7
วิธีลบบรรทัดเดียวออกจากประวัติ
ฉันทำงานใน Mac OSX ดังนั้นฉันเดาว่าฉันใช้ทุบตี ... ? บางครั้งฉันป้อนบางสิ่งที่ฉันไม่ต้องการให้จดจำในประวัติศาสตร์ ฉันจะลบออกได้อย่างไร

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

14
ฉันจะทำซ้ำคำสั่งสุดท้ายโดยไม่ต้องใช้ปุ่มลูกศรได้อย่างไร
ฉันรู้ว่าฉันสามารถใช้Upเพื่อวนซ้ำคำสั่งก่อนหน้า การรันสุดท้ายคำสั่งเพียงเกี่ยวข้องกับ+Up Enterแต่ผมคิดว่าการซื้อแป้นพิมพ์แฮปปี้แฮ็กvimเป็นฉันใช้จ่ายมากของเวลาในการ แป้นพิมพ์นี้ไม่มีปุ่มลูกศรและวิธีเดียวที่ฉันรู้วิธีการทำงานประเภทนี้คือการกดCtrl+ Rและเริ่มทำซ้ำคำสั่งก่อนหน้าของฉัน มีวิธีง่าย ๆ ในการเลียนแบบUp+ Enterในเทอร์มินัล UNIX ที่ไม่มีปุ่มลูกศรหรือไม่?

5
ทำความเข้าใจกับเครื่องหมายอัศเจรีย์ (!) ในทุบตี
ฉันใช้ history | less เพื่อรับบรรทัดคำสั่งก่อนหน้าและจากตัวเลขทางด้านซ้ายมือฉันพบบรรทัดที่ต้องการซ้ำ (เช่น 22) และทำ !22 ที่พรอมต์คำสั่งและทำงานได้ - ดำเนินการชุดคำสั่งบนบรรทัดที่ฉันทำในเวลานั้น ฉันไม่สามารถทราบได้ว่ามีการใช้เครื่องหมายอัศเจรีย์อะไรในแง่ของการกระทำที่ถูกใช้โดยการทุบตีและตำแหน่งที่จะใช้ จากเอกสารฉันไม่เห็นคำอธิบายที่เป็น 'จับต้องได้'


3
^ x ^ y unix หลอกลวงสำหรับอินสแตนซ์ทั้งหมดในคำสั่งสุดท้ายหรือไม่
หนึ่งในเทคนิค Unix ที่ฉันโปรดปรานคือการ^x^yใช้คำสั่งสุดท้ายและแทนที่อินสแตนซ์แรกของ "x" ด้วย "y" แต่ฉันสงสัยว่าถ้าเป็นเคล็ดลับที่คล้ายกันทำงานเพื่อแทนที่ทุกกรณีของ "x" กับ "Y" ในคำสั่งสุดท้าย?

5
ประวัติของ bash ถูกเก็บไว้ที่ไหน?
ถ้าฉันเรียกใช้historyฉันสามารถดูคำสั่งที่เรียกใช้ล่าสุดของฉันได้ แต่ถ้าฉันทำtail -f $HISTFILEหรือtail -f ~/.bash_historyพวกเขาไม่ได้อยู่ในรายการ ไฟล์ถูกล็อคหรือไม่มีตำแหน่งชั่วคราวหรือคล้ายกัน

6
ฉันจะล้างประวัติเทอร์มินัลได้อย่างไร
ฉันใช้ Linux Mint 17.1 Rebecca เป็นเวลาประมาณ 2 วันและพิมพ์รหัสผ่านของฉันลงในเทอร์มินัลโดยไม่ได้ตั้งใจซึ่งจะปรากฏในรายการประวัติคำสั่งที่ฉันได้พิมพ์ไว้ก่อนหน้านี้ ฉันต้องการล้างประวัติเทอร์มินัลอย่างสมบูรณ์ ฉันได้ลองใช้คำสั่งต่อไปนี้ใน terminal ซึ่งฉันคิดว่าจะล้างประวัติตลอดไป แต่พวกเขาไม่ได้: history -c reset tput reset คำสั่งข้างต้น "จะ" ล้างประวัติจากเทอร์มินัล แต่เมื่อฉันออกและนำขึ้นใหม่ทั้งหมดประวัติก่อนหน้าของฉันยังคงอยู่ที่นั่นและสามารถแสดงรายการอีกครั้งโดยใช้ - คำสั่งประวัติศาสตร์และด้วยการกดลูกศรขึ้นบนแป้นพิมพ์ . ฉันไม่ต้องการให้สิ่งนี้เกิดขึ้นจนกว่าฉันจะล้างประวัติทั้งหมดของฉันแล้วฉันต้องการใช้มันต่อไป ฉันจะล้างประวัติเทอร์มินัลทั้งหมด - ตลอดไปและเริ่มต้นใหม่ได้อย่างไร โปรดทราบ: ฉันไม่ต้องการที่จะออกจากสถานีโดยไม่ต้องบันทึกประวัติศาสตร์เพียงแค่ล้างมันตลอดไปในกรณีนี้

5
ความสมบูรณ์ของบรรทัดคำสั่งจากประวัติคำสั่ง
ดังนั้นฉันจึงดูประวัติและที่Ctrl+ Rแต่พวกเขาไม่ใช่สิ่งที่ฉันคิดว่าฉันรู้ มีวิธีที่ฉันสามารถพิมพ์ในตอนต้นของคำสั่งและรอบการแข่งขันในประวัติศาสตร์ของฉันด้วยทางลัดทุบตี? # mysq(some shortcut key) ให้ฉัน: # mysqldump --add-drop-table -e -q -n -C -u (some shortcut key) # mysql -u ben.dauphinee -p

6
ประวัติทุบตี:“ การเพิกเฉย” และ“ การลบ” การตั้งค่าความขัดแย้งกับประวัติทั่วไประหว่างเซสชัน
ก่อนอื่นสิ่งนี้ไม่ได้ซ้ำกับเธรดที่มีอยู่ใน SE ฉันได้อ่านสองกระทู้นี้ ( ครั้งที่ 1 , ครั้งที่ 2 ) เกี่ยวกับประวัติทุบตีที่ดีขึ้น แต่ไม่มีคำตอบใดที่ทำงานได้ดี - ฉันมาที่ Fedora 15 แล้ว ฉันได้เพิ่มสิ่งต่อไปนี้ใน.bashrcไฟล์ในไดเรกทอรีผู้ใช้ (/ home / aahan /) และมันไม่ทำงาน ใครมีเงื่อนงำ? HISTCONTROL=ignoredups:erasedups # no duplicate entries HISTSIZE=1000 # custom history size HISTFILESIZE=100000 # custom history file size shopt -s histappend # append to history, don't overwrite …

14
วิธีที่ดีที่สุดในการค้นหาประวัติของเชลล์
มีวิธีที่ดีกว่าในการค้นหาไฟล์ประวัติสำหรับคำสั่งมากกว่า grep หรือไม่? ฉันมีความคิดบางอย่างว่าคำสั่งเริ่มต้นอย่างไร แต่ฉันไม่รู้ว่ามันจะย้อนกลับไปนานแค่ไหนในประวัติศาสตร์ อัปเดต:ก่อนหน้านี้มีเฉพาะ zsh แต่เนื่องจากคำตอบที่ทับซ้อนกันคุณสามารถตอบเชลล์ (หรือโหมด (vi / emacs)) ใด ๆ ได้ที่นี่โปรดทราบว่ามันเฉพาะเจาะจงหรือไม่

9
ค้นหาคำสั่งก่อนหน้าด้วยคำนำหน้าฉันเพิ่งพิมพ์
เราสามารถใช้ลูกศรขึ้นและลงเพื่อเลื่อนดูประวัติคำสั่ง ใน IDEs บางตัวเช่น Matlab หากเราป้อนบางสิ่งแล้วกดปุ่มลูกศรเราจะเลื่อนเฉพาะคำสั่งประวัติที่เริ่มต้นด้วยสิ่งที่เรามีอินพุต สะดวกมาก แต่ในเชลล์เทอร์มินัลสิ่งนี้ไม่ทำงาน มีวิธีรับฟังก์ชั่นที่คล้ายกันในเชลล์เทอร์มินัลไหม? และเคล็ดลับอื่น ๆ สำหรับการปรับปรุงประสิทธิภาพในการใช้เทอร์มินัล?

4
มีวิธีใดที่จะป้องกันไม่ให้มีการเพิ่มคำสั่งในประวัติของคุณหรือไม่?
มีวิธีใดที่จะป้องกันไม่ให้มีการเพิ่มคำสั่งในประวัติของคุณหรือไม่? ฉันมีคำสั่งที่ฉันต้องการให้ออกจากไฟล์ประวัติของฉันและฉันไม่สนใจที่จะมีมันเมื่อฉันค้นหาประวัติที่เก็บไว้ในหน่วยความจำแม้ว่ามันจะน้อยกว่าความกังวล มีวิธีการป้องกันหรือไม่ฉันต้องย้อนกลับและแก้ไขไฟล์ประวัติของฉัน ปรับปรุง:ฉันไม่ได้ตระหนักว่านี่อาจเป็นแบบเฉพาะเชลล์ zshเปลือกของฉันคือ คุณยินดีที่จะตอบสำหรับเชลล์อื่น ๆ เพื่อให้ผู้คนรู้วิธีทำสิ่งนี้ในเชลล์ของพวกเขา

1
ประวัติคำสั่งใน Zsh
Zsh ติดตามประวัติคำสั่งอย่างไร ผมเห็นสองไฟล์ในไดเรกทอรีบ้านของฉัน: และ.zhistory .zsh_historyความแตกต่างระหว่างพวกเขาคืออะไร? ไฟล์ดูเหมือนจะมีประวัติทั้งหมดของฉัน Zsh จะเพิ่มบรรทัดต่อท้ายให้กับหนึ่งในนั้นตลอดไปหรือไม่? นั่นจะทำให้การค้นหาประวัติช้าเกินไปหรือไม่ ฉันสามารถสร้างลิงก์สัญลักษณ์ไฟล์เหล่านี้ไปยังตำแหน่งอื่นได้อย่างปลอดภัยหรือไม่? (เช่นที่เก็บ git เพื่อติดตามการเปลี่ยนแปลงประวัติ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.