Score:3

คำแนะนำบรรทัดคำสั่งของ Ubuntu

ธง cn

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

ชี้แจง.. ฉันพยายามถาม ฉันต้องการคำแนะนำบรรทัดคำสั่งเมื่อฉันเขียนคำสั่งหรือพยายามเขียน (หากฉันต้องการติดตั้งแอปพลิเคชันใด ๆ โปรดแนะนำ)

sudodus avatar
jp flag
คุณใช้งาน Ubuntu Desktop ด้วยสภาพแวดล้อมเดสก์ท็อปแบบกราฟิกหรือเซิร์ฟเวอร์ Ubuntu พร้อมอินเทอร์เฟซหน้าจอข้อความหรือไม่
pugi avatar
vn flag
ฉันขอแนะนำให้ตรวจสอบคำตอบที่มีประโยชน์ 2 ข้อสำหรับ [คำถามอัตโนมัติใน Ubuntu](https://askubuntu.com/q/280327/1193677)
cn flag
`ประวัติศาสตร์` มีสิ่งที่คุณเก็บไว้มากมาย :)
us flag
คุณกำลังมองหาคำแนะนำการเสร็จสิ้น _any_ หรือ _only_ เกี่ยวกับคำสั่งที่ดำเนินการก่อนหน้านี้ของคุณหรือไม่ (ดูที่ `ประวัติ`)
Score:8
ธง cn

หากคุณใช้ลูกศรขึ้นบนแป้นพิมพ์ เทอร์มินัลจะเขียนบรรทัดสุดท้ายที่รัน คุณสามารถใช้หลายครั้งเพื่อย้อนกลับไปหลายคำสั่ง หากคุณไปไกลเกินไป ให้ใช้ลูกศรชี้ลงเพื่อทำสิ่งที่ตรงกันข้าม คุณยังสามารถเขียน "!!" และจะแทนที่ด้วยคำสั่งสุดท้ายเมื่อรันไทม์ (หลังจากที่คุณกด Enter) เคล็ดลับนี้ยังสามารถใช้ภายในคำสั่งเพื่อเพิ่มบางอย่างในคำสั่ง

หากคุณกด "Tab" เทอร์มินัลของคุณจะพยายามดำเนินการตามคำสั่งให้เสร็จสิ้นหากเห็นว่าคุณต้องการอะไร และหากไม่ชัดเจน คุณสามารถกด tab อีกครั้งเพื่อดูคำสั่งที่คุณสามารถทำได้จากคำสั่งที่ไม่ชัดเจนนั้น

แก้ไข ฉันไม่รู้ว่ามันใช้งานได้กับเซิร์ฟเวอร์ Ubuntu หรือไม่ แต่ใช้งานได้บนเดสก์ท็อป

แก้ไข เพิ่มข้อมูลตามความคิดเห็น

sudodus avatar
jp flag
ใช่มันใช้งานได้ในเซิร์ฟเวอร์ Ubuntu เช่นกัน :-)
cn flag
และ `history` สำหรับรายการลำดับเลขซึ่งคุณสามารถใช้ !111 เพื่อรันบรรทัด 111 และ !! สามารถใช้เพื่อเพิ่ม "sudo" เมื่อคุณลืมเพิ่มในคำสั่งก่อนหน้า ผู้ใช้ windows เหล่านั้นไม่รู้ว่าอะไรหายไป ;-)
Will avatar
id flag
และในธีมของการใช้ลูกศรขึ้น: คุณสามารถกดกี่ครั้งก็ได้ตามที่คุณต้องการเพื่อเลื่อนดูประวัติ - มีประโยชน์หากคุณรู้ว่าคุณพิมพ์คำสั่งเมื่อเร็วๆ นี้ แต่จำไม่ได้ว่าพิมพ์ไปกี่คำสั่ง (& หากคุณเลยระยะ คุณสามารถลูกศรย้อนกลับได้) มีเคล็ดลับบางอย่างสำหรับการนำทางบนบรรทัด หากคุณต้องการแก้ไขคำสั่งล่าสุด: สิ่งที่ฉันพบว่ามีประโยชน์มากที่สุดคือ ctrl-a เพื่อไปที่จุดเริ่มต้นของบรรทัด, ctrl-e ไปยังจุดสิ้นสุด, meta-f เพื่อไปข้างหน้า 1 คำ และ meta-b กลับ 1 คำ
Irsu85 avatar
cn flag
ขอบคุณ @Will ฉันจะรวมไว้ในคำตอบของฉัน
André Stannek avatar
us flag
คุณอาจเพิ่มว่า "แท็บ" สองครั้งจะแสดงรายการคำแนะนำหากการเติมข้อความอัตโนมัติไม่ชัดเจน
Irsu85 avatar
cn flag
เพิ่มแล้ว ขอบคุณ André
Score:5
ธง gr

ตัวเลือกอื่นมาจากการติดตั้ง ฟซฟ (command line fuzzy finder): เป็นตัวกรองแบบโต้ตอบสำหรับบรรทัดคำสั่งที่สามารถใช้กับรายการใดก็ได้ รวมถึงประวัติคำสั่ง

คุณมีสองทางเลือกในการติดตั้ง:

  • sudo apt ติดตั้ง fzf หรือ
  • คอมไพล์โคลน -- ความลึก 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

ฉันแนะนำอันที่สองเพราะมันติดตั้งการโยงคีย์ด้วยในขณะที่ติดตั้งเวอร์ชันในที่เก็บ Ubuntu ฟซฟ ดำเนินการได้โดยลำพัง

การผูกคีย์มีความสำคัญเพราะเมื่อเปิดใช้งานแล้ว หากคุณกด CTRL+ แล้วเริ่มพิมพ์ข้อความ คุณสามารถค้นหาคำสั่งในประวัติของคุณได้

ในภาพด้านล่าง คุณจะเห็นการพิมพ์นั้น เหมาะติดตั้ง ฉันได้รับรายการคำสั่งที่ตรงกันจากประวัติเทอร์มินัลของฉัน

ฟซฟ

สำหรับรายละเอียดเพิ่มเติม คุณสามารถเข้าไปที่ หน้า GitHub fzf.

qwr avatar
kr flag
qwr
เป็นที่น่าสังเกตว่า ctrl-R ถูกสร้างขึ้นภายในและแสดงประวัติการแข่งขันก่อนหน้าและสามารถค้นหาไปข้างหน้าและย้อนกลับได้
Score:3
ธง cn

มีหลายวิธีในการค้นหาประวัติการทุบตีของคุณเพื่อเร่งงานของคุณ หนึ่งที่ใช้กันทั่วไปคือการเพิ่มบรรทัดต่อไปนี้ให้กับคุณ .inputrc ไฟล์ใน ~ ไดเรกทอรี:

"\e[A": ประวัติการค้นหาย้อนหลัง
"\e[B": ประวัติการค้นหาไปข้างหน้า

ตอนนี้ให้เริ่มพิมพ์อักขระสองสามตัวแรกของคำสั่ง (ที่คุณใช้ก่อนหน้านี้) แล้วกดแป้นลูกศรขึ้นและลงเพื่อดูคำสั่งของคุณ

Score:3
ธง us

คุณสามารถ âbrowseâ ประวัติของคำสั่งที่ดำเนินการในอดีตได้โดยใช้ ย้อนกลับ-i-ค้นหา ภายในเทอร์มินัล:

  1. กด Ctrl +
  2. ป้อนคำสั่ง (หรือบางส่วน)
  3. กด Ctrl + อีกครั้งเพื่อหมุนเวียนการแข่งขัน (ทำซ้ำหากจำเป็น)
  4. กด เข้า (หรือ Ctrl + ) ถึง อีดำเนินการแข่งขัน หรือ กด Ctrl + (หรือ Ctrl + ) ถึง ยกเลิก ย้อนกลับ-i-ค้นหา.
cn flag
(หรือเพียงแค่กด Enter เพื่อดำเนินการจับคู่)
HolyBlackCat avatar
cn flag
ดูเหมือนว่า 'Enter' จะดำเนินการจับคู่ด้วย 'สิ้นสุด' หรือลูกศรจะช่วยให้คุณแก้ไขคำสั่งก่อนที่จะเรียกใช้ Ctrl+C ยกเลิกการค้นหาด้วย และน่าจะจำง่ายกว่า
Irsu85 avatar
cn flag
ปุ่มลูกศรยังช่วยให้คุณแก้ไขคำสั่งได้อีกด้วย
Score:2
ธง sa

เคล็ดลับง่ายๆ 2-3 ข้อที่มีประโยชน์อย่างยิ่งเมื่อคุณต้องเรียกใช้คำสั่งที่คล้ายกันมากโดยมีการเปลี่ยนแปลงเพียงเล็กน้อย:

  • คุณสามารถใช้ได้ ^string^replacement^ เพื่อเรียกใช้คำสั่งก่อนหน้า แต่แทนที่การเกิดขึ้นครั้งแรกของ สตริง กับ เปลี่ยน. ตัวอย่างเช่น:

    $ echo "สวัสดี นายพลเคโนบี มีอะไรหรือเปล่า"
    $ ^ที่นั่น^โลก^
    echo "สวัสดีชาวโลก นายพลเคโนบี มีอะไรหรือเปล่า"
    สวัสดีชาวโลก นายพลเคโนบี คุณมีอะไรที่นั่น?
    

    โปรดทราบว่ามันส่งออกคำสั่งที่กำลังเรียกใช้จริง และจากนั้น คุณมีผลลัพธ์จริง

  • คุณสามารถใช้ได้ !!:gs/รูปแบบ/การแทนที่/ เพื่อเรียกใช้คำสั่งก่อนหน้ากับ regex ที่เกิดขึ้นทั้งหมด ลวดลาย แทนที่ด้วย เปลี่ยน.

     $ echo "สวัสดี นายพลเคโนบี มีอะไรหรือเปล่า"
    สวัสดี นายพลเคโนบี คุณมีอะไรที่นั่น?
    $ !!:gs/มี/โลก/
    echo "สวัสดีชาวโลก นายพลเคโนบี คุณมีโลกอะไร"
    สวัสดีชาวโลก นายพลเคโนบี สิ่งที่คุณมีโลก?
    

    โปรดทราบว่าทั้งสองกรณีของ ที่นั่น มีการเปลี่ยนแปลง

  • คุณสามารถใช้ได้ Alt+. เพื่อแทรกอาร์กิวเมนต์สุดท้ายของคำสั่งก่อนหน้า หากคุณกดทางลัดค้างไว้ คุณจะวนซ้ำด้วยคำสั่งก่อนหน้า:

    $ก้องก
    $ก้องข
    $ก้องค
    $เสียงสะท้อน...
    

    ในบรรทัดสุดท้ายกด Alt+. เมื่อจะแทรก การกดอีกครั้งจะเป็นการสลับสำหรับ และอีกครั้งสำหรับ .

    คุณยังสามารถใช้ Alt+1 แล้ว Alt+. เพื่อแทรกอาร์กิวเมนต์แรกแทนอาร์กิวเมนต์สุดท้าย ในทำนองเดียวกันสำหรับอาร์กิวเมนต์ที่ 2, 3 เป็นต้น:

    $ ก้อง a b c
    $ เสียงสะท้อน 
    

    นี่กำลังทำ Alt+1 Alt+. จะแทรก ,ขณะใช้งาน 2 แทนที่ 1 จะเข้ามาแทนที่ และอื่น ๆ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา