どうすれば複数のコマンドを同時に実行できますか? (OS = sun solaris)

どうすれば複数のコマンドを同時に実行できますか? (OS = sun solaris)

どうすれば複数のコマンドを同時に実行できますか? (OS = sun solaris)

答え1

以前別の質問で提案したように、シェルを学習する意欲があることを嬉しく思います。 :-)

コマンドをバックグラウンドに置いてそこで実行するには:

yourcommand &

そのプロセスに戻すには(バックグラウンド プロセスが 1 つだけ開始されている場合):

fg

バックグラウンドで実行されているすべてのプロセスを一覧表示するには:

jobs -l

単にコマンドを 1 つ実行し、次に別のコマンドを実行し、さらに別のコマンドを実行したいだけの場合...

yourcommand && yourothercommand && youryetanothercommand

上記の例では、前のコマンドがエラーなく成功した場合にのみ次のコマンドに進みます。前のコマンドが成功したかどうかは気にしない場合は、次のようにします。

yourcommand; yourothercommand; youryetanothercommand

また、コマンドはscreenあなたの新しい親友になるでしょう。コマンドを使用すると、独自の「画面」でプロセスを開始でき、後でデタッチして再アタッチすることができます。そのため、たとえば、会社のデスクトップ コンピューターからサーバーに接続し、画面を開始して長時間実行されるコマンドをそこで実行し、セッションをデタッチし、会社のラップトップまで歩いて行き、それを使ってそのサーバーに接続し、セッションを再アタッチして、その間に何が起こったかを確認することができます。

とにかく、これは私があなたに説明すべき基本的なことではない。まずはチュートリアルを読んで始めよう!Googleで検索してbash チュートリアルシェルがbashの場合。Solarisを使っているようなので、シェルはシェルその場合はグーグルで検索csh チュートリアルこれらは互いに似ていますが、環境変数などいくつかの違いがあります。

答え2

一度に 2 つのコマンドを実行しようとしているのではなく、最初のコマンドの出力に対して 2 番目のコマンドを実行したいのです。SvenW は find の -exec 引数についてすでに言及していますが、別の方法としては xargs を使用することです。これにより、パイプされたコマンドの出力を別のコマンドの引数として使用できます。

foo という名前のすべてのディレクトリを検索し、そのディレクトリ内のすべてのファイルの権限を確認したいとします。

検索 / -type d -name 'foo' -print0 | xargs -0 ls -la

(必要に応じて、-print0 および -0 の使用については、find および xargs のマニュアル ページを参照してください。)

答え3

これを行うにはさまざまな方法があるため、何をしたいのか説明してください。

  • 次のようなコマンドを連鎖させることができますcommand1; command2
  • & のように長時間実行されるコマンドをバックグラウンドで実行できます。command &
  • screen (強く推奨man screen) を使用すると、切断した後でも複数の仮想コンソールを同時に実行できます。
  • シェルスクリプトを書くことができます
  • などなど。

Linux/Unix 初心者向けガイドを読んでみてください。この点は詳しく説明されています。

また、これは基礎を学ぶ初心者向けのフォーラムではありません。あなたが尋ねる質問の種類は、姉妹サイトの方が適しています。スーパーユーザー

関連情報