Kiedy używam tail -f
i chcę wrócić do powłoki, zawsze używam CTRL+C
. Lub gdy piszę polecenie i mam ochotę je przerwać i zacząć od nowa, po prostu CTRL+C
wracam do pustego wiersza polecenia. Czy jest to uważane za złą praktykę? Czasami czuję, że może istnieć lepszy sposób na oderwanie się od czegoś, ale naprawdę nie mam pojęcia.
27
Odpowiedzi:
Ctrl+ Cwysyła SIGINT do programu. Mówi to programowi, że chcesz przerwać (i zakończyć) jego proces. Większość programów poprawnie to łapie i czysto kończy działanie. Tak, jest to „poprawny” sposób na zakończenie większości programów.
Istnieją inne skróty klawiaturowe do wysyłania innych sygnałów do programów, ale jest to najczęściej.
źródło
read()
wywołania systemowego. Następneread()
nie ulegają zmianie. Po trzecie: nic z tego nie dotyczy programów, które wprowadzają dyscyplinę liniową w tryb niekanoniczny, takich jak większość programów powłoki z ostatnich kilku dziesięcioleci, a nawet każdy inny program korzystający z biblioteki takiej jak GNUreadline
.Ta metoda jest w porządku, naprawdę.
źródło
Aby przerwać długie polecenie podczas pisania, czasami przeskakuję na początek wiersza i wstawiam znak komentarza przed naciśnięciem klawisza Enter:
Home#Enter
Pos1#Return
Jest to przydatne, jeśli wpisałem na przykład polecenie kopiowania z długą ścieżką i jednocześnie zauważyłem, że najpierw muszę utworzyć katalog, ale później chcę powtórzyć polecenie. Następnie muszę tylko pobrać go z historii, usunąć skrót i wprowadzić go.
W Bash możesz użyć skrótu
Alt+#
, aby przypomnieć polecenie, jak wskazano w komentarzach (Dzięki, @Zorawar).
źródło
Ctrl-A
bez odrywania palców od rzędu domu.Ctrl-E
idzie do końca.Alt-#
: wstawi komentarz i uruchomi polecenie (więc umieszczasz go w swojej historii).Ogólnie rzecz biorąc, użycie Ctrl+ Cjest w porządku, gdy program nie oferuje interaktywnego sposobu zakończenia (z założenia lub częściej, ponieważ zawiesił się lub stał się bezużyteczny). Pamiętaj tylko, że w trybie interaktywnym kluczową kombinacją klawiszy, którą naprawdę chcesz, może być Ctrl+ D, która wysyła
EOF
sygnał sygnalizujący koniec wejścia.źródło
Jeśli używasz Bash, możesz także użyć Ctrl- Zi wpisać,
bg
aby „umieścić bieżące zadanie w tle”.źródło
Jak powiedział @Patrick w komentarzu do zaakceptowanej odpowiedzi,
Pomogło mi to, gdy
Ctrl+C
nie działało odzyskanie wiersza poleceń po użyciu>>
źródło