首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >终端Ctrl+s与Ctrl+z

终端Ctrl+s与Ctrl+z
EN

Unix & Linux用户
提问于 2018-03-29 21:23:33
回答 1查看 1.1K关注 0票数 3

例如,我有一个长时间运行且冗长的tar cvf /backup/backup.tar命令,它将大量文本输出到屏幕*。我不一定希望看到所有的输出在任何时候。我想停止文本输出,做其他事情,然后回到它,“恢复”,看看它在备份过程中有多远。我希望它表现得像

代码语言:javascript
复制
/files/big_file_1
/files/big_file_2
/files/big_file_3
# Ctrl+s
# Do other stuff
# Ctrl+q , notice big jump in progress
/home/user/.bash_history
/home/user/small_file_1
/home/user/small_file_2
/home/user/small_file_3
...

Ctrl+s停止到屏幕的输出( Ctrl+q恢复到屏幕的输出),而Ctrl+z挂起进程,我返回到PS1提示符。我的问题是,Ctrl+s是否使命令继续运行?

在前面提到的tar命令中,我将突出显示最后一个文件TARred让它停留几分钟,Ctrl+q,下一个文件似乎位于相同的dir中,或者至少在一个相对接近的目录中。

*我在Windows上使用Putty,所以如果行为与Linux/Unix上的标准终端不同,我很抱歉。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-29 21:32:24

我的问题是,Ctrl+s是否使命令继续运行?

是的,直到系统缓冲区填满为止,进程开始阻塞,以便能够写入终端。所以,它不会无限期地运行。此外,由于输出被阻塞,您将无法在同一个终端上运行其他任何东西。

若要在保持返回的可能性的同时从程序中切换,选择如下:

  • 在侧运行另一个终端(另一个Putty,另一个SSH连接)
  • 运行screentmux以在同一终端内复用多个“窗口”
  • 将输出重定向到文件,在后台运行命令,然后在需要时查看文件:tar cvf ... > /tmp/tar.out &tail /tmp/tar.out
票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/434384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档