답변1
달리는 cat -- -
것은 실제로 달리는 것과 같습니다 cat
. -
표준 입력으로 해석되지만 cat
인수가 없으면 기본 동작은 어쨌든 표준 입력을 읽는 것입니다. 반복되는 텍스트의 경우 이것은 입력할 때(처음) 입력 내용을 에코하는 터미널이고, cat은 입력을 읽고 출력에 인쇄합니다(이 역시 터미널이므로 텍스트가 두 번째로 표시됩니다). .
이 작업을 종료하려면 CtrlD새 줄을 누르세요. 또한 CtrlCSIGINT를 보내서 cat
종료되도록 할 수도 있습니다.
-
현재 디렉토리에서 호출된 파일의 내용을 보려면 cat
다음을 사용하십시오.
cat ./-
답변2
이 "루프"에서 벗어나려면 무엇을 입력하거나 누르나요?
무루의 대답이 상황에서 벗어나려면 Ctrl-D 또는 Ctrl-C를 누를 수 있다고 이미 언급했지만, 이러한 키 조합을 사용하면 이 상황에서 벗어날 수 있다는 점을 기억해 두는 것이 좋습니다.거의 모든단말기에 원하지 않는 상황이 나타나는 것은 이뿐만 아니라왜그들은 그들이 하는 일을 합니다.
- Ctrl-D는 EOF(파일 끝)를 현재 프로그램으로 보냅니다. 프로그램이 터미널에서 "EOF까지"를 읽고 종료하도록 설계된 경우(많은 프로그램이 이에 해당함) Ctrl-D를 사용하면 종료할 수 있습니다.
cat
이런 프로그램입니다. - Ctrl-C 보내기인터럽트 신호현재 프로그램에. 이것~ 할 것이다프로그램을 종료하고,~하지 않는 한이 프로그램은 중단되었을 때 다른 작업을 수행하도록 특별히 설계되었습니다(또는 일부 타사 프로그램/라이브러리에 따라 다름). 따라서 이것은 일반적으로 Ctrl-D보다 더 강력합니다. 사용되는 프로그램 외에 터미널 프로그램이 거의 없습니다.TUI(텍스트 기반 사용자 인터페이스), Ctrl-C를 눌러도 즉시 종료되지 않습니다.
- 그리고 Ctrl-Z를 누르면배경현재 프로그램. 프로그램이 종료되지는 않지만 (보통) 터미널로 돌아갑니다. Ctrl-C와 마찬가지로 프로그램은 이를 재정의할 수 있지만 일반적으로 TUI를 사용하지 않는 한 그렇게 하지 않습니다. Ctrl-Z를 사용한 후 마지막으로 중지한 프로그램으로 돌아갈 수 있습니다
fg
. 또는 오류를 사용하여 잘못된 프로세스를ps -a
찾아 완전히 제거할 수도 있습니다.PID
kill -9 <PID>
- 마지막으로, 이 방법 중 아무것도 작동하지 않지만 GUI를 사용하는 경우 다음을 수행할 수 있습니다.두 번째 터미널 열기위에서 언급한 대로 and 거기를
ps
사용 합니다 .kill
보너스로, 때로는 "부분적으로" 작동하지만 제대로 표시되지 않는 터미널이 생기거나, 버그가 있는 프로그램을 제거했다고 확신해도 아무 일도 하지 않는 것처럼 보이는 경우가 있습니다. 이 경우 reset
터미널을 복원하기 위해 맹목적으로 입력을 시도할 수 있습니다(마지막에 Enter를 누르는 것을 잊지 마세요)(데이터는 손실되지 않지만 입력과 같은 작업을 수행합니다. 일부 프로그램에서는 이를 닫았다가 다시 열지 않습니다).