Điểm:3

Đề xuất dòng lệnh Ubuntu

lá cờ cn

Tôi đang sử dụng Ubuntu 20.04 và cố gắng làm quen với nó. nhưng lặp đi lặp lại cùng một lệnh trong thiết bị đầu cuối là hết nhàm chán. tôi chỉ muốn một số đề xuất để loại bỏ nó và làm cách nào tôi có thể nhận được đề xuất dòng lệnh hiển thị trong thiết bị đầu cuối.

làm rõ.. Tôi đang cố gắng hỏi, tôi muốn một đề xuất dòng lệnh khi tôi đang viết lệnh hoặc cố gắng viết (nếu tôi cần cài đặt bất kỳ ứng dụng nào, vui lòng đề xuất)

sudodus avatar
lá cờ jp
Bạn đang chạy Ubuntu Desktop với môi trường màn hình đồ họa hay Ubuntu Server với giao diện màn hình văn bản?
pugi avatar
lá cờ vn
Tôi khuyên bạn nên xem 2 câu trả lời hữu ích cho câu hỏi này [tự động hoàn thành trong câu hỏi ubuntu](https://askubuntu.com/q/280327/1193677)
lá cờ cn
`history` có rất nhiều thứ bạn đã lưu trữ :)
lá cờ us
Bạn đang tìm đề xuất hoàn thành _bất kỳ_ hoặc _chỉ_ liên quan đến các lệnh đã thực hiện trước đó của bạn (xem `lịch sử`)?
Điểm:8
lá cờ cn

Nếu bạn sử dụng mũi tên lên trên bàn phím, thiết bị đầu cuối của bạn sẽ ghi dòng cuối cùng đã chạy. Bạn có thể sử dụng nó nhiều lần để quay lại nhiều lệnh. Nếu bạn đã đi quá xa, hãy sử dụng mũi tên xuống để làm ngược lại. Bạn cũng có thể viết "!!" và nó sẽ thay thế lệnh đó bằng lệnh cuối cùng trong thời gian chạy (sau khi bạn nhấn enter). Thủ thuật này cũng có thể được sử dụng bên trong một lệnh, để thêm một cái gì đó vào lệnh.

Nếu bạn nhấn "Tab", thiết bị đầu cuối của bạn sẽ cố gắng hoàn thành lệnh nếu đó là điều bạn muốn rõ ràng và nếu chưa rõ ràng, bạn có thể nhấn lại tab để xem các lệnh bạn có thể thực hiện từ lệnh không quá rõ ràng đó.

Chỉnh sửa, tôi không biết cái này có hoạt động trên máy chủ Ubuntu không, nhưng nó hoạt động trên máy tính để bàn

Chỉnh sửa, bổ sung thông tin dựa trên ý kiến

sudodus avatar
lá cờ jp
Có, nó cũng hoạt động trong Ubuntu Server :-)
lá cờ cn
và `history` để biết danh sách được đánh số nơi bạn có thể sử dụng !111 để thực hiện dòng 111 và !! cũng có thể được sử dụng để thêm "sudo" khi bạn quên thêm nó vào lệnh trước đó. Những người dùng windows đó không biết họ đang thiếu gì ;-)
Will avatar
lá cờ id
Và về chủ đề sử dụng mũi tên lên: bạn có thể nhấn nó bao nhiêu lần tùy ý để cuộn qua lịch sử - hữu ích nếu bạn biết mình đã nhập một lệnh gần đây nhưng không thể nhớ chính xác bao nhiêu lần (& nếu bạn đi quá xa, bạn có thể quay lại mũi tên xuống). Có một số mẹo để điều hướng trên dòng nếu bạn muốn chỉnh sửa một lệnh gần đây: những mẹo tôi thấy hữu ích nhất là ctrl-a để chuyển đến đầu dòng, ctrl-e để kết thúc, meta-f để chuyển tiếp 1 từ và meta-b trở lại 1 từ.
Irsu85 avatar
lá cờ cn
Cảm ơn bạn @Will, tôi sẽ đưa nó vào câu trả lời của mình
André Stannek avatar
lá cờ us
Bạn có thể thêm rằng một "Tab" kép cung cấp cho bạn một danh sách các đề xuất nếu quá trình tự động hoàn thành không rõ ràng.
Irsu85 avatar
lá cờ cn
Đã thêm, cảm ơn André ©
Điểm:5
lá cờ gr

Một tùy chọn khác đến từ việc cài đặt fzf (công cụ tìm mờ dòng lệnh): đó là bộ lọc tương tác cho dòng lệnh có thể được sử dụng với bất kỳ danh sách nào, kể cả lịch sử lệnh.

Bạn có hai cách khác để cài đặt nó:

  • sudo apt cài đặt fzf hoặc
  • git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

Tôi đề xuất cái thứ hai vì nó cũng cài đặt các ràng buộc khóa, trong khi phiên bản trong kho Ubuntu cài đặt fzf thực thi được một mình.

Các tổ hợp phím rất quan trọng vì sau khi được kích hoạt, nếu bạn nhấn ĐIỀU KHIỂN+r và bắt đầu nhập một số văn bản, bạn có thể tìm kiếm một lệnh trong lịch sử của mình.

Trong hình bên dưới, bạn có thể thấy cách gõ đó cài đặt thích hợp Tôi đã nhận được danh sách các lệnh phù hợp từ lịch sử thiết bị đầu cuối của mình.

fzf

Để biết thêm chi tiết, bạn có thể truy cập vào Trang fzf GitHub.

qwr avatar
lá cờ kr
qwr
Đáng chú ý là ctrl-R được dựng sẵn và hiển thị các trận đấu lịch sử trước đó và có thể tìm kiếm tiến và lùi.
Điểm:3
lá cờ us

Bạn có thể âduyệtâ lịch sử các lệnh đã thực hiện trong quá khứ bằng cách sử dụng đảo ngược tôi tìm kiếm trong thiết bị đầu cuối:

  1. Nhấn Điều khiển + r
  2. Nhập một lệnh (hoặc một phần của nó)
  3. Nhấn Điều khiển + r một lần nữa để xoay vòng qua các trận đấu (lặp lại nếu cần).
  4. Nhấn đi vào (hoặc Điều khiển + Ô) đến echạy trận đấu hoặc nhấn Điều khiển + C (hoặc Điều khiển + g) đến Chủy bỏ đảo ngược tôi tìm kiếm.
lá cờ cn
(Hoặc chỉ cần nhấn Enter để thực hiện khớp)
HolyBlackCat avatar
lá cờ cn
'Enter' dường như cũng thực hiện khớp. 'Kết thúc' hoặc các mũi tên sẽ cho phép bạn chỉnh sửa lệnh trước khi chạy. Ctrl+C cũng hủy tìm kiếm và có lẽ dễ nhớ hơn.
Irsu85 avatar
lá cờ cn
Các phím mũi tên cũng cho phép bạn chỉnh sửa lệnh
Điểm:3
lá cờ cn

Có nhiều cách bạn có thể tìm kiếm lịch sử bash của mình để tăng tốc công việc của mình. Một cách thường được sử dụng là thêm các dòng sau vào .inputrc tập tin trong của bạn ~ danh mục:

"\e[A": lịch sử-tìm kiếm-lùi
"\e[B": tìm kiếm-chuyển tiếp lịch sử

Bây giờ hãy bắt đầu nhập một vài ký tự đầu tiên của lệnh (mà bạn đã sử dụng trước đây) và nhấn các phím mũi tên lên và xuống để xem các lệnh của bạn.

Điểm:2
lá cờ sa

Một vài thủ thuật rất đơn giản nhưng cực kỳ hữu ích khi bạn phải chạy các lệnh rất giống nhau chỉ với một vài thay đổi:

  • Bạn có thể dùng ^chuỗi^thay thế^ để chạy lệnh trước nhưng thay thế lần xuất hiện đầu tiên của chuỗi với thay thế. Ví dụ:

    $ echo "Xin chào, Tướng quân Kenobi. Ông có gì ở đó?"
    $ ^ở đó^thế giới^
    echo "Xin chào thế giới, Tướng quân Kenobi. Bạn có gì ở đó?"
    Xin chào thế giới, Tướng quân Kenobi. Bạn có gì ở đó?
    

    Lưu ý rằng nó xuất ra lệnh thực sự đang được chạy và sau đó bạn có kết quả thực tế

  • Bạn có thể dùng !!:gs/mẫu/thay thế/ để chạy lệnh trước đó với tất cả các lần xuất hiện của regex mẫu được thay thế bởi thay thế.

     $ echo "Xin chào, Tướng quân Kenobi. Ông có gì ở đó?"
    Xin chào, Tướng quân Kenobi. Bạn có gì ở đó?
    $!!:gs/ở đó/thế giới/
    echo "Xin chào thế giới, Tướng quân Kenobi. Thế giới của bạn là gì?"
    Xin chào thế giới, Tướng quân Kenobi. Bạn có gì trên thế giới?
    

    Lưu ý rằng cả hai trường hợp của ở đó đã được thay đổi.

  • Bạn có thể dùng thay thế+. để chèn đối số cuối cùng của lệnh trước đó. Nếu bạn tiếp tục nhấn phím tắt, bạn sẽ quay vòng với các lệnh trước đó:

    $ tiếng vang một
    $ tiếng vang b
    $ tiếng vang c
    $ tiếng vang ...
    

    Trên dòng cuối cùng nhấn thay thế+. một lần sẽ chèn c, nhấn nó một lần nữa sẽ hoán đổi nó cho b và một lần nữa cho một.

    Bạn cũng có thể dùng thay thế+1 và sau đó thay thế+. để chèn đối số đầu tiên thay vì đối số cuối cùng, tương tự cho đối số thứ 2, thứ 3, v.v.:

    $ tiếng vang a b c
    $ tiếng vang 
    

    đang làm đây thay thế+1 thay thế+. sẽ chèn một, Trong khi sử dụng 2 thay cho 1 sẽ thay thế lại b và như thế.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.