Answers:
经过快速研究(和一些思考),我可以为您提供以下可能的选择列表:
conspy
。screen
。如果您只是想帮助而不是监视她,则她可能愿意在屏幕上运行她的会话。然后,您可以通过以下方式附加到她的会话中sudo -u herUsername screen -x
cat /dev/pts/X | tee /dev/pts/X
是我想到的第一件事。但是尝试之后并不能真正起作用,这是一个非常肮脏的解决方案。每个字符仅打印到连接的终端之一(这也是调用的原因tee
)。尝试时,我可以监视每隔一个字符。稍加想象,您就可以猜到她在做什么……要共享Unix屏幕终端,以便您可以实时查看同事的输入和输出,请使用Unix screen
命令。
您输入命令
screen -d -m -S myscreenname
screen -x myscreenname
(当然,将myscreenname替换为您想要的屏幕名称)。
同事键入命令
screen -x myscreenname
要完成共享Unix终端的操作,任何人都可以键入以下命令
exit
屏幕的主要功能是您可以从Unix终端输入命令,而同事可以在屏幕上看到输出。这是进行配对管理和指导初级Unix管理员的绝佳方法。
要完成@jordanm的回答...如果您都使用相同的用户帐户,即来自
echo $HOSTNAME
echo $USER
对于您和您的同事来说都是一样的,那么我们可以从中获得一些乐趣。
我们可以在一个终端中查看被调用的命令,以便立即在另一个终端中可用
如果history
在终端中调用,则会看到以前的命令。默认情况下,bash在每个会话结束时将其历史记录写入~/.bash_history file
,从而用更新的版本覆盖现有文件。这意味着,如果您使用多个bash会话登录,则只有最后一个退出会话将保存其历史记录。
-------------------------------------------------- -----
编辑您的内容~/.bashrc
并添加到其中
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
哪里
history -a
~/.bash_history
立即添加到文件,而不是在会话结束时
history -c
清除当前会话历史记录
history -r
读取~/.bash_history
我们附加到的文件,回到会话历史记录中
注意: 该PROMPT_COMMAND
参数包含在每个新命令提示符之前执行的命令。因此,仅当执行command2时,command1才会保存到历史记录中
在查看历史记录时,您可能还希望在每个命令旁边加上一个时间戳。再次,编辑您的~/.bashrc
并追加
export HISTTIMEFORMAT="%d/%m/%y %T "
如果您想使用多个终端并且想要使用命令历史记录,这也是一个不错的技巧:)
kill
,并且cd
不会产生子进程,并且永远不会出现在ps输出中。