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

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

7
ฉันจะลบรายการที่ซ้ำกันใน. bash_history ของฉันเพื่อรักษาลำดับได้อย่างไร
ฉันสนุกกับการใช้control+rเพื่อค้นหาประวัติคำสั่งของฉันซ้ำ ๆ ฉันพบตัวเลือกที่ดีบางอย่างที่ฉันชอบใช้กับมัน: # ignore duplicate commands, ignore commands starting with a space export HISTCONTROL=erasedups:ignorespace # keep the last 5000 entries export HISTSIZE=5000 # append to the history instead of overwriting (good for multiple connections) shopt -s histappend ปัญหาเดียวสำหรับฉันคือการerasedupsลบรายการที่ซ้ำกันตามลำดับเท่านั้นดังนั้นด้วยคำสั่งสตริงนี้: ls cd ~ ls lsคำสั่งจริงจะถูกบันทึกไว้เป็นครั้งที่สอง ฉันคิดเกี่ยวกับการทำงานเป็นระยะ ๆ ด้วย: cat .bash_history | …

3
ด้วย BASH หลังจาก“ เลื่อน” ขึ้นไปยังคำสั่งก่อนหน้า…จะเลื่อนไปยังขั้นถัดไปในประวัติศาสตร์นี้ได้อย่างไร?
ขออภัยชื่อนี้ไม่ได้หรูหราที่สุดที่ฉันเคยคิด แต่ฉันคิดว่าผู้คนจำนวนมากจะสงสัยในสิ่งนี้และคำถามของฉันอาจจะเป็นคนหลอกลวง ... ทั้งหมดที่ฉันสามารถพูดได้คือฉันไม่ได้พบมัน เมื่อฉันพูดว่า "การเลื่อน" ขึ้นฉันหมายถึงการใช้ปุ่ม "ลูกศรขึ้น" บนแป้นพิมพ์ซึ่งเห็นได้ชัดว่าคุณเลื่อนขึ้นผ่านประวัติศาสตร์เริ่มต้นที่คำสั่งล่าสุด ดังนั้นคุณจะพบคำสั่งที่อาจ 30 คำสั่งกลับมา ... และคุณเรียกใช้ และจากนั้นคุณต้องการเรียกใช้คำสั่งที่มาหลังจากนั้น ... มีวิธีที่รวดเร็วในการทำเช่นนี้หรือ หรือคนที่พูดภาษา BASH คล่องแคล่วทำเช่นนี้ได้อย่างไร?

11
ฉันจะล้างประวัติเทอร์มินอล Gnome ได้อย่างไร
เมื่อเราใช้clearคำสั่งหรือCtrl+ Lในเทอร์มินัลมันจะทำการล้างเทอร์มินัล แต่เรายังสามารถเลื่อนกลับเพื่อดูคำสั่งที่ใช้ล่าสุด มีวิธีล้างเทอร์มินัลอย่างสมบูรณ์หรือไม่?

11
ฉันจะค้นหาประวัติด้วยข้อความที่ป้อนไว้แล้วที่พร้อมท์ใน zsh ได้อย่างไร
ใน zsh, ฉันรู้ว่าฉันสามารถค้นหาประวัติกับ+Ctrl rอย่างไรก็ตามบ่อยครั้งที่ฉันเริ่มพิมพ์คำสั่งโดยตรงที่พรอมต์ แต่จากนั้นตระหนักว่าฉันควรจะค้นหาประวัติ เมื่อฉันกดCtrl+ rมันจะแสดงพรอมต์การค้นหาประวัติว่างดังนี้: แจ้งให้ทราบว่ามีข้อความที่ฉันแจ้งให้ แต่ไม่ได้ที่แจ้งให้ค้นหาประวัติ ฉันจะเริ่มการค้นหาประวัติด้วยข้อความที่มีอยู่ในพร้อมท์แล้วได้ดังนั้นจะมีลักษณะเช่นนี้:

7
ใส่คำสั่ง history ลงบนบรรทัดคำสั่งโดยไม่ต้องดำเนินการ
ฉันใช้! n โดยที่ (n) คือหมายเลขบรรทัดสำหรับการดำเนินการบรรทัดในไฟล์ประวัติที่ฉันต้องการดำเนินการที่พรอมต์คำสั่งที่ฉันค้นหาผ่าน history | less แต่มีเหตุการณ์ประวัติบรรทัดคำสั่งที่ฉันต้องการแก้ไขด้วยตนเอง ฉันจะแทรกเนื้อหาเหตุการณ์ประวัติศาสตร์โดยไม่ดำเนินการในบรรทัดคำสั่งได้อย่างไรเพื่อให้ฉันสามารถแก้ไขและกดกลับได้ ที่ดีที่สุด

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

5
ฉันจะสามารถ 'alias sudo !!' ได้อย่างไร?
ฉันกำลังพยายามตั้งชื่อแทนสำหรับsudo !!ใน Bash ฉันพยายามalias sbb='sudo !!'แต่มันตีความว่าเป็นตัวอักษร !!และภาพพิมพ์ sudo: !!: command not found ถ้าฉันใช้อัญประกาศคู่มันจะใช้แทนการทำซ้ำสองครั้งในสตริงของตัวเองดังนั้นจึงไม่ทำงาน มีวิธีการทำงานนี้หรือไม่? หรือชื่อแทนอื่น `

5
วิธีรันคำสั่งติดต่อกันจากประวัติ
สมมติว่าฉันต้องการรันคำสั่งสี่คำสั่งที่ฉันได้ดำเนินการมาก่อน หากคนแรกคือ 432 ในประวัติศาสตร์คำสั่งจากนั้นฉันสามารถทำได้: $ !432; !433; !434; !435 ฉันอยากรู้อยากเห็นมีวิธีที่มีประสิทธิภาพมากขึ้นเพื่อให้บรรลุนี้

1
ทำไมทุบตีไม่เก็บคำสั่งที่ขึ้นต้นด้วยช่องว่าง
ถ้าฉันทำลำดับของคำสั่งเช่น: $ ls $ grep abc file.txt จากนั้นใช้ปุ่มลูกศรขึ้นเพื่อรับค่าก่อนหน้าเทอร์มินัลจะแสดง cmd ล่าสุด (ซึ่งอยู่ที่grepนี่) แต่ถ้าฉันทำอะไรแบบนี้: $ ls $ grep abc file.txt ที่grepจะนำหน้าด้วยช่องว่างกดขึ้นจะช่วยให้ไม่ได้lsgrep ทำไมนี้

2
ฉันจะค้นหาย้อนกลับในโหมด vi ของ ZSH ได้อย่างไร
ฉันใช้vimสำหรับความต้องการแก้ไขทั้งหมดของฉันดังนั้นฉันตัดสินใจลองใช้โหมด vi สำหรับเชลล์ของฉันอีกครั้ง (ปัจจุบัน ZSH w / oh-my-zsh บน OS X) แต่ฉันพบว่าตัวเองพยายาม (และล้มเหลว) เพื่อใช้งานCtrl-Rอย่างต่อเนื่อง คีย์ที่มีผลผูกพันเทียบเท่าคืออะไร และสำหรับการอ้างอิงในอนาคตฉันจะเข้าใจตัวเองได้อย่างไร ฉันค่อนข้างมั่นใจว่าฉันสามารถใช้bind -Pในการทุบตี

4
ประวัติไม่ จำกัด ใน zsh
ในzshฉันต้องการมีประวัติไม่ จำกัด ฉันตั้งHISTSIZE=ซึ่งใช้งานbashได้ ตอนนี้ฉันนำเข้าประวัติเก่า mv old_history .history ซึ่งค่อนข้างใหญ่ wc -l .history 43562 .history ถ้าฉันปิดแล้วเริ่มzshใหม่อีกครั้งฉันจะเห็น wc -l .history 32234 .history ฉันมีประวัติไม่ จำกัด ได้zshหรือไม่?

3
ลบบรรทัด N สุดท้ายจากประวัติทุบตี
เมื่อตั้งใจวางไฟล์ลงในเชลล์มันจะใส่รายการไร้สาระที่น่าเกลียดมากมายในประวัติทุบตี มีวิธีที่สะอาดในการลบรายการเหล่านั้นหรือไม่ เห็นได้ชัดว่าฉันสามารถปิดเชลล์และแก้ไข.bash_historyไฟล์ด้วยตนเอง แต่อาจมี API บางชนิดที่สามารถแก้ไขประวัติของเชลล์ปัจจุบันได้หรือไม่

2
วิธีนำทางภายในการค้นหาแบบย้อนกลับของ bash
ข้อเสนอทุบตีทำงานเพื่อค้นหากลับผ่าน+Ctrl Rจากนั้นหนึ่งสามารถพิมพ์ในส่วนหนึ่งของคำสั่งมันจะแสดงรายการที่เหมาะสมจากประวัติศาสตร์ สมมติว่านี่เป็นประวัติของฉัน: vim foo1 vim foo2 # I want to go here vim foo3 # this is where I land, how to go back? fooฉันค้นหา กดปุ่มCtrl+ Rอีกครั้งจะแสดงรายการค้นหาที่เหมาะสมถัดไป บ่อยครั้งที่มันเกิดขึ้นกับผมว่าผมเร็วเกินไปและการสำรวจที่ผ่านมาผลตั้งใจของฉันและแสดงให้เห็นและตอนนี้ฉันต้องการที่จะกลับไปvim foo3vim foo2 ดังนั้นคำถามของฉันคือฉันจะนำทางภายในการค้นหาแบบย้อนกลับได้อย่างไร

4
วิธีการรับ N คำสั่งสุดท้ายจากประวัติ
historyผมต้องการที่จะเห็นสิ่งที่เป็นคำสั่งที่ไม่มีข้อความสุดท้ายในของฉัน ฉันคิดว่าhistory | tail -n 5จะทำ แต่ฉันสังเกตเห็นว่าคำสั่งหลายบรรทัดนับเป็นหลายบรรทัดตามที่มี $ echo "hello how are you" $ history | tail -2 how are you" 1051 history | tail -2 ดังนั้นคำถามของฉันคือฉันต้องแยกวิเคราะห์ผลลัพธ์ของคำสั่งเพื่อทำสิ่งนี้ให้สำเร็จหรือไม่?

12
วิธีการจัดเก็บและเข้าถึงคำสั่งที่ใช้บ่อยอย่างรวดเร็ว?
ฉันมีคำสั่งจำนวนมากที่ฉันต้องเรียกใช้งานเป็นประจำบ่อยครั้งที่มีความแปรปรวนน้อยที่สุด ตอนนี้ฉันกำลังเก็บพวกมันทั้งหมด.bash_historyและใช้CTRL- Rเพื่อเข้าถึงพวกเขา แต่ฉันสงสัยว่ามีวิธีที่ดีกว่านี้ไหม สิ่งที่ฉันกำลังมองหา: ง่ายต่อการเพิ่มคำสั่งใหม่ ง่ายต่อการค้นหาและดำเนินการคำสั่งที่ต้องการอีกครั้ง หลีกเลี่ยงคำสั่งที่ไม่ต้องการในคำแนะนำ แต่น่าเสียดายที่ Bash_history ไม่เป็นเช่นนั้นที่แข็งแกร่งในความต้องการที่สาม: ถ้าผมทำไม่กี่cdและlsก็เติมแฟ้มประวัติได้อย่างรวดเร็ว ฉันเพิ่งเรียนรู้เกี่ยวกับHIST_SIZEและคุณสามารถกำหนดค่าประวัติเพื่อหลีกเลี่ยงการทำซ้ำหรือคำสั่งบางอย่าง แต่ก่อนที่จะกำหนดค่าทั้งหมดที่ฉันต้องการเพื่อให้แน่ใจว่ามันเป็นวิธีที่ดีที่สุด

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