我不知道如何最好地描述这一点,但我正在寻找一种方法来将一个终端上发生的所有事情捕获到文件中。
例如,我的终端屏幕上有这个:
yes@yes:/dev/pts$ echo "asdfasdf"
asdfasdf
yes@yes:/dev/pts$ sadsad
sadsad: command not found
yes@yes:/dev/pts$ tail /etc/passwd
lxd:x:105:65534::/var/lib/lxd/:/bin/false
uuidd:x:106:110::/run/uuidd:/usr/sbin/nologin
dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
yes:x:1000:1000:,,,:/home/yes:/bin/bash
rtkit:x:111:115:RealtimeKit,,,:/proc:/usr/sbin/nologin
usbmux:x:112:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
pulse:x:113:116:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin
yes@yes:/dev/pts$ testing terminal yohoho
testing: command not found
yes@yes:/dev/pts$
我希望将其原样导出到文件中(此处包含所有信息,包括我运行的命令和终端的输出)。
我尝试过一些非常幼稚的方法,但显然失败了,那就是从另一个终端运行它:
cat /dev/pts/0 > ~/testfile
我想知道如何执行此操作的原因是因为我经常需要在没有可用 ftp 的远程计算机上处理非常大的文件,因此能够在终端上“cat”文件,并获得终端自动导出到我机器上的文件上将非常有用。
答案1
使用script
命令,如下所示:
script filename.txt
您在终端中输入的任何内容或终端上显示的任何内容都将存储在filename.txt
.
要停止该进程,请CtrlD在您启动的终端中按script
。