콘텐츠로 이동
리소스
KO
로그인무료로 시작하기

블록과 입력 줄

tTerm의 터미널은 블록이 이어지는 피드예요. 실행하는 명령은 하나하나 출력과 함께 블록이 돼요. 입력은 피드 아래에 있는 tTerm 자체의 입력 줄에서 해요. 블록은 나중에 검색으로 다시 찾을 수 있어요.

블록에는 명령과 그 명령이 어떻게 끝났는지가 표시돼요. 초록색 점이거나, 종료 코드가 붙은 빨간색 X 표시예요(예: 종료 코드 1). 그 옆에는 걸린 시간, 실행된 디렉터리, git 브랜치, 시작 시각이 있고, 그 아래에 출력이 있어요. 출력이 길면 마지막 400줄만 보이고, 그 위의 버튼 이전 120줄 보기나 전체 출력 보기를 누르면 나머지가 나와요.

지금 실행 중인 명령은 여느 터미널처럼 실시간으로 그려져요. 색상, 진행 막대, 비밀번호 입력 요청이 모두 작동하고, 입력하는 내용은 그 명령으로 전달돼요. vim이나 htop 같은 전체 화면 프로그램은 실행되는 동안 창 전체를 쓰고, 종료하면 피드가 돌아와요. 명령이 끝나면 그 화면은 선택하고 검색하고 복사할 수 있는 텍스트가 돼요.

실행 중인 명령을 멈추려면 블록의 중지를 누르거나 Ctrl+C를 누르세요. 닫히지 않은 따옴표나 heredoc 뒤처럼 셸이 명령의 나머지를 기다리고 있으면 블록에 시작 안 됨이 표시돼요. 나머지를 블록에 이어서 입력하거나 중지를 누르세요.

끝난 블록에 마우스를 올리면 버튼이 나타나요. 툴팁에 나오는 이름은 다음과 같아요:

  • 명령과 출력 복사와 출력만 복사. 복사되면 버튼에 체크 표시가 나타나요.
  • 다시 실행은 이 터미널에서 명령을 한 번 더 실행해요. 새 블록은 시작될 때 호박색 테두리로 표시돼요.
  • 이 블록의 링크 복사는 피드를 이 블록 위치에서 열고 블록을 강조하는 링크를 복사해요. 이 링크는 로그인한 곳이라면 어디서든 열리지만, 본인에게만 열려요.
  • 이 명령에 노트 추가를 누르면 명령 아래에 입력란이 열리고, Enter를 누르면 노트가 저장돼요. 노트는 머신 로그에도 들어가고, 쓴 그대로 남으며, 답글로 답할 수 있어요.
  • 블록 접기는 출력을 접어서 숨겨요. 접힌 블록에는 숨긴 분량이 12줄 숨겨짐처럼 표시되고, 클릭하면 다시 펼쳐져요.

입력 줄은 셸이 아니라 tTerm의 것이에요. 입력한 내용은 입력 줄에 머물다가, Enter를 누르면 명령 전체가 한꺼번에 셸로 넘어가요.

  • Shift+Enter는 줄을 바꿔요. 명령 하나가 여러 줄일 수 있어요.
  • ↑, ↓ 키로 모든 기기에서 쌓인 기록을 차례로 불러와요. 이 머신에서 실행한 명령이 먼저 나오고, 그다음 같은 프로젝트의 다른 머신에서 실행한 명령이 나와요. 명령의 앞부분을 입력하면 그렇게 시작하는 명령만 나와요. Ctrl+R은 검색란이 있는 기록 목록을 열고, 고른 명령은 입력 줄에 들어가요.
  • 입력하는 동안 기록에 있는 명령의 나머지 부분이 회색으로 보여요. Tab이나 → 키를 누르면 그대로 들어가요.
  • 회색 제안이 없을 때 Tab을 누르면, 지금 입력 중인 단어가 무엇이 될 수 있는지 머신에 물어봐요. 명령, 파일, 디렉터리, git 브랜치 중에서요. 답이 하나면 바로 들어가고, 여러 개면 목록이 열려요. 이 질문은 터미널을 거치지 않아서 터미널에도, 셸 기록에도 아무것도 남지 않아요.
  • Ctrl+L은 clear처럼 피드를 지워요.

입력 줄 왼쪽에는 지금 있는 디렉터리와, git 브랜치가 있으면 그 브랜치가 표시되고, 둘 다 버튼이에요. 디렉터리를 누르면 이곳의 디렉터리 목록이 열려요. 한 단계 위로 가는 ..도 있고, 경로를 직접 입력할 수도 있어요. 브랜치를 누르면 브랜치 목록이 열리고, 현재와 원격 표시가 붙어 있어요. 고른 항목은 일반 cd나 git switch 명령으로 실행되고, 블록이 되어 피드에 들어와요.

명령이 실행되는 동안에는 입력 줄에 이렇게 표시돼요: 키 입력은 실행 중인 명령으로 전달돼요. 다음 명령을 입력하려면 여기를 클릭하세요. 다음 명령을 미리 입력해 둘 수는 있지만, Enter는 지금 명령이 끝나야 작동해요. 그 전에 누르면 이런 안내가 나와요: 명령이 아직 실행 중이에요. 끝날 때까지 기다리거나, 블록에서 Ctrl+C로 중지하세요. 입력 줄에서 Ctrl+C를 누르면 입력한 내용이 지워지고, 입력 줄이 비어 있으면 셸로 전달돼요.

어떤 명령은 무언가를 되돌릴 수 없게 없애 버려요. tTerm은 이런 명령을 바로 실행하지 않고, 입력 줄 위의 막대에서 먼저 물어봐요. 명령이 무엇을 하는지, 어느 머신에서인지, 무엇을 되돌릴 수 없는지 알려 줘요. “이 명령은 web-01에서 다음 작업을 해요: 디렉터리와 그 안의 모든 항목 삭제. 되돌릴 수 없고, 휴지통에서 찾을 수도 없어요.” 실행을 누르면 명령이 실행되고, 취소를 누르면 명령이 입력 줄로 돌아가요.

tTerm이 실행 전에 물어보는 명령은 다음과 같아요:

  • -r과 -f를 함께 쓴 rm – 디렉터리와 그 안의 모든 항목 삭제
  • mkfs, fdisk, parted, wipefs – 디스크의 파일 시스템 덮어쓰기
  • of=/dev/… 옵션을 쓴 dd – 장치에 직접 쓰기
  • DROP DATABASE, DROP TABLE, TRUNCATE TABLE – 데이터베이스 또는 테이블 삭제
  • shutdown, poweroff, halt, init 0 – 머신 전원 끄기
  • reboot, init 6 – 머신 재부팅
  • ssh나 sshd를 대상으로 한 systemctl stop, disable, mask – SSH 서비스 중지
  • ufw deny, ufw reject, DROP이 들어간 iptables – 방화벽 변경
  • userdel, deluser – 사용자 계정 삭제

/나 ~를 겨냥한 rm -rf에는 이 문장이 덧붙어요: 머신 전체가 대상이에요. 머신에 있는 어떤 것도 남지 않아요. 명령을 직접 입력했든, 기록에서 가져왔든, 다시 실행을 눌렀든 tTerm은 똑같이 물어봐요.

클래식 모드에서 터미널은 평범한 터미널이에요. 모든 키가 셸로 바로 전달되고, Tab과 기록도 셸 자체의 기능을 쓰며, 프롬프트까지 모든 것을 셸이 그려요. 블록이 없고 아무것도 확인하지 않아요. 터미널 아래에도 이렇게 표시돼요: 이 모드에서는 위험한 명령도 확인 없이 실행돼요.

입력 줄 오른쪽의 입력 줄과 클래식으로 모드를 전환해요. 클래식 모드에서는 이 전환 버튼이 터미널 아래에 있어요. 셸은 하던 그대로 계속 실행되고, 고른 모드는 이 브라우저가 모든 터미널에 대해 기억해요.

4.4보다 오래된 bash처럼 명령이 시작되는 위치를 표시하지 못하는 셸은 클래식 모드에서만 작동해요. 이때는 입력 줄이 회색으로 비활성화되고, 전환 버튼의 툴팁에 이유가 나와요.

clear(또는 reset) 명령과 Ctrl+L은 피드를 화면에서 치울 뿐, 없애지는 않아요. 맨 위의 블록 3개를 화면에서 지웠어요: 다시 보기를 누르면 다시 보여요. 접은 블록과 지운 피드는 이 브라우저에서 그대로 유지돼요. 페이지를 새로고침해도, 클래식 모드로 바꿨다가 돌아와도요. 더 오래된 블록은 맨 위의 이전 명령 보기로 불러와요. 블록은 30일 동안 보관돼요.

터미널 탭이나, 사이드바 또는 프로젝트 페이지의 터미널을 더블클릭하고 이름을 입력하세요. 40자까지 쓸 수 있고, 숫자만으로 된 이름은 쓸 수 없어요. Enter로 저장하고, Esc로 취소해요. 이름은 사이드바, 탭, 프로젝트 페이지에 표시돼요.