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

คำถามเกี่ยวกับคุณสมบัติประวัติคำสั่งของเชลล์บรรทัดคำสั่งเช่น Windows 'CMD และ Bash บนระบบที่ใช้ Unix - คุณลักษณะที่จัดเก็บและจัดการกับคำสั่งเชลล์ที่ดำเนินการก่อนหน้านี้


2
การทำให้ประวัติ Oh-my-zsh เสร็จสมบูรณ์
ผมได้เปลี่ยนเร็ว ๆ นี้เพื่อ zsh ใช้ของ oh-my-zshrobbyrussell ก่อนหน้านั้นฉันใช้ทุบตีกับสิ่งที่กำหนดเองจำนวนมากและฉันพลาดสิ่งเดียวไปเพราะ zsh พยายามที่จะ 'ฉลาดเกินไป': ถ้าฉันพิมพ์git commitและจากนั้น↑zsh จะผ่านgitคำสั่งล่าสุดทั้งหมด สิ่งที่ฉันต้องการจริงๆคือการทำตามคำสั่งทั้งหมดที่ขึ้นต้นด้วยgit commit(ไม่ใช่แค่git) ฉันจะบรรลุพฤติกรรมนี้ใน (oh-my-) zsh ได้อย่างไร

3
ฉันจะเพิ่มคำสั่งในประวัติ Bash โดยไม่ต้องดำเนินการได้อย่างไร
ทุกขณะนี้จะเป็นประโยชน์ในการเพิ่มคำสั่งลงในประวัติใน Bash โดยไม่ต้องดำเนินการใด ๆ จนถึงตอนนี้สิ่งที่ฉันได้พบคือการเพิ่ม#ด้านหน้าและการตีกลับ มีวิธีที่ดีกว่านี้ไหม?

2
ประวัติคำสั่งใน zsh
ขณะนี้ฉันได้ตั้งค่า zsh ในลักษณะที่ประวัติการแบ่งปันคำสั่งระหว่างเซสชันทั้งหมดทันที สมมติว่าฉันมีเทอร์มินัลอีมูเลเตอร์เปิดด้วยสองแท็บแต่ละตัวมีเซสชัน zsh, A1 และ A2 หากฉันป้อนls -laใน A1 แล้วไปที่ A2 แล้วกดปุ่มลูกศรขึ้นฉันจะเห็นls -laในพรอมต์คำสั่ง ฉันต้องการเปลี่ยนเพื่อไม่ให้เซสชันแชร์ประวัติคำสั่งซึ่งกันและกันแม้ว่าเมื่อคุณเริ่มเซสชันใหม่มันจะได้รับประวัติก่อนหน้าทั้งหมดจากเซสชันทั้งหมดก่อนหน้านี้

7
จะดูประวัติคำสั่งของผู้ใช้รายอื่นใน Linux ได้อย่างไร?
ฉันจะดูประวัติคำสั่งของผู้ใช้รายอื่นได้อย่างไร? ฉันเป็นผู้ดูแลระบบในเครื่องของฉัน ฉันสามารถดูประวัติปกติโดยการดู/home/user_name/.bash_historyแต่ผมไม่สามารถดูคำสั่งที่เมื่อพวกเขากำลังทำuser_namesudo มีวิธีดูคำสั่งทั้งหมดที่ดำเนินการโดยผู้ใช้รายเดียวหรือไม่?

2
(reverse-i-search) ใน Bash
ฉันมักจะใช้CTRL+ rสำหรับ (reverse-i-search) แต่บางครั้งฉันก็ผ่านคำสั่งที่ฉันกำลังมองหา; หากฉันทำอีกครั้ง(reverse-i-search)จะไม่สามารถหาได้อีกต่อไป ฉันถือว่าตัวชี้ปัจจุบันของประวัติคำสั่งอยู่ก่อนคำสั่งที่ฉันค้นหา ไม่มีใครรู้วิธีที่จะกลับไปที่คำสั่งปัจจุบันมากที่สุดในประวัติศาสตร์โดยไม่ต้องคลิก 1,000 ครั้งdown arrow?

6
แยกค้นหาลูกศรขึ้นสำหรับประวัติ ZSH ในพื้นที่และทั่วโลก
เป็นไปได้ที่จะ ... เพิ่มประวัติเชลล์ ZSH ในพื้นที่ (การกระทำเกิดขึ้นในพรอมต์นั้นเท่านั้น) เพิ่มระดับประวัติ ZSH ทั่วโลก (เปิดใช้งานประวัติที่แชร์) - เริ่มต้นสิ่งที่เกิดขึ้นเมื่อคุณกดลูกศรขึ้นเมื่อเปิดใช้งานประวัติที่แชร์ ... แยกจากกัน ตัวอย่างหนึ่งอาจผูก CTRL + ขึ้นสำหรับประวัติศาสตร์โลกปกติสำหรับประวัติศาสตร์ท้องถิ่น ในขณะเดียวกันก็เหมาะสมที่จะใช้ประวัติศาสตร์โลกสำหรับการค้นหาประวัติย้อนหลัง (เช่นCTRL+ R) สิ่งนี้อาจเพิ่มความเร็วการดำเนินการเชลล์บางส่วนเนื่องจากการดำเนินการบางอย่างเฉพาะกับหน้าต่างเชลล์นั้นและคุณต้องการกลับไปใช้

3
ทุบตีบันทึกประวัติโดยไม่ต้องออก
ใน linux ubuntu terminal bash มีวิธีการบันทึกประวัติทุบตีโดยไม่ต้องเขียนออก? ฉันได้ตั้งค่ากำหนดเป็น "HISTCONTROL = erasedups" ซึ่งในความคิดของฉันทำงานได้ดีกว่าการเพิกเฉย อย่างไรก็ตามด้วยเหตุผลบางอย่างมันจะไม่บันทึกคำสั่งสองสามคำสั่งสุดท้ายในเทอร์มินัล bash ยกเว้นว่าฉันพิมพ์ใน "exit" ฉันคุ้นเคยกับการคลิกกากบาทบนหน้าต่างเทอร์มินัลดังนั้นฉันรำคาญเสมอว่าคำสั่งสุดท้ายไม่ได้รับการบันทึกเมื่อฉัน relogin เตือนความจำ: http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/#more-130

3
พรอมต์คำสั่งของ Windows: วิธีการเปลี่ยนขนาดของหน้าต่างประวัติคำสั่ง?
การกดF7ในหน้าต่างพรอมต์คำสั่ง Windows จะแสดงหน้าต่างคอนโซลพร้อมประวัติคำสั่ง (รายการคำสั่งก่อนหน้า) ฉันจะเปลี่ยนขนาดของหน้าต่างประวัติคำสั่งนี้ได้อย่างไร ตัวอย่างเช่นฉันอาจต้องการเห็นคำสั่งเพิ่มเติม (เพิ่มความสูงของหน้าต่างนี้) หรือดูคำสั่งที่ยาวขึ้น (เพิ่มความกว้างของหน้าต่างนี้) โปรดทราบว่าฉันหมายถึงหน้าต่างประวัติคำสั่งไม่ใช่หน้าต่างพรอมต์คำสั่ง

1
คุณจะกลับทิศทางของ alt-period ใน Bash ได้อย่างไร?
ใน Bash คุณสามารถกดAlt- .เพื่อแทรกอาร์กิวเมนต์สุดท้ายของคำสั่งก่อนหน้า หากคุณกดหลายครั้งมันจะวนไปตามอาร์กิวเมนต์สุดท้ายของคำสั่งทั้งหมดในประวัติของคุณ อย่างไรก็ตามบางครั้งฉันก็กดหลายครั้งเกินไปและฉันต้องการกลับทิศทางของการปั่นจักรยาน เป็นไปได้ไหม (เช่นหากคุณย้อนกลับการค้นหาด้วยCtrl- rคุณสามารถเปลี่ยนเส้นทางด้วยCtrl- sอะนาล็อกสำหรับAlt- .คืออะไร)

4
หากต้องการทราบว่า IP ใดดำเนินการคำสั่งบางอย่างใน linux โดยใช้ ssh
มีเซิร์ฟเวอร์ที่เข้าถึงได้โดยผู้ใช้หลายคนโดยใช้ ssh ฉันพยายามที่จะคิดออกว่าผู้ใช้ดำเนินการคำสั่งบางอย่าง ฉันจะรู้ว่ารายการของผู้ใช้ในปัจจุบันเข้าถึงเซิร์ฟเวอร์โดยใช้นอกจากนี้ผมจะรู้ว่ารายการของคำสั่งดำเนินการโดยใช้who history แต่จะรู้ได้อย่างไรว่าผู้ใช้คนใดที่ดำเนินการคำสั่งเหมือนcp file1.sh file2.shในเซิร์ฟเวอร์? ผู้ใช้ได้ดำเนินการคำสั่งและออกจากระบบแล้ว

1
ฉันจะเปลี่ยนตำแหน่งไฟล์. bash_history ได้อย่างไร
ฉันใช้ CentOS 6.x และต้องการย้าย. bash_history ไปยังตำแหน่งอื่น โฮมไดเรกทอรีของผู้ใช้ของฉันคือ (เพราะฉันเรียกใช้ VPS) /var/www/vhost/<domain>.<tld>ซึ่งสามารถเข้าถึง FTP ได้ (และควรจะเป็น) ด้วยเหตุนี้ฉันได้เปลี่ยนการAuthorizedKeysFileเชื่อมต่อ SSH ผิดปกติ~/.ssh/authorized_keysเนื่องจากการเชื่อมต่อ FTP จะสามารถค้นหาได้ง่าย ในเวลาเดียวกันฉันต้องการย้าย.bash_historyไฟล์ไปยัง/home/%u/.bash_historyที่ที่%uผู้ใช้ปัจจุบันอยู่

4
วิธีการเลือกสำรวจประวัติคำสั่ง Bash บนเทอร์มินัล Linux [ซ้ำกัน]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : bash: ประวัติต่อคำสั่ง มันทำงานยังไง? (1 คำตอบ) ปิดให้บริการใน7 ปีที่ผ่านมา ทุกคนรู้ (หรือควรรู้!) ว่าในเทอร์มินัลจะใช้ปุ่มลูกศรขึ้นและลงเพื่อเลื่อนดูประวัติคำสั่งที่ใช้ เมื่อคุณใช้เครื่องเทอร์มินัลเป็นประจำทุกวันประวัติคำสั่งของคุณน่าจะเป็นรายการคำสั่งต่าง ๆ จำนวนมากซึ่งทำให้การนำทางง่ายขึ้น ตัวอย่างเช่นสมมติว่าหนึ่งเดือนที่ผ่านมาฉันใช้iwconfigชุดพารามิเตอร์ที่กำหนด (เช่นที่ฉันพูดมันเป็นเพียงตัวอย่างฉันไม่ต้องยุ่งกับมันตอนนี้) ฉันจะจำคำสั่งนั้นได้อย่างไร ด้วยข้อโต้แย้งและพารามิเตอร์ทั้งหมดโดยไม่ต้องเลื่อนดูคำสั่งประวัติหลายร้อยรายการ? ฉันรู้ว่าฉันสามารถใช้historyเพื่อมีรายการคำสั่งที่ใช้ก่อนหน้านี้และ!nเพื่อดำเนินการคำสั่งnอีกครั้งในรายการที่กล่าว แต่เมื่อประวัติมีขนาดใหญ่ขึ้น สิ่งที่ดีที่สุดคือการมีบางอย่างที่จะให้ฉันใช้ปุ่มลัดเพื่อเลื่อนดูประวัติ แต่ระหว่างอินสแตนซ์ที่มีสิ่งที่ฉันพิมพ์บนบรรทัดคำสั่งแล้ว ดังนั้นในตัวอย่างของฉันหลังจากที่มีการพิมพ์iwconfigใช้ปุ่มบางอย่าง (อาจจะ PgUp และ PgDown?) เพียงเพื่อนำทางผ่านรายการที่เริ่มต้นด้วยการiwconfig ถ้ามันเป็นไปไม่ได้มันจะเป็นการดีถ้าจะพิมพ์รายการอย่างhistoryทำ แต่มันจะมีเฉพาะสิ่งที่ฉันพิมพ์ไปแล้ว (ฉันสงสัยว่าhistoryและgrepมีคำสั่งเกี่ยวข้อง แต่ฉันไม่แน่ใจเกี่ยวกับไวยากรณ์ที่ถูกต้อง); แต่โซลูชันฮอตคีย์ก่อนหน้านี้จะเป็นตัวเลือกที่ดีที่สุด

2
ทำไมถึงไม่สามารถ sudo history ได้?
หากฉันต้องการดูประวัติทุบตีรูทของฉันทำไมฉันจึงไม่สามารถรันได้sudo history? เมื่อฉันบอกว่าไม่พบประวัติคำสั่ง แต่ถ้าฉันรันโดยไม่มี sudo มันจะทำงานได้ดี แก้ไข: เป็นคำตอบที่ซ้ำกัน แต่ไม่ใช่คำถามที่ซ้ำกันสำหรับคำถามที่เชื่อมโยง บุคคลที่ถามคำถามใด ๆ จะไม่ทราบว่าเป็นคำสั่งเชลล์บิวด์อินซึ่งต่างจากไบนารี

1
การทดแทนประวัติ Bash alias คล้ายกับ \! * ใน csh
คำถามของฉันคล้ายกับคำถามของ โพสต์เก่านี้ . ฉันต้องการทำสิ่งที่คล้ายกัน: วางในนามแฝงอาร์กิวเมนต์สุดท้ายที่พิมพ์บนบรรทัดคำสั่งปัจจุบัน นี้จะเทียบเท่ากับ csh \!* ซึ่งสามารถใช้ในนามแฝง อ้างอิงจากการอ้างอิงโพสต์ดูเหมือนว่าปัญหาคือการขยายประวัติของทุบตีซึ่งเป็นเหตุผลที่ใช้ fc แทน ความคิดจะให้การแทนที่ทำงานกลางสตริงของคำสั่งเช่น alias cat='cat -n !!:* && echo ""' (เป็นตัวอย่างแบบย่อซึ่งไม่ทำงานเนื่องจากปัญหาการขยาย) อย่างไรก็ตามสิ่งนี้แตกต่างจากโพสต์อ้างอิงในแง่ที่ว่าฉันต้องการคว้าเฉพาะอาร์กิวเมนต์ที่อยู่เหนือคำสั่งแรก (เช่นในโพสต์พวกเขาคว้าทั้งบรรทัดแทนที่จะเป็นทั้งบรรทัดยกเว้นอาร์กิวเมนต์ zero-th คำสั่ง ตัวเอง) วิธีที่ดีที่สุดในการทำเช่นนี้ในนามแฝงทุบตีคืออะไร? (หมายเหตุ: การค้นหาเพื่อเก็บสิ่งนี้เป็นนามแฝงไม่ใช่การค้นหาสคริปต์หรือฟังก์ชัน)

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