【使ったことある?】Linuxの「&」の使い方

linux-and
  • このエントリーをはてなブックマークに追加
  • Pocket

Linuxの「&」はコマンドと共に使うことができる。

コマンドをバックグランドジョブとして使うためのコマンドで、「&&」などとは役割がまったく違っている。

簡単に確認していこう。

Linuxの「&」の使い方

linuxのデフォルトのシェルであるbashはコマンドの最後に「&」をつけると、そのコマンドをバックグランドジョブとして実行してくれる。

Linuxはマルチタスク対応なので、打ちこんで実行しているコマンド以外にもユーザの見えない場所でタスクを実行できるようになっている。

一般的に「いま打ちこんで実行しているコマンド」は「フォアグランドジョブ」、逆にそれ以外「ユーザの見えない場所でタスクつまりお仕事」を「バックグランドジョブ」と表現される。

具体的な書式は「コマンド &」となる。「&&」と混在しそうになるが、全く動作がことなるので注意しよう。基本的にはスクリプトで活用するのではなく、ユーザがコンソールにて使用することがほとんどだろう。

&&の使い方は下記だ。

実際に&を使ってみる

例えばコンソール上でsleepを使用してみよう。

$ sleep 3000 &

sleep

とすればよい。sleepは指定された時間を停止するコマンドだ。

上記を確認するとスリープしているにも関わらず、コマンドプロンプトが返ってくることが確認できるはずだ。

要するにバックグラウンドでsleepを実行している状態になる。(不思議といえば不思議な状態だ)

ジョブを管理するコマンド

バックグランドへジョブを回したのはいいが、ジョブの切り替えの仕方がわからないと操作に困るだろう。「jobs」「bg」「fg」コマンドについても触れておこう。

jobsコマンド

「jobs」コマンドを実行すると現在ユーザが設定したジョブ一覧が表示される

$ jobs

sleep2

fgコマンド

「fg」コマンドは、バックグランドジョブを、フォアグランドジョブに切り替える。jobsで表示された番号を指定すればよい「fg 1」などだ。

$ fg 1

sleep3

bgコマンド

「bg」コマンドは一時停止しているフォアグランドジョブをバックグランドジョブとして再開するコマンドである、なおフォアグランドジョブを一時停止するには「Control+z」を押すとジョブが一時停止する。

sleep4

$ bg 1

sleep5

下記も参考に。

まとめ

このページではLinuxの「&」の使い方についてお伝えした。実際にsleepコマンドを使って試してみていただければ使い方もわかりやすいだろう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*