我如何才能同时执行多个命令?(操作系统 = sun solaris)

我如何才能同时执行多个命令?(操作系统 = sun solaris)

我如何才能同时执行多个命令?(操作系统 = sun solaris)

答案1

很高兴看到您愿意学习 shell,正如我之前在另一个问题中所建议的那样。:-)

将命令放在后台并让其在后台执行:

yourcommand &

要切换回该进程(如果仅启动了一个后台进程):

fg

列出所有后台进程:

jobs -l

如果您只想运行一个命令,然后运行另一个命令,然后运行另一个命令......

yourcommand && yourothercommand && youryetanothercommand

上述示例仅在前一个命令成功且无错误的情况下才会继续执行下一个命令。如果你不介意前一个命令是否成功,你可以这样做

yourcommand; yourothercommand; youryetanothercommand

此外,命令screen将成为您最好的新朋友。它允许您在自己的“屏幕”中启动一个进程,您可以稍后将其分离并重新连接,因此,例如,您可以从公司的台式计算机连接到服务器,启动屏幕并让长时间运行的命令在那里运行,分离会话,走到公司的笔记本电脑前,用它连接到该服务器,然后重新连接会话并查看同时发生了什么。

无论如何,这些都是我不应该向你解释的基础知识;去阅读教程开始吧!只需谷歌搜索bash 教程,如果你的 shell 是 bash。你似乎正在使用 Solaris,所以你的 shell 可能也是韓軟體,在这种情况下,谷歌搜索csh 教程。它们彼此相似,但也存在一些差异,例如环境变量方面。

答案2

您不是想同时执行两个命令,而是希望在第一条命令的输出上运行第二条命令。SvenW 已经提到了 find 的 -exec 参数,但另一种方法是使用 xargs,它允许您将管道命令的输出用作另一个命令的参数。

假设您想要查找每个名为 foo 的目录,并查看该目录中所有文件的权限:

查找 / -type d -name 'foo' -print0 | xargs -0 ls -la

(如果需要,请参阅 find 和 xargs 的手册页以了解 -print0 和 -0 的使用。)

答案3

请解释一下您想要做什么,因为有很多方法可以做到这一点。

  • 您可以链接命令,例如command1; command2
  • 您可以使用 & 将长时间运行的命令放在后台command &
  • 您可以使用屏幕(强烈推荐man screen)来同时运行多个虚拟控制台,即使在断开连接后也是如此。
  • 你可以编写 shell 脚本
  • 等等等等。

阅读任何 Linux/Unix 初学者指南,其中将会有详细的解释。

此外,这不是一个学习基础知识的初学者论坛。你问的问题类型更适合在姊妹网站上提出超级用户网

相关内容