Na przykład, jeśli zrobię
mkdir thisismyfolder912
Pamiętam, że istnieje łatwiejszy sposób na przejście thisismyfolder912
niż konieczność zrobienia
cd thisismyfolder912
Co to jest i jak to działa? A także, jakie są inne sposoby na wykorzystanie tego?
shell
command-history
Lazer
źródło
źródło
cd this<TAB>
Odpowiedzi:
Mówisz o klasycznym rozszerzaniu historii, czy przetwarzaniu Readline?
cd !$
w następnym wierszu wejściowym zastąpi ostatni argument poprzedniego wiersza M-.lub M-_szarpnie go za pomocą Readline.źródło
cd !$
. „Klasyczna ekspansja historii lub przetwarzanie Readline” Nie do końca rozumiem, co masz na myśli…!$
to rozszerzenie historii ; powłoka przetwarza go podczas analizy polecenia. M- jest naciśnięciem klawisza readline; readline to biblioteka, która obsługuje każdy naciśnięty klawisz i widzi, że nacisnąłeś M-. i automatycznie wpisuje ostatni argument ostatniego poleceniaJeśli Twoje pytanie dotyczy dostępu do historii poleceń, wypróbuj to dobrze nazwane polecenie
Możesz także spróbować Ctrl+ ri zacząć wpisywać polecenie, które próbujesz zapamiętać, które niedawno napisałeś.
Naciśnij, ESCaby wybrać polecenie lub wyjdź. Działa to dla mnie przynajmniej na SuSE; nie jestem pewien co do innych dystrybucji.
źródło
history | grep ...
!vi
do zarządzania linią poleceń. Wygląda super. używanie vi do edytowania poleceń powłokiTo tak proste, jak Alt+.
Alt + .
źródło
<kbd></kbd>
tagów, aby otoczyć klawisz.<kbd>
to zawsze działało dla mnie:
źródło
$!
rozwija się do ostatniego wpisanego słowa,$_
rozwija się do ostatniego słowa po rozwinięciu - możeszecho /tmp/tmpfile*
i zobaczysz kilka plików, które chcesz usunąć, ale wtedyrm $_
usuniesz tylko jeden z nich.Podnosząc wskazówkę z innego wątku, jeśli umieścisz:
w swoim .bashrc możesz zacząć pisać coś z historii, a następnie nacisnąć strzałkę w górę, a następnie zamiast przeglądać historię po elemencie, przejdzie od razu do poprzednich pozycji, które zaczynają się od tego, co już masz wpisane.
Wydaje mi się, że to niewiele pomaga w konkretnym przykładzie podanym w pytaniu, ale jest to jedna rzecz, która pomaga mi w natychmiastowym dostępie do historii.
źródło
Jeśli używasz bash, sugeruję
pushd
ipopd
. Możesz utworzyć stos katalogu i szybko go przeglądać. Zobacz ten przykład:źródło
$
jest przydatne podczas demonstracjipushd
itp.)W powiązanej notatce zalecam użycie histverify w bash. Umieść to w swoim ~ / .bashrc:
Spowoduje to, że bash wydrukuje polecenie po rozwinięciu! $ Lub innych funkcji historii, i da ci szansę na obejrzenie go przed ponownym naciśnięciem Enter, aby go uruchomić. Dla mnie sprawdzenie poczytalności jest warte okazjonalnego dodatkowego naciśnięcia klawisza. Chcesz się upewnić, że uruchamiam
cd foo
polecenie, a nie torm -rf foo
...Często używam tego Ctrl-Rpodejścia, a także Alt-.(co pasuje do opisywanego scenariusza). Czasami skorzystam z! $.
Są to bardzo przydatne techniki ogólnego zastosowania.
Ale aby odpowiedzieć na twoje konkretne pytanie:
Tworzenie katalogu i zapisywanie go bezpośrednio w nim jest tak powszechną kombinacją, że przydatna jest funkcja, która go zawija.
Stosowanie:
mcd thisismyfolder
źródło
Jeśli twoja powłoka używa readline (co ma miejsce w przypadku
bash
), możesz zrobić coś takiego jak naciśnięcie ATL+ .razem?Z dokumentacji GNU Readline :
źródło