bash

シェルスクリプト

【Linux】rsyncコマンド使い方

rsyncコマンドとは scpコマンドの上位互換で、サーバー間でファイルの転送をするときに良く利用されるコマンド。 scpより優れている点は「差分を確認し、差分があったファイルだけを更新する」ところ。 基本構文 $ rsync オプション ...
シェルスクリプト

curlでファイルをダウンロードする

curlコマンドを使ってWeb上にあるデータをダウンロードし、名前をつけて保存する方法を解説する。 結論 以下のコマンドでOK。 ファイル名を指定する場合 # 構文 curl -L "ダウンロードしたいURL" -o ファイル名 # 例 c...
シェルスクリプト

ダブルクォートがエスケープされたjsonを整形する

やりたいこと ■Before bbb.json "{\"name\":\"hoge\",\"age\":12}" ■After { "name": "hoge", "age": 12 } 結論 $ cat bbb.json | jq -r ...
ターミナル操作

【Linux】ファイルの中身をクリアする(ログファイルなど)

やりたいこと ログファイルなどのログを追いやすくするため、ログファイルそのものを削除するのではなく、中身を空っぽにしたい。 今回は例としてnginxのログファイルである/var/log/nginx/access.logで説明する。 結論 以...
シェルスクリプト

【Linux】sshログアウトしてもコマンドをバックグラウンドで実行する

長時間のバッチ実行をリモートのサーバーで実行し、放置しておきたい場合の手順を解説する。 sshログアウトするとプロセスがkillされてしまう &を利用して単純にバックグラウンドで実行するだけの場合、sshログアウトするとそのプロセスはkil...
シェルスクリプト

【Linux】作成するファイル名に日付を入れる

ログファイルやAPIのリクエスト結果をファイルに保存しておく時、上書きしないように毎回ファイル名を変更するのは大変だ。 そのため、保存するファイル名に日付や時刻を入れておくようにすると、同じコマンドでも実行した時間によって別のファイルに保存...
シェルスクリプト

【Linux】改行コード\nを改行として表示する

ログファイルなどを調査しているとき、フォーマットによっては下記のように改行コード\nがそのまま埋め込まれているものに遭遇する。 こんな時はワンライナーコマンドで見やすくしよう。 対象のファイル 今回は、以下のような内容が書かれているファイル...
ターミナル操作

【Linux】パスを通すとは

環境構築とかで「パスを通す」といった用語がサラッと出てくるが、一体どういう理屈で何をすることなのかを解説する。 前提知識 「パスを通す」を理解するためには、Linuxコマンドがどのように実行されるかの前提知識が必要。 標準コマンドのデータは...
シェルスクリプト

【Linux】改行コードの確認を行うコマンド

エンジニアをやっていると、様々なログファイルや成果ファイルたちに出会う。 拡張子も違えば、改行コードにも個性がある。 普段使わないような改行コードに出会ったときにあわてふためかないための備忘録。 改行コードの種類 まずは改行コードの種類を知...