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

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


5
วิธีการลบคำสั่งในประวัติศาสตร์ที่ตรงกับสตริงที่กำหนด?
ฉันต้องลบคำสั่งทั้งหมดในประวัติของฉันที่ตรงกับสตริง ฉันได้พยายาม: $ history | grep searchstring | cut -d" " -f2 | history -d -bash: history: -d: option requires an argument $ history | grep searchstring | cut -d" " -f2 | xargs history -d xargs: history: No such file or directory $ temparg() { while read i; do …

1
วิธีการซิงค์ประวัติคำสั่งเซสชันเทอร์มินัลในทุบตี?
ฉันพยายามค้นหา~/.bash_historyคำสั่งล่าสุดของฉันขณะที่อยู่ในเซสชันเทอร์มินัล แต่พวกเขาไม่ได้อยู่ที่นั่น ฉันเดาว่าเป็นเพราะฉันเปิดเซสชันเทอร์มินัลหลายครั้ง มีวิธีที่ฉันสามารถซิงค์ (เช่น sync-push หรือ sync-write-out) ประวัติคำสั่งของเทอร์มินัลเซสชันปัจจุบันลงในไฟล์ bash_history (โดยไม่ต้องปิดเซสชันและสูญเสียสภาพแวดล้อมนั้น) หรือไม่ (มันจะคล้ายกันในระยะไกลในความคิดกับวิธีที่syncคำสั่งเก็บการแก้ไขระบบไฟล์ในบางระบบ) ฉันคิดว่าฉันสามารถตั้งค่า bash เพื่อเก็บรักษาประวัติเซสชันได้หลายครั้ง แต่ความสามารถในการพุชบัฟเฟอร์ประวัติปัจจุบันจะยังคงมีประโยชน์ในสถานการณ์เมื่อคุณทำงานกับเครื่องใหม่และคุณลืมตั้งค่า bash อย่างที่คุณอาจต้องการ .

3
ค้นหาคำสั่งในประวัติศาสตร์ด้วยคำหลักที่ไม่ต่อเนื่อง
ฉันสงสัยว่าจะค้นหาคำสั่งในประวัติศาสตร์โดยไม่ทราบตัวอักษรสองสามตัวแรกของคำสั่งได้อย่างไร เมื่อค้นหาโดยใช้Ctrl- Rใน bash เราจะต้องให้ตัวอักษรสองสามตัวแรกของคำสั่ง ถ้าฉันรู้จักตัวละครบางตัวที่อยู่ตรงกลางหรือบางตัวที่จุดเริ่มต้นและบางตัวที่อยู่ตรงกลาง ตัวอย่างเช่นในการค้นหาcat myfileฉันรู้เพียงว่ามีอยู่atในนั้นหรือcที่จุดเริ่มต้นและmyตรงกลางที่ใดที่หนึ่ง คำหลักจะต้องอยู่ในตำแหน่งอย่างต่อเนื่อง ยกตัวอย่างเช่นในcat myfileผมอยากที่จะค้นหาทั้งcและmyแต่Ctrl+Rจะไม่อนุญาตให้มีการระบุทั้งสองพร้อมกัน

2
ฉันจะยกเลิก fc โดยไม่ต้องดำเนินการคำสั่งได้อย่างไร
คำสั่ง fc จะอนุญาตให้แก้ไขด้วยสายตาของคำสั่งก่อนหน้า หากฉันเปลี่ยนใจในเครื่องมือแก้ไขฉันจะหยุดคำสั่งไม่ให้ทำงานได้อย่างไร ในกลุ่มให้พิมพ์ q! หรือ q ทั้งสองผลลัพธ์ในคำสั่งที่กำลังดำเนินการและ CTRL-C ไม่ทำงานอย่างใดอย่างหนึ่ง เป็นตัวเลือกเดียวที่จะลบคำสั่งในตัวแก้ไขแล้ว wq?

8
วิธีการเข้าถึงประวัติทันทีใน Unix?
ตัวอย่างเช่นถ้าฉันทำ mkdir thisismyfolder912 ฉันจำได้ว่ามีวิธีที่ง่ายกว่าในการสลับไปใช้thisismyfolder912มากกว่าทำ cd thisismyfolder912 มันคืออะไรและมันทำงานอย่างไร นอกจากนี้วิธีอื่น ๆ ที่ฉันสามารถใช้คืออะไร

2
จะเลิกทำการเปลี่ยนแปลงใน command-history ได้อย่างไร?
ในระบบ UNIX คุณสามารถกดลูกศรบนและล่างเพื่อเลื่อนดูคำสั่งก่อนหน้า มันมีประโยชน์มาก บางครั้งฉันก็ขึ้นไปและพบคำสั่งที่ฉันต้องการใช้อีกครั้ง แต่มีรูปแบบบางอย่าง historyถ้าฉันจะเปลี่ยนแปลงดังกล่าวแล้วผมไม่ได้มีวิธีการที่จะได้รับกลับคำสั่งเดิมจนกว่าฉันตรวจสอบใน มีวิธีใดบ้างที่จะ "เลิกทำ" การเปลี่ยนแปลงคำสั่งในประวัติการเข้าใช้ผ่านทางคีย์? วิธีแก้ปัญหาปัจจุบันของฉันคือการผนวก#คำสั่ง วิธีนี้ดำเนินการคำสั่งปัจจุบันเป็นความคิดเห็นจึงไม่มีอะไรเกิดขึ้น จากนั้นฉันสามารถเรียกดูอีกครั้งผ่านคำสั่งด้วยปุ่มต่างๆ ปัญหาคือว่าคำสั่งที่ฉันใช้อาจจะเป็นรายการที่อยู่ห่างไกลในรายการดังนั้นการขึ้นอีกสองร้อยครั้งนั้นค่อนข้างน้อย Control + R ไม่ใช่วิธีแก้ปัญหาอย่างใดอย่างหนึ่งเนื่องจากฉันอาจจำไม่ได้ว่าสิ่งที่ฉันกำลังมองหา ตัวอย่าง ฉันพิมพ์ "50 คำสั่งที่ผ่านมา" ต่อไปนี้: ls -l /etc/httpd/conf/ ตอนนี้ฉันขึ้นไปที่บรรทัดนั้นและเปลี่ยนเป็น ls -l /etc/init.d/ แต่ไม่ได้กด Enter ตอนนี้ฉันต้องการไปที่ls -l /etc/httpd/conf/อีกครั้ง สภาพแวดล้อมของฉัน $ echo $SHELL /bin/bash $ echo $TERM xterm

3
การแชร์หรือซิงโครไนซ์ประวัติระหว่าง Zsh และ Bash
ฉันมักจะพบว่าตัวเองสลับระหว่าง Bash และ Zsh และใช้ฟังก์ชันการค้นหาประวัติเพื่อกู้คืนคำสั่ง อย่างไรก็ตามเนื่องจาก Bash และ Zsh มีไฟล์ประวัติที่แตกต่างกันฉันมักจะพบว่าคำสั่งที่ฉันค้นหาถูกเรียกใช้งานในเชลล์อื่น มีวิธีการแบ่งปันหรือซิงโครไนซ์ประวัติระหว่างทั้งสองหรือไม่

1
ย้ายกลับไปที่จุดสิ้นสุดของประวัติทุบตีเมื่อใช้การค้นหาแบบย้อนกลับหรือไม่
ฉันเก็บประวัติทุบตีไว้ค่อนข้างนานและบางครั้งเมื่อฉันค้นหาบางอย่างด้วยฟังก์ชันค้นหาย้อนกลับของทุบตี ( Ctrl+ r) ฉันสิ้นสุดที่จุดเริ่มต้นของประวัติการค้นหาและฉันยังไม่พบสิ่งที่ฉันต้องการจากนั้นฉันต้องการย้ายกลับไปยังจุดสิ้นสุด ของไฟล์ประวัติ ทางเลือกหนึ่งคือการใช้ฟังก์ชั่นการค้นหาไปข้างหน้า ( Ctrl+ s) ซึ่งเคลื่อนเข้าใกล้จุดสิ้นสุดของประวัติศาสตร์หรือดำเนินการ#แต่ยังมีแป้นพิมพ์ลัดเพื่อย้ายไปยังจุดสิ้นสุดของประวัติทุบตีโดยตรงหรือไม่

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

2
วิธีการเข้าถึงอาร์กิวเมนต์ที่สองจากคำสั่งสุดท้ายในประวัติศาสตร์?
ฉันเริ่มเรียนรู้ Regex บางอย่างดังนั้นฉันใช้คำสั่งนี้ซ้ำ ๆ : grep pattern /usr/share/dict/american-english เฉพาะส่วนที่มีการเปลี่ยนแปลงรูปแบบดังนั้นฉันต้องเขียนนิพจน์แบบยาว " / usr / share / dict / american-english " ซ้ำแล้วซ้ำอีก ใครบางคนทำข้อสังเกตว่ามันเป็นไปได้ที่จะขยายการโต้แย้งของคำสั่งจากประวัติคำสั่งโดยการพิมพ์ชุดอักขระที่เป็นความลับแทนการแสดงออกเต็มรูปแบบ คุณช่วยบอกชุดอักขระที่เป็นความลับเหล่านั้นให้ฉันได้ไหม

2
ขยายเชลล์ย่อยก่อนเรียกใช้งานหรือไม่
ฉันมักเรียกใช้คำสั่งโดยใช้ subshells และบางครั้งต้องการที่จะขยาย subshells ก่อนที่ฉันจะทำงานบางอย่าง .. วิธีนี้ฉันสามารถตรวจสอบสิ่งที่ฉันทำและอาจแก้ไขสิ่งที่เกิดขึ้นเช่นกัน ตัวอย่างเช่นฉันจะขยายบรรทัดคำสั่งต่อไปนี้ก่อนที่จะเรียกใช้เพื่อให้ฉันสามารถแก้ไขผลลัพธ์ของ subshell ได้อย่างไร เช่น $ find -name "test.txt" /tmp/test.txt $ mv $(!!) /tmp/new.txt ฉันต้องการเห็น subshell ขยายก่อนที่ฉันเรียกใช้คำสั่งเช่น: $ mv /tmp/test.txt /tmp/new.txt มีวิธีการทำเช่นนี้?

2
การทำนายบรรทัดคำสั่ง
ฉันได้พบเอกสารที่น่าสนใจ: การคาดการณ์บรรทัดคำสั่ง UNIXเกี่ยวกับการคาดการณ์บรรทัดคำสั่ง (จากกิจกรรมที่ผ่านมาของผู้ใช้) และฉันสงสัยว่ามีการใช้งานจริงของสิ่งนั้นหรือไม่?

2
อ่านประวัติ
ฉันจะสร้างreadประวัติการสนับสนุนคำสั่งbuiltin ได้อย่างไรโดยการกดปุ่มขึ้น / ลงเพื่อวนรอบพวกเขา ฉันพยายามจับเมื่อคุณกดปุ่ม up แต่ดูเหมือนจะไม่ทำงานกับread: read -p '> ' -n 3 foo echo echo -n "$foo" | hexdump การกดปุ่มลูกศรดูเหมือนว่าจะใช้งานได้และฉันสามารถตรวจจับได้โดยใช้สิ่งนี้ แต่ถ้าฉันกดaa↑มันจะล้มเหลวเนื่องจากมันจะอ่านตัวอักษรแรกของตัวระบุของลูกศรขึ้นเท่านั้นในขณะที่ตัวที่สามจำเป็นต้องแยกลูกศรที่แตกต่างกัน กุญแจ

4
ฉันสามารถค้นหาประวัติของฉันผ่านหน้าต่างหน้าจอหลาย ๆ
screenเซสชั่นปัจจุบันของฉันมี 12 หน้าต่างที่เปิดอยู่ มันกำลังทำงานเป็นเวลาหลายสัปดาห์ ... ฉันรู้ว่าฉันดำเนินการconvertคำสั่งImageMagick ในหนึ่งใน 12 หน้าต่างหน้าจอเหล่านี้บางครั้งเมื่อสัปดาห์ที่แล้ว ... มีวิธีใดที่ฉันสามารถค้นหาประวัติ Bash ของทั้ง 12 อินสแตนซ์ได้โดยง่ายhistory | grep convertในทั้ง 12 หน้าจอ?

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