如何获取当前终端名称?

Dor*_*Dor 22 bash terminal

如何获取当前终端名称?

我的意思ps是在 TTY 列中显示的名称,例如:

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)
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我需要获取pts/2可能是执行这些命令的当前终端的名称。

Hau*_*ing 34

tty
Run Code Online (Sandbox Code Playgroud)

现在我必须输入 30 个字符,其中 3 个就足够了... :-)

  • @tripleee 如果您知道结果通常看起来很容易。但这真的很难。我应该支持这个问题,以便将他踢到 125 代表点边界之上,这样他就可以为我的巨大努力提供应得的赏金...... (2认同)
  • 你的回答让我想知道*哪里* `tty` 获得 PTY 或 TTY 的名称。我运行了 `strace -o spork tty` 发现它在 /proc 文件上做了一个读取链接:`readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095 ) = 10` /proc 可以用来做这些漂亮的事情真是太好了,但是早期的 Unix 没有灵活的 /proc 文件系统,如何获得 tty 名称? (2认同)