らくがきちょう

なんとなく

Linux の cat コマンドでファイルを新規作成 / 追記する

Linuxスクリプト中から非対話的にファイルの新規作成や追記を行いたい場合、cat コマンドで実現することが可能です。

ファイルを新規作成したい場合

cat を使ったファイルの新規作成は以下のように実行します。

cat << EOF > FILE
BODY
EOF

例えば以下のように実行します。 この場合、/root/new-text.txt というファイルが新規作成されます。 何度実行してもファイルの内容は同じです(=追記されるわけでは無く、常に同じ内容で新規作成されます)。

cat << EOF > /root/new-text.txt
Hello, World!
EOF

ファイルに追記したい場合

既に存在するファイルに追記する場合は以下のように実行します。 ファイルが存在しない場合は新規作成されます。 複数回実行すると、実行する度に内容が追記されていきます。

cat << EOF >> FILE
BODY
EOF

例えば /root/add-text.txt が存在しない状態から以下を三回、実行します。

cat << EOF >> /root/add-text.txt
Hello, World!
EOF

初回実行でファイルが新規作成され、二回目、三回目と実行する度に内容が追記されます。 三回目の実行が完了した後に内容を確認すると以下のようになっているはずです。

# cat /root/add-text.txt
Hello, World!
Hello, World!
Hello, World!