현재 터미널 이름을 얻는 방법?


17

현재 터미널 이름을 어떻게 가져 옵니까?

psTTY 열에 표시 되는 이름을 의미합니다. 예 :

root@dor-desktop:/home/dor/Documents/LAMP_setup/webs_install/do/install# ps aux | egrep 'mysql|(^USER)'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
dor       2238  0.2  1.9 448052 79796 ?        S    17:27   0:17 gedit /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.install /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.setup
root      4975  0.1  0.5 324984 22876 ?        S    18:12   0:04 gedit /usr/local/mysql/bin/mysqld_safe
root      8160  0.0  0.0   4108   664 pts/2    S    19:08   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-networking --skip-grant-tables --user=mysql --basedir=/usr/local/mysql --ledir=/usr/local/mysql/libexec
mysql     8279  0.0  0.4 146552 19032 pts/2    Sl   19:08   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --skip-networking --skip-grant-tables --log-error=/usr/local/mysql/var/dor-desktop.err --pid-file=/usr/local/mysql/var/dor-desktop.pid --socket=/usr/local/mysql/mysql.sock --port=3306
root      8342  0.0  0.0   7632  1024 pts/2    R+   19:14   0:00 egrep --color=auto mysql|(^USER)

위의 예에서, pts/2아마도 해당 명령을 실행 한 현재 터미널의 이름 인 페치를 가져와야 합니다.


답변:


26
tty

이제 3이 충분했을 때 30자를 입력해야합니다 ... :-)


apropos tty- 너무 (교훈되었을 수 있습니다
tripleee

1
@tripleee 당신이 결과를 얻는 것을 알고 있다면 보통 쉽게 보인다. 그러나 이것은 정말로 어려운 일이었습니다. 나는 125의 담당자 포인트 이상으로 그를 쫓아 내기 위해 그 질문을 찬성해야한다. 그래서 그는 나의 위대한 노력을 위해 가치있는 현상금을 제공 할 수있다.
Hauke ​​Laging

2
당신의 대답은 PTY 또는 TTY의 이름을 어디서 얻었 는지 궁금해했습니다 tty. 나는 strace -o spork tty/ proc 파일에서 readlink를 수행한다는 것을 알았습니다 ./proc을 readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10 사용하여 멋진 일을 할 수 있다는 것이 좋지만 유연한 / proc 파일 시스템없이 이전 Unix는 tty 이름을 얻었습니까?
Bruce Ediger

그 명령이 무엇인지, 명령이 무엇을하고, 다른 명령으로 무엇을 할 수 있는지 설명 할 수 있습니다.
Bobby

@Bobby 모든 답변을 개선 할 수 있습니다. 질문자는 2 분 후에 문제를 해결했습니다. 그렇게 나쁘지 않은 IMHO. 진심으로, 나는 당신이 다른 무엇을 할 수 있는지 전혀 모른다 tty. 그것이하는 것은 정확히 질문에 관한 것입니다. 나는 "그 명령이 무엇인지"와 "이것이 무엇을"하는지의 차이조차 얻지 못한다. 명령은 무엇입니까? 그러나, 나는 아무것도 공감하고 싶지 않습니다. 당신이 명확하게 더 나은 답변을 작성한다면 (내가 막았을 수도 있음) 그에 대해 50 회 현상금을 줄 것입니다 (즉, 이틀 안에 가능하다면).
Hauke ​​Laging

3

Re : "그 명령이 무엇인지, 무엇을하는지, 명령으로 무엇을 할 수 있는지에 대해 간단히 설명 할 수 있습니다. 더 나은 답변이 될 것입니다. – Bobby"

현재 터미널의 유닉스 이름 (혹은 우리가 이전에 사용했던 콘솔이 때때로 호출하기 위해 사용하는 콘솔)은 다음과 같습니다. / dev / tty는 명령 프롬프트에서 새로운 여러 줄 파일을 쉽게 만들 수 있습니다. cp / dev / tty README.md (그러면 텍스트를 입력하고 다시 입력하고 두 번째 줄을 입력 할 수있는 새로운 빈 줄에 커서를 놓습니다. 줄 입력을 마치면 control-d를 수행하면 cp 명령이 종료됩니다. 그리고 당신은 단일 명령으로 여러 줄 파일을 만들 것입니다).


"이름"tty는 TeleType (원래 터미널 장치)에서 파생되며 / dev 디렉토리에있는 이유도 설명합니다.
user120016 2016 년

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.