

BashをCloud9上で使用していて添付画像のようにcatを入力したら何も反応せずに次の行に進みます。そこでおかしいなと思い-
aを入力しても改行されるだけです。Enterを押したら何も表示されない行ができました。これは何を意味しているのかご教示いただくことはできますか？

[![Bashの画像](https://i.stack.imgur.com/FexDK.png)](https://i.stack.imgur.com/FexDK.png)


CC BY-SA 4.0
2017-07-04T00:39:08.840
36079
2020-07-25T05:59:07.807
2020-07-25T05:59:07.807
3060
24202
question
bash unix shell
Bashで cat を実行した時の挙動について（Linux）


bashではありません。１行目で[`cat`コマンド](https://linuxjm.osdn.jp/html/gnumaniak/man1/cat.1.html)を実行しています。`cat`コマンドは入力された文字をそのまま出力するコマンドです。入力の終端は`Ctrl+D`キーで認識されます。


CC BY-SA 3.0
2017-07-04T00:47:38.317
36080
2017-07-04T00:47:38.317
4236
36079
answer


`cat` がどういうコマンドかと言うと

  * 標準入力から入力された内容を標準出力にそのまま出力する
  * (標準入力の代わりに) 指定されたファイルの内容を (結合して) 標準出力に出力する

今回の動作例では `cat` コマンドをファイル名を指定せずに起動していますので、動作は前者。  
リダイレクトもしていないので標準入力はキーボード、標準出力は画面。  
ということで「キーボードから入力した内容をそのまま画面に出力する」動作をしています。

キーボードから `EOF` を与えるには Linux の場合は `ctrl-D` Windows の場合は `ctrl-Z`  
今回 `ctrl-C` を与えているので通常終了ではなくて強制停止させています。


CC BY-SA 3.0
2017-07-04T00:55:02.513
36081
2017-07-04T00:55:02.513
8589
36079
answer


`cat`コマンドは引数に指定したテキストファイルの内容を連結して出力するコマンドです。  
基本的には1つ以上の既に存在するファイルを引数に指定して実行する事が多いです。

[code]

    $ cat FILE1.txt
    $ cat FILE1.txt FILE2.txt
    
[/code]

実行された例では引数に何もファイルを指定していないので入力待ちの状態になっており  
ユーザ自身がタイプした文字がそのまま画面に表示されています。


CC BY-SA 4.0
2017-07-04T00:57:09.690
36082
2020-07-25T05:58:34.980
2020-07-25T05:58:34.980
3060
3060
36079
answer