Puncte:3

Sugestie de linie de comandă Ubuntu

drapel cn

Am folosit Ubuntu 20.04 și am încercat să mă obișnuiesc cu el. dar repetarea aceleiași comenzi în terminal este plictisitoare. Vreau doar o sugestie pentru a scăpa de ea și cum pot obține sugestii vizibile de linie de comandă în terminal.

pentru a clarifica.. Încerc să întreb, vreau o sugestie de linie de comandă când scriu o comandă sau încerc să scriu (dacă trebuie să instalez vreo aplicație, vă rugăm să sugerez)

sudodus avatar
drapel jp
Executați Ubuntu Desktop cu un mediu desktop grafic sau Ubuntu Server cu o interfață cu ecran text?
pugi avatar
drapel vn
Vă recomand să verificați cele 2 răspunsuri utile pentru aceasta [auto-completare în întrebarea ubuntu](https://askubuntu.com/q/280327/1193677)
drapel cn
„Istoria” are multe din ceea ce ai făcut tu stocat :)
drapel us
Căutați _orice_ sugestie de finalizare sau _doar_ cu privire la comenzile executate anterior (vezi `istoric`)?
Puncte:8
drapel cn

Dacă utilizați săgeata sus de pe tastatură, terminalul dvs. va scrie ultima linie rulată. Puteți folosi asta de mai multe ori pentru a reveni la mai multe comenzi. Dacă ai ajuns prea departe, folosește săgeata în jos pentru a face invers. Puteți scrie și „!!” și o va înlocui cu ultima comandă în timpul execuției (după ce ați apăsat enter). Acest truc poate fi folosit și în interiorul unei comenzi, pentru a adăuga ceva la comandă.

Dacă apăsați „Tab”, terminalul dvs. va încerca să completeze comanda dacă este evident ceea ce doriți, iar dacă nu este evident, puteți apăsa Tab din nou pentru a vedea comenzile pe care le puteți face din acea comandă nu atât de evidentă.

Editează, nu știu dacă funcționează pe serverul Ubuntu, dar funcționează pe desktop

Editați, adăugați informații bazate pe comentarii

sudodus avatar
drapel jp
Da, funcționează și în Ubuntu Server :-)
drapel cn
și `istory` pentru o listă numerotată unde puteți folosi !111 pentru a executa linia 111 și !! poate fi folosit și pentru a adăuga „sudo” atunci când ați uitat să îl adăugați în comanda anterioară. Acei utilizatori de Windows nu știu ce le lipsește ;-)
Will avatar
drapel id
Și despre tema folosirii săgeții în sus: o puteți apăsa de câte ori doriți pentru a derula în sus prin istoric - util dacă știți că ați tastat recent o comandă, dar nu vă amintiți exact câte a fost (& dacă depășiți, puteți săgeți în jos înapoi). Există câteva sfaturi pentru navigarea pe linie dacă doriți să editați o comandă recentă: cele pe care le consider cele mai utile sunt ctrl-a pentru a merge la începutul liniei, ctrl-e până la sfârșit, meta-f pentru a merge înainte 1 cuvânt și meta-b înapoi 1 cuvânt.
Irsu85 avatar
drapel cn
Mulțumesc @Will, voi include asta în răspunsul meu
André Stannek avatar
drapel us
Ați putea adăuga că o „filă” dublă vă oferă o listă de sugestii dacă completarea automată este ambiguă.
Irsu85 avatar
drapel cn
Adăugat, mulțumesc André
Puncte:5
drapel gr

O altă opțiune vine de la instalare fzf (căutare fuzzy de linie de comandă): este un filtru interactiv pentru linia de comandă care poate fi utilizat cu orice listă, inclusiv istoricul comenzilor.

Aveți două moduri alternative de a-l instala:

  • sudo apt install fzf sau
  • git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

O sugerez pe a doua pentru că instalează și legăturile de taste, în timp ce versiunea din depozitele Ubuntu instalează fzf executabil singur.

Legarile de taste sunt importante pentru ca, odata activate, daca apasati CTRL+R și începeți să tastați ceva text, puteți căuta o comandă în istoricul dvs.

În imaginea de mai jos, puteți vedea acea tastare apt install Am primit lista de comenzi potrivite din istoricul terminalului meu.

fzf

Pentru mai multe detalii, puteți vizita Pagina GitHub fzf.

qwr avatar
drapel kr
qwr
De remarcat, ctrl-R este încorporat și afișează potrivirile istorice anterioare și poate căuta înainte și înapoi.
Puncte:3
drapel cn

Există multe moduri în care puteți căuta în istoricul bash-ului pentru a vă accelera munca. Unul folosit în mod obișnuit este să adăugați următoarele rânduri la dvs .inputrc dosar în dvs ~ director:

„\e[A”: istoric-căutare-înapoi
„\e[B”: istoric-căutare-înainte

Acum începeți să introduceți primele caractere ale unei comenzi (pe care ați folosit-o anterior) și apăsați tastele săgeți sus și jos pentru a vedea comenzile.

Puncte:3
drapel us

Puteți „răsfoi” istoricul comenzilor executate în trecut utilizând căutare inversă in cadrul terminalului:

  1. presa Ctrl + R
  2. Introduceți o comandă (sau o parte a acesteia)
  3. presa Ctrl + R din nou pentru a parcurge meciurile (repetați dacă este necesar).
  4. presa introduce (sau Ctrl + O) la Eexecuta meciul sau presa Ctrl + C (sau Ctrl + G) la Cancel căutare inversă.
drapel cn
(Sau apăsați Enter pentru a executa o potrivire)
HolyBlackCat avatar
drapel cn
„Enter” pare să execute și meciul. „End” sau săgețile vă vor permite să editați comanda înainte de a o executa. Ctrl+C, de asemenea, anulează căutarea și este probabil mai ușor de reținut.
Irsu85 avatar
drapel cn
Tastele săgeți vă permit, de asemenea, să editați comanda
Puncte:2
drapel sa

Câteva trucuri foarte simple care sunt super utile atunci când trebuie să rulați comenzi foarte asemănătoare cu doar câteva modificări:

  • Poți să folosești ^șir^înlocuire^ pentru a rula comanda anterioară dar înlocuind prima apariție a şir cu înlocuire. De exemplu:

    $ echo "Bună ziua, general Kenobi. Ce aveți acolo?"
    $ ^acolo^lume^
    echo "Bună lume, general Kenobi. Ce ai acolo?"
    Bună lume, general Kenobi. Ce ai acolo?
    

    Rețineți că emite comanda care este de fapt rulată și apoi aveți rezultatul real

  • Poți să folosești !!:gs/model/înlocuire/ pentru a rula comanda anterioară cu toate aparițiile regex-ului model inlocuit de înlocuire.

     $ echo "Bună ziua, general Kenobi. Ce aveți acolo?"
    Bună ziua, general Kenobi. Ce ai acolo?
    $ !!:gs/acolo/lume/
    echo "Bună lume, general Kenobi. Ce ai lume?"
    Bună lume, general Kenobi. Ce ai tu lume?
    

    Rețineți că ambele cazuri de Acolo au fost schimbate.

  • Poți să folosești Alt+. pentru a insera ultimul argument al comenzii anterioare. Dacă apăsați în continuare pe comanda rapidă, treceți cu comenzile anterioare:

    $ ecou a
    $ ecou b
    $ ecou c
    $ ecou...
    

    Pe ultima linie apăsând Alt+. o dată se va insera c, apăsând din nou îl va schimba cu b si din nou pentru A.

    De asemenea, puteți utiliza Alt+1 și apoi Alt+. pentru a introduce primul argument în loc de ultimul, în mod similar pentru al 2-lea, al 3-lea etc:

    $ ecou a b c
    $ ecou 
    

    Aici fac Alt+1 Alt+. va insera A, în timpul utilizării 2 in locul 1 voi inlocui b și așa mai departe.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.