コマンドプロンプトを勉強せずにコマンドプロンプトで書かれたプログラムを見ると、出てくる<や>の記号の意味がわからずに困ったのでメモしておきます。
目次
コマンドプロンプトにおける>,>>,< の記号の意味
>、>>、< はコマンドプロンプトにおいてリダイレクトをの意味を表す記号になります。
基本中の基本になりますね。
リダイレクトとは
コマンドプロンプトでは、
標準でキーボードが入力先、画面が出力先に設定されていますが、
このコマンド実行の入力先と出力先を切り替えることをリダイレクトというそうです。
リダイレクトを使うことによって、
コマンドの入力としてファイル内容を渡すことができたり、
コマンドの実行結果を画面に出力するのではなくファイルに書き込んだりすることができるようになります。
リダイレクト演算子
リダイレクト演算子が >、>>、< になります。
演算子 > の意味
コマンドを実行しての出力結果をファイルやデバイスに書き込む働きをします。
以下のような書き方をします。
コマンド > ファイル名
例えば echo hello > hello.txt と入力した場合、
hello.txtというファイルを作成して、echo helloの出力結果(hello)をhello.txtに書き込みます。
(あくまで出力されるのはコマンドの実行結果なので、echoは出力に含まれません)
演算子 >>の意味
コマンドを実行しての出力結果をファイルの最後に付け足す働きをします。
以下のような書き方をします。
コマンド >> ファイル名
例えば echo hello > hello.txt と入力したあとに
echo hello >> hello.txt と入力すれば、hello.txtにはhelloが2つ書き込まれます。
これに対して、 echo hello > hello.txt を2回繰り返した場合、
1回目の出力結果は上書きされてしまうことになるので、リダイレクトをするときは注意が必要です。
演算子 < の意味
コマンドに実行させたい内容の入力をファイルやデバイスから読み取る働きをします。
以下のような書き方をします。
コマンド < ファイル名
例えば sort < hello.txt と入力すると、
データを並び替えるコマンド(sort)がhello.txtを読み込んで実行する、hello.txtの内容を並び替えた結果が出力されることになります。
リダイレクト文字の応用の使い方
このような書き方もされます。
コマンド < 入力ファイル名 > 出力ファイル名
左から順に実行されるので、
入力ファイルの内容をコマンドが読み取って、その実行結果を出力ファイルに書き込みます。