「UNIX/ヒストリ・バックグラウンド」の編集履歴(バックアップ)一覧はこちら
「UNIX/ヒストリ・バックグラウンド」(2011/03/08 (火) 22:56:32) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&topicpath()
#contents
----
*■コマンドヒストリ(history) と 再実行(! !! ^^)
**コマンド
|BGCOLOR(#0AA):CENTER:コマンド|BGCOLOR(#0AA):CENTER:動作|
| history |実行したコマンドのヒストリを表示|
| history &italic(){n} |直近のコマンドヒストリ&italic(){n}個を表示|
| !! |直前に実行したコマンドを実行|
| !&italic(){x} |ヒストリの中で、コマンドの先頭からの文字列が&italic(){x}に一致するコマンドを実行|
| !&italic(){n} |ヒストリ番号のコマンドを再実行|
| ^&italic(){x}^&italic(){y} |直前に実行したコマンドの&italic(){x}を&italic(){y}に変えて実行|
**実行例
#region(close)実行例
実行したコマンドヒストリを表示( &bold(){history} )
$ history
1 ./a.out
2 echo `./a.out` > a.txt
3 cat a.txt
4 ls -l `./a.out`
5 arg=`a.out`
6 echo $arg
7 arg=`./a.out`
8 echo $arg
9 history
最後に実行したコマンドn個を表示( &bold(){history n} )
$ history 3
8 echo $arg
9 history
10 history 3
直前に実行したコマンドを実行( &bold(){!!} )
$ !!
history 3
9 history
10 history 3
11 history 3
ヒストリの中で先頭からの文字が一致するコマンドを実行( &bold(){!x} )
$ !e
echo $arg
Hello,World
ヒストリ番号のコマンドを再実行( &bold(){!n} )
$ !11
history 3
11 history 3
12 echo $arg
13 history 3
直前のコマンドの一部を書き換える ( &bold(){^x^y} )
$ ^3^5
history 5 ←直前のコマンド"history 3"の3を5に置き換えた
9 history
10 history 3
11 history 3
12 echo $arg
13 history 3
#endregion
*■バックグラウンド実行(&)
**コマンド
|BGCOLOR(#0AA):CENTER:コマンド|BGCOLOR(#0AA):CENTER:動作|
| &italic(){command} & |バックグラウンド実行|
| jobs | jobを表示 |
| fg &italic(){%n} |[&italic(){n}]のjobをフォアグラウンドへ |
| bg &italic(){%n} |[&italic(){n}]のjobをバックグラウンドへ |
| Ctrl+Z |フォアグラウンドでjobをサスペンド|
| [[kill>pskill]] &italic(){%n} |[&italic(){n}]のjobにシグナルを送る。&brjobの停止に使う&br()デフォルトはSIGTERM |
**実行例
#region(close)実行例
command01.exeを実行
$ ./command01.exe &
[1] 2558
01を02に入れ替える=command02.exeを実行(※今回の場合は^1^2でも可)
$ ^01^02
./command02.exe &
[2] 2559
02を03に入れ替える=command03.exeを実行(※今回の場合は^2^3でも可)
$ ^02^03
./command03.exe &
[3] 2560
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]- Running ./command02.exe &
[3]+ Running ./command03.exe &
3つとも↑Runningになっている
[2]のプロセス=command02.exeをフォアグランドに( &bold(){fg %n} )
$ fg %2
./command02.exe
フォアグラウンドのjobをサスペンドする( &bold(){Ctrl+Z} )
[2]+ Stopped ./command02.exe
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]+ Stopped ./command02.exe
[3]- Running ./command03.exe &
2つ目が↑Stoppedになっている
[2]のプロセス=command02.exeをバックグラウンドに( &bold(){bg %n} )
$ bg %2
[2]+ ./command02.exe &
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]- Running ./command02.exe &
[3]+ Running ./command03.exe &
3つとも↑Runningになっている
jobを停止する( &bold(){kill %n} )
$ kill %1
[1] Terminated ./command01.exe
$ kill %2
[2]- Terminated ./command02.exe
$ kill %3
[3]+ Terminated ./command03.exe
#endregion
----
&topicpath()
----
&topicpath()
#contents
----
*■コマンドヒストリ(history) と 再実行(! !! ^^)
**コマンド
|BGCOLOR(#0AA):CENTER:コマンド|BGCOLOR(#0AA):CENTER:動作|
| history |実行したコマンドのヒストリを表示|
| history &italic(){n} |直近のコマンドヒストリ&italic(){n}個を表示|
| !! |直前に実行したコマンドを実行|
| !&italic(){x} |ヒストリの中で、コマンドの先頭からの文字列が&italic(){x}に一致するコマンドを実行|
| !&italic(){n} |ヒストリ番号のコマンドを再実行|
| ^&italic(){x}^&italic(){y} |直前に実行したコマンドの&italic(){x}を&italic(){y}に変えて実行|
**実行例
#region(close)実行例
実行したコマンドヒストリを表示( &bold(){history} )
$ history
1 ./a.out
2 echo `./a.out` > a.txt
3 cat a.txt
4 ls -l `./a.out`
5 arg=`a.out`
6 echo $arg
7 arg=`./a.out`
8 echo $arg
9 history
最後に実行したコマンドn個を表示( &bold(){history n} )
$ history 3
8 echo $arg
9 history
10 history 3
直前に実行したコマンドを実行( &bold(){!!} )
$ !!
history 3
9 history
10 history 3
11 history 3
ヒストリの中で先頭からの文字が一致するコマンドを実行( &bold(){!x} )
$ !e
echo $arg
Hello,World
ヒストリ番号のコマンドを再実行( &bold(){!n} )
$ !11
history 3
11 history 3
12 echo $arg
13 history 3
直前のコマンドの一部を書き換える ( &bold(){^x^y} )
$ ^3^5
history 5 ←直前のコマンド"history 3"の3を5に置き換えた
9 history
10 history 3
11 history 3
12 echo $arg
13 history 3
#endregion
*■バックグラウンド実行(&)
**コマンド
|BGCOLOR(#0AA):CENTER:コマンド|BGCOLOR(#0AA):CENTER:動作|
| &italic(){command} & |バックグラウンド実行|
| jobs | jobを表示 |
| fg &italic(){%n} |[&italic(){n}]のjobをフォアグラウンドへ |
| bg &italic(){%n} |[&italic(){n}]のjobをバックグラウンドへ |
| Ctrl+Z |フォアグラウンドでjobをサスペンド|
| [[kill>pskill]] &italic(){%n} |[&italic(){n}]のjobにシグナルを送る。&brjobの停止に使う&br()デフォルトはSIGTERM |
**実行例
#region(close)実行例
command01.exeを実行
$ ./command01.exe &
[1] 2558
01を02に入れ替える=command02.exeを実行(※今回の場合は^1^2でも可)
$ ^01^02
./command02.exe &
[2] 2559
02を03に入れ替える=command03.exeを実行(※今回の場合は^2^3でも可)
$ ^02^03
./command03.exe &
[3] 2560
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]- Running ./command02.exe &
[3]+ Running ./command03.exe &
3つとも↑Runningになっている
[2]のプロセス=command02.exeをフォアグランドに( &bold(){fg %n} )
$ fg %2
./command02.exe
フォアグラウンドのjobをサスペンドする( &bold(){Ctrl+Z} )
[2]+ Stopped ./command02.exe
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]+ Stopped ./command02.exe
[3]- Running ./command03.exe &
2つ目が↑Stoppedになっている
[2]のプロセス=command02.exeをバックグラウンドに( &bold(){bg %n} )
$ bg %2
[2]+ ./command02.exe &
jobを表示( &bold(){jobs} )
$ jobs
[1] Running ./command01.exe &
[2]- Running ./command02.exe &
[3]+ Running ./command03.exe &
3つとも↑Runningになっている
jobを停止する( &bold(){kill %n} )
$ kill %1
[1] Terminated ./command01.exe
$ kill %2
[2]- Terminated ./command02.exe
$ kill %3
[3]+ Terminated ./command03.exe
#endregion
----
&topicpath()
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: