| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- linux
- 파일시스템
- 시스템관리
- UNIX
- terminal
- Solaris
- shell
- PackageManagement
- 리눅스명령어
- UnixCommand
- 쉘스크립트
- php
- bash
- 사용자관리
- tcsh
- 자바스크립트
- Unix명령어
- 유닉스명령어
- js
- sysadmin
- cups
- 명령어
- environment
- 리눅스
- 터미널
- linuxcommand
- 유닉스
- 정규표현식
- JavaScript
- coreutils
Archives
- Today
- Total
ioerror
tty 사용법 및 옵션 - 현재 터미널의 장치 파일명 출력 본문
반응형

tty - Print the File Name of the Terminal
현재 세션이 연결된 표준 입력 터미널의 장치 파일 경로를 출력하는 CLI 기반의 표준 유닉스 유틸리티이다. 물리적 콘솔, 의사 터미널(pts), 또는 직렬 포트 등 현재 프로세스가 어떤 터미널 디바이스와 연결되어 있는지 확인하는 데 사용된다. 모든 유닉스 및 리눅스 계열 OS 및 주요 쉘 환경에 기본 탑재되어 있다.
1. tty 용도
- 현재 작업 중인 터미널 세션의 장치 경로(/dev/tty* 또는 /dev/pts/*) 확인
- 쉘 스크립트 실행 시 현재 환경이 대화형(Interactive) 터미널인지 비대화형(Cron, 백그라운드 프로세스 등) 상태인지 판별
- SSH 접속 후 복수의 터미널 창 중 특정 세션을 식별하거나 해당 세션으로 직접 메시지를 전송할 때 활용
2. tty 서식
Bash
tty [옵션]
3. tty 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -s, --silent, --quiet | 터미널 파일명을 출력하지 않고, 종료 상태 코드만 반환 | All |
| --help | 명령어 사용법 및 도움말을 출력하고 종료 | [Linux] |
| --version | 버전 정보를 출력하고 종료 | [Linux] |
명령어 옵션 사용 예시
Bash
# 1. 현재 연결된 터미널 장치명 확인
tty
# /dev/pts/0
# 2. 터미널 연결 여부를 반환 코드로 확인 (-s)
tty -s
echo $?
# 0 (터미널에 연결된 상태임을 의미)
# 3. 파이프를 통해 입력받아 터미널이 아닌 경우 확인
echo "test" | tty -s
echo $?
# 1 (표준 입력이 터미널이 아닌 파이프이므로 에러 코드 1 반환)
# 4. 스크립트 내에서 터미널 연결 여부 판별 조건문
if tty -s; then
echo "Interactive terminal session"
else
echo "Non-terminal or automated script execution"
fi
# Interactive terminal session
- /dev/pts/0: SSH 접속이나 GUI 터미널 에뮬레이터 실행 시 할당되는 의사 터미널(Pseudo Terminal) 장치 번호이다.
- not a tty: 표준 입력이 터미널 디바이스와 연결되어 있지 않을 때 출력되는 메시지이다.
4. tty 특이사항(유의사항)
- 비대화형 실행 환경의 반환값: Cron 표현식, Jenkins, SSH 원격 명령 실행(ssh user@host "cmd") 등 비대화형 환경에서 tty를 실행하면 not a tty 메시지와 함께 에러 상태 코드(1)를 반환한다.
- SSH 원격 실행 시 tty 할당: SSH를 통한 원격 명령 실행 시 강제로 tty를 할당하려면 SSH 실행 시 -t 옵션을 사용해야 한다(ssh -t user@host).
- sudo 실행 시 "no tty present" 에러: /etc/sudoers에 defaults requiretty 설정이 활성화된 경우, tty가 할당되지 않은 스크립트 환경에서는 sudo 명령 실행이 실패할 수 있다.
관련 명령어들
- whoami: 현재 로그인한 사용자의 계정명을 출력하는 명령어
- who: 시스템에 로그인된 모든 사용자와 터미널 정보, 로그인 시간을 표시하는 명령어
- w: 로그인된 사용자와 이들이 실행 중인 프로세스를 터미널별로 상세 출력하는 명령어
- pts: 유닉스 계열 OS의 의사 터미널(Pseudo Terminal Slave) 장치 드라이버
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| umask 사용법 및 옵션 - 새 파일과 디렉터리의 기본 접근 권한(마스크) 설정 및 확인 (0) | 2026.07.31 |
|---|---|
| type 사용법 및 옵션 - 명령어의 종류 및 해석 방식 확인 (0) | 2026.07.31 |
| traceroute 사용법 및 옵션 - 네트워크 패킷의 경로 및 지연 시간 추적 (0) | 2026.07.31 |
| tr 사용법 및 옵션 - 문자열 변환 및 삭제 처리 (0) | 2026.07.31 |
| touch 사용법 및 옵션 - 파일 생성 및 파일 시간 정보 변경 (0) | 2026.07.31 |
Comments